android记事本java
时间: 2023-10-03 16:05:45 浏览: 96
实现一个简单的 Android 记事本需要以下步骤:
1. 创建一个基本的 Android 应用程序项目。
2. 设计应用程序的用户界面。
3. 实现用户界面的交互逻辑。
4. 实现文件读写功能。
以下是一个简单的 Android 记事本的代码示例:
1. 创建一个基本的 Android 应用程序项目
在 Android Studio 中,选择 File -> New -> New Project,然后选择 Empty Activity,填写应用程序名称和项目位置,点击 Finish。
2. 设计应用程序的用户界面
在 activity_main.xml 文件中,添加一个 TextView 和一个 EditText 作为用户界面。TextView 显示文件名,EditText 显示文件内容。
```xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/filename"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="File Name"
android:textSize="20sp" />
<EditText
android:id="@+id/filecontent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/filename"
android:gravity="top"
android:inputType="textMultiLine"
android:maxLines="10000"
android:scrollbars="vertical" />
</RelativeLayout>
```
3. 实现用户界面的交互逻辑
在 MainActivity.java 文件中,添加以下代码实现用户界面的交互逻辑。
```java
public class MainActivity extends AppCompatActivity {
private EditText mFileContent;
private TextView mFileName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFileContent = findViewById(R.id.filecontent);
mFileName = findViewById(R.id.filename);
// 读取文件
String filename = "note.txt";
String filecontent = readFile(filename);
mFileName.setText(filename);
mFileContent.setText(filecontent);
// 保存文件
mFileContent.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String filename = mFileName.getText().toString();
String filecontent = mFileContent.getText().toString();
writeFile(filename, filecontent);
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
private String readFile(String filename) {
StringBuilder sb = new StringBuilder();
try {
FileInputStream fis = openFileInput(filename);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
private void writeFile(String filename, String filecontent) {
try {
FileOutputStream fos = openFileOutput(filename, MODE_PRIVATE);
fos.write(filecontent.getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
4. 实现文件读写功能
在 AndroidManifest.xml 文件中添加以下代码声明文件读写权限。
```xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
在 MainActivity.java 文件中添加以下代码实现文件读写功能。
```java
private String readFile(String filename) {
StringBuilder sb = new StringBuilder();
try {
FileInputStream fis = openFileInput(filename);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
private void writeFile(String filename, String filecontent) {
try {
FileOutputStream fos = openFileOutput(filename, MODE_PRIVATE);
fos.write(filecontent.getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
```
以上就是一个简单的 Android 记事本的实现方法。
阅读全文