请用Android studio语言帮我写一个记事本
时间: 2024-02-18 15:05:41 浏览: 96
好的,以下是一个简单的记事本应用的Android Studio代码:
首先,你需要创建一个新的Android Studio项目,然后在XML文件夹中创建一个名为“activity_main.xml”的布局文件,用于显示记事本的UI界面。在该布局文件中,你可以添加一些TextView、EditText和Button控件。
接着,你需要在Java文件夹中创建一个名为“MainActivity.java”的活动,作为主要的应用程序逻辑。在这个文件中,你需要编写代码来响应用户的操作,例如:创建新的笔记、保存笔记、加载现有笔记等等。
下面是示例代码:
activity_main.xml:
```xml
<RelativeLayout 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"
tools:context=".MainActivity">
<EditText
android:id="@+id/note_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:hint="Enter your note here" />
<Button
android:id="@+id/save_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/note_text"
android:layout_alignParentRight="true"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
android:text="Save" />
</RelativeLayout>
```
MainActivity.java:
```java
import android.os.Bundle;
import android.view.View;
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.InputStreamReader;
public class MainActivity extends AppCompatActivity {
EditText noteText;
Button saveButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取UI控件
noteText = findViewById(R.id.note_text);
saveButton = findViewById(R.id.save_button);
// 设置保存按钮的点击事件
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
saveNote();
}
});
// 加载现有笔记(如果有的话)
loadNote();
}
private void saveNote() {
try {
// 打开文件输出流
FileOutputStream fileOut = openFileOutput("note.txt", MODE_PRIVATE);
// 将文本框内容写入文件
fileOut.write(noteText.getText().toString().getBytes());
// 关闭文件输出流
fileOut.close();
// 提示保存成功
Toast.makeText(this, "Note saved successfully", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
// 提示保存失败
Toast.makeText(this, "Error saving note", Toast.LENGTH_SHORT).show();
}
}
private void loadNote() {
try {
// 打开文件输入流
FileInputStream fileIn = openFileInput("note.txt");
// 创建一个缓冲读入器
BufferedReader reader = new BufferedReader(new InputStreamReader(fileIn));
// 读取文件内容为字符串
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
// 关闭文件输入流
fileIn.close();
// 将读取的文本显示在文本框中
noteText.setText(sb.toString());
} catch (Exception e) {
// 如果没有找到文件,就不做任何事情
}
}
}
```
上述代码实现了一个简单的记事本应用。用户可以在文本框中输入笔记,并通过点击保存按钮将笔记保存到本地文件中。应用程序还会在启动时自动加载现有的笔记(如果有的话)。
阅读全文