写一个Android日记本
时间: 2023-11-10 09:01:01 浏览: 28
好的,下面是一个简单的Android日记本的实现:
1. 创建一个新的Android项目,然后在布局文件中添加一个EditText和一个Button,用于输入日记内容和保存日记。
2. 在Java代码中,定义一个类来表示一个日记项,包含日期和内容两个字段。
3. 创建一个适配器类,用于将日记项显示在ListView中。
4. 在主Activity中,创建一个ArrayList来存储所有的日记项,并使用适配器将其显示在ListView中。
5. 当用户点击保存按钮时,将新的日记项添加到ArrayList中,并更新ListView。
6. 可以添加其他功能,如编辑、删除、分享等。
下面是一个简单的代码示例:
MainActivity.java
```
public class MainActivity extends AppCompatActivity {
private ArrayList<DiaryItem> diaryItems;
private DiaryAdapter diaryAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
diaryItems = new ArrayList<>();
diaryAdapter = new DiaryAdapter(this, diaryItems);
ListView listView = findViewById(R.id.listView);
listView.setAdapter(diaryAdapter);
Button saveButton = findViewById(R.id.saveButton);
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveDiary();
}
});
}
private void saveDiary() {
EditText editText = findViewById(R.id.editText);
String content = editText.getText().toString();
if (!TextUtils.isEmpty(content)) {
DiaryItem diaryItem = new DiaryItem(new Date(), content);
diaryItems.add(diaryItem);
diaryAdapter.notifyDataSetChanged();
editText.setText("");
Toast.makeText(this, "日记已保存", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "请输入日记内容", Toast.LENGTH_SHORT).show();
}
}
}
```
DiaryItem.java
```
public class DiaryItem {
private Date date;
private String content;
public DiaryItem(Date date, String content) {
this.date = date;
this.content = content;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
```
DiaryAdapter.java
```
public class DiaryAdapter extends ArrayAdapter<DiaryItem> {
private Context context;
private ArrayList<DiaryItem> diaryItems;
public DiaryAdapter(Context context, ArrayList<DiaryItem> diaryItems) {
super(context, 0, diaryItems);
this.context = context;
this.diaryItems = diaryItems;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.item_diary, parent, false);
}
DiaryItem diaryItem = diaryItems.get(position);
TextView dateTextView = convertView.findViewById(R.id.dateTextView);
TextView contentTextView = convertView.findViewById(R.id.contentTextView);
dateTextView.setText(diaryItem.getDate().toString());
contentTextView.setText(diaryItem.getContent());
return convertView;
}
}
```
activity_main.xml
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
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:layout_marginTop="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:hint="请输入日记内容"/>
<Button
android:id="@+id/saveButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editText"
android:layout_alignParentEnd="true"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
android:text="保存"/>
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/saveButton"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
item_diary.xml
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/dateTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="日期"
android:textSize="16sp"
android:textStyle="bold"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"/>
<TextView
android:id="@+id/contentTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="内容"
android:textSize="16sp"
android:textStyle="normal"
android:layout_below="@id/dateTextView"
android:layout_marginLeft="16dp"
android:layout_marginTop="8dp"/>
</RelativeLayout>
```
这样就可以实现一个简单的Android日记本了。