创建一个新的Android工程,创建界面如图所示,完成内部存储的读写功能。在MainActivity中单击“保存数据到文件”按钮,将班级+姓名+学号保存至“data.txt”文件中,单击“从文件中读取数据”按钮,则读取存储数据的“data.txt”,将其中的内容显示在界面中
时间: 2024-05-14 13:17:15 浏览: 75
好的,我会尽力回答你关于 Android 工程的问题。首先,我需要确认一下您是否已经具备了 Android 开发的基础知识,比如说熟悉 Android 的开发环境、掌握 Android 的布局方式、熟悉 Android 的 Activity 生命周期、了解 Android 的文件读写操作等等。如果您已经具备了这些知识,那么接下来我可以为您提供一些具体的实现思路:
1. 在 Android Studio 中创建一个新的工程,并在 MainActivity 的布局文件中添加两个按钮和一个文本框,用于显示读取的数据。布局文件如下:
```xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入班级 姓名 学号"/>
<Button
android:id="@+id/saveButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="保存数据到文件"/>
<Button
android:id="@+id/readButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="从文件中读取数据"/>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=""/>
</LinearLayout>
```
2. 在 MainActivity 中获取文本框和按钮,并为按钮设置点击事件。点击“保存数据到文件”按钮时,将文本框中的内容写入到文件中;点击“从文件中读取数据”按钮时,读取文件中的数据并显示在文本框中。代码如下:
```java
public class MainActivity extends AppCompatActivity {
private EditText editText;
private Button saveButton;
private Button readButton;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取控件
editText = findViewById(R.id.editText);
saveButton = findViewById(R.id.saveButton);
readButton = findViewById(R.id.readButton);
textView = findViewById(R.id.textView);
// 设置点击事件
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
saveDataToFile();
}
});
readButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
readDataFromFile();
}
});
}
// 保存数据到文件
private void saveDataToFile() {
String data = editText.getText().toString();
try {
FileOutputStream fos = openFileOutput("data.txt", MODE_PRIVATE);
fos.write(data.getBytes());
fos.close();
Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
// 从文件中读取数据
private void readDataFromFile() {
try {
FileInputStream fis = openFileInput("data.txt");
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
String data = new String(buffer);
textView.setText(data);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
需要注意的是,Android 的文件读写操作需要申请文件读写权限。在 AndroidManifest.xml 文件中添加以下代码:
```xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
```
另外,上述代码中的文件读写操作是在应用的内部存储中进行的,文件保存在 /data/data/包名/files/ 目录下。如果需要将文件保存在外部存储中,需要申请外部存储读写权限,并使用 Environment.getExternalStorageDirectory() 方法获取外部存储的路径。
阅读全文