用Android studio编写记事本并且显示详细代码
时间: 2023-12-10 15:38:14 浏览: 97
好的,以下是一个简单的记事本应用程序的代码,包括布局文件和Java代码。
activity_main.xml 布局文件:
```xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Type here..." />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</ScrollView>
</LinearLayout>
```
MainActivity.java 文件:
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
private EditText editText;
private TextView textView;
private String fileName = "note.txt";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
textView = findViewById(R.id.textView);
readFile();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_save) {
writeFile();
return true;
}
return super.onOptionsItemSelected(item);
}
private void readFile() {
File file = new File(getFilesDir(), fileName);
if (file.exists()) {
try {
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line).append("\n");
}
bufferedReader.close();
textView.setText(stringBuilder.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
private void writeFile() {
try {
FileWriter fileWriter = new FileWriter(new File(getFilesDir(), fileName));
fileWriter.write(editText.getText().toString());
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
menu_main.xml 菜单文件:
```xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_save"
android:title="Save"
android:orderInCategory="100"
android:showAsAction="ifRoom" />
</menu>
```
这个应用程序包括一个文本编辑区域(EditText)和一个滚动的文本视图(TextView),用于显示保存的笔记。在菜单中有一个保存选项,当用户点击它时,它会将编辑区域中的文本保存到一个名为“note.txt”的文件中。当应用程序启动时,它会尝试从该文件中读取文本并将其显示在文本视图中。
阅读全文