Android studio备忘录
时间: 2024-01-21 09:13:14 浏览: 30
以下是Android Studio环境下备忘录的简单实现方法:
1. 首先,在布局文件中添加ScrollView、EditText、TextView和ImageButton控件,分别用于显示备忘录内容、输入备忘录内容、显示查询结果和添加备忘录。
2. 在Java代码中,创建一个SQLiteOpenHelper类,用于创建和升级数据库。在该类中,创建一个名为“memorandum”的表,包含id、content和time三个字段,分别用于存储备忘录的编号、内容和时间。
3. 创建一个Memorandum类,用于封装备忘录的内容和时间。
4. 创建一个MemorandumDao类,用于对备忘录进行增删改查操作。在该类中,定义insert()、deleteAll()、queryById()和queryAll()四个方法,分别用于添加备忘录、删除所有备忘录、根据id查询备忘录和查询所有备忘录。
5. 在MainActivity中,创建一个MemorandumDao对象,并在ImageButton的点击事件中调用insert()方法添加备忘录,在TextView的点击事件中调用queryById()方法查询备忘录,在ImageButton的长按事件中调用deleteAll()方法删除所有备忘录。
```java
// SQLiteOpenHelper类
public class MemorandumOpenHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "memorandum.db";
private static final int DB_VERSION = 1;
private static final String CREATE_TABLE = "create table memorandum (id integer primary key autoincrement, content text, time text)";
public MemorandumOpenHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists memorandum");
onCreate(db);
}
}
// Memorandum类
public class Memorandum {
private int id;
private String content;
private String time;
public Memorandum(int id, String content, String time) {
this.id = id;
this.content = content;
this.time = time;
}
public int getId() {
return id;
}
public String getContent() {
return content;
}
public String getTime() {
return time;
}
}
// MemorandumDao类
public class MemorandumDao {
private SQLiteDatabase db;
public MemorandumDao(Context context) {
MemorandumOpenHelper helper = new MemorandumOpenHelper(context);
db = helper.getWritableDatabase();
}
public void insert(String content, String time) {
ContentValues values = new ContentValues();
values.put("content", content);
values.put("time", time);
db.insert("memorandum", null, values);
}
public void deleteAll() {
db.delete("memorandum", null, null);
}
public Memorandum queryById(int id) {
Cursor cursor = db.query("memorandum", null, "id=?", new String[]{String.valueOf(id)}, null, null, null);
if (cursor.moveToFirst()) {
String content = cursor.getString(cursor.getColumnIndex("content"));
String time = cursor.getString(cursor.getColumnIndex("time"));
return new Memorandum(id, content, time);
}
return null;
}
public List<Memorandum> queryAll() {
List<Memorandum> list = new ArrayList<>();
Cursor cursor = db.query("memorandum", null, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String content = cursor.getString(cursor.getColumnIndex("content"));
String time = cursor.getString(cursor.getColumnIndex("time"));
list.add(new Memorandum(id, content, time));
}
return list;
}
}
// MainActivity类
public class MainActivity extends AppCompatActivity {
private EditText etContent;
private TextView tvResult;
private ImageButton ibAdd;
private MemorandumDao dao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etContent = findViewById(R.id.et_content);
tvResult = findViewById(R.id.tv_result);
ibAdd = findViewById(R.id.ib_add);
dao = new MemorandumDao(this);
ibAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String content = etContent.getText().toString();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = sdf.format(new Date());
dao.insert(content, time);
etContent.setText("");
}
});
tvResult.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Memorandum memorandum = dao.queryById(1);
if (memorandum != null) {
tvResult.setText(memorandum.getContent() + "\n" + memorandum.getTime());
}
}
});
ibAdd.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
dao.deleteAll();
tvResult.setText("");
return true;
}
});
}
}
```