用Android studio做一个备忘录
时间: 2023-09-14 07:09:11 浏览: 56
好的,以下是步骤:
1. 打开 Android Studio,创建一个新项目。
2. 在项目结构中,右键点击 app 文件夹,选择 New -> Activity -> Empty Activity,命名为 “MainActivity”。
3. 在 activity_main.xml 文件中,添加一个 RecyclerView 和一个 FloatingActionButton。
4. 创建一个新的 Java 类,命名为 “NoteModel”,用于存储备忘录的数据。
5. 创建一个新的 Java 类,命名为 “NoteAdapter”,用于显示备忘录列表。
6. 在 MainActivity 类中,初始化 RecyclerView 和 FloatingActionButton,并设置点击事件。
7. 创建一个新的 Java 类,命名为 “AddNoteActivity”,用于添加新的备忘录。
8. 在 AddNoteActivity 类中,添加一个 EditText 和一个 Button,用于输入新的备忘录内容和保存备忘录。
9. 在 MainActivity 类中,实现 RecyclerView 和 FloatingActionButton 的逻辑,包括显示备忘录列表、删除备忘录、添加备忘录等功能。
以上是大致步骤,具体实现可以参考以下代码示例:
NoteModel.java
```java
public class NoteModel {
private String content;
public NoteModel(String content) {
this.content = content;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
```
NoteAdapter.java
```java
public class NoteAdapter extends RecyclerView.Adapter<NoteAdapter.ViewHolder> {
private List<NoteModel> notes;
private OnItemClickListener listener;
public interface OnItemClickListener {
void onItemClick(int position);
}
public NoteAdapter(List<NoteModel> notes, OnItemClickListener listener) {
this.notes = notes;
this.listener = listener;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_note, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
NoteModel note = notes.get(position);
holder.content.setText(note.getContent());
holder.itemView.setOnClickListener(v -> listener.onItemClick(position));
}
@Override
public int getItemCount() {
return notes.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView content;
public ViewHolder(@NonNull View itemView) {
super(itemView);
content = itemView.findViewById(R.id.note_content);
}
}
}
```
MainActivity.java
```java
public class MainActivity extends AppCompatActivity {
private List<NoteModel> notes = new ArrayList<>();
private NoteAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView recyclerView = findViewById(R.id.recycler_view);
FloatingActionButton addButton = findViewById(R.id.add_button);
// 初始化 RecyclerView
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
adapter = new NoteAdapter(notes, position -> {
// 删除备忘录
notes.remove(position);
adapter.notifyItemRemoved(position);
});
recyclerView.setAdapter(adapter);
// 点击添加按钮
addButton.setOnClickListener(v -> {
Intent intent = new Intent(MainActivity.this, AddNoteActivity.class);
startActivityForResult(intent, 1);
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
// 添加新的备忘录
String content = data.getStringExtra("content");
NoteModel note = new NoteModel(content);
notes.add(note);
adapter.notifyItemInserted(notes.size() - 1);
}
}
}
```
AddNoteActivity.java
```java
public class AddNoteActivity extends AppCompatActivity {
private EditText contentEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_note);
contentEditText = findViewById(R.id.content_edit_text);
// 点击保存按钮
Button saveButton = findViewById(R.id.save_button);
saveButton.setOnClickListener(v -> {
String content = contentEditText.getText().toString();
Intent intent = new Intent();
intent.putExtra("content", content);
setResult(RESULT_OK, intent);
finish();
});
}
}
```
其中,item_note.xml、activity_main.xml 和 activity_add_note.xml 分别是备忘录列表项、主界面和添加界面的布局文件。