XML代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textMultiLine"/>
<Button
android:id="@+id/save_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="保存"/>
<Button
android:id="@+id/load_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="加载"/>
</LinearLayout>
MainActivity.java
代码:
import android.content.Context;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class MainActivity extends AppCompatActivity {
private EditText editText;
private Button saveButton;
private Button loadButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
saveButton = findViewById(R.id.save_button);
loadButton = findViewById(R.id.load_button);
saveButton.setOnClickListener(v -> saveData());
loadButton.setOnClickListener(v -> loadData());
}
private void saveData() {
String textToSave = editText.getText().toString();
if (!textToSave.isEmpty()) {
try {
FileOutputStream outputStream = openFileOutput("data.txt", Context.MODE_PRIVATE);
outputStream.write(textToSave.getBytes());
outputStream.close();
Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
} else {
Toast.makeText(MainActivity.this, "请输入文本", Toast.LENGTH_SHORT).show();
}
}
private void loadData() {
try {
File file = new File(getFilesDir(), "data.txt");
FileInputStream inputStream = new FileInputStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
reader.close();
editText.setText(stringBuilder.toString());
Toast.makeText(MainActivity.this, "加载成功", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这个示例应该能帮助你在Android Studio中创建一个基本的记事本应用程序。如果你想扩展这个示例,添加其他功能,例如文本格式切换、字体大小调整、分享到其他应用程序等都可以在这个示例的基础上继续扩展。