安卓Android的便签代码
时间: 2024-01-08 13:10:39 浏览: 31
以下是一个简单的 Android 便签 APP 的代码示例,仅供参考:
MainActivity.java
```
public class MainActivity extends AppCompatActivity {
private ListView listView;
private NotesDB notesDB;
private SQLiteDatabase dbReader;
private SimpleCursorAdapter adapter;
private ImageButton addBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.list);
addBtn = (ImageButton) findViewById(R.id.btn_add);
notesDB = new NotesDB(this);
dbReader = notesDB.getReadableDatabase();
addBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, AddActivity.class);
startActivity(intent);
}
});
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
intent.putExtra(NotesDB.ID, (int) id);
startActivity(intent);
}
});
initListView();
}
private void initListView() {
Cursor cursor = dbReader.query(NotesDB.TABLE_NAME, null, null, null, null, null, null);
adapter = new SimpleCursorAdapter(this, R.layout.item, cursor, new String[] {NotesDB.TITLE, NotesDB.TIME},
new int[] {R.id.title, R.id.time}, SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
listView.setAdapter(adapter);
}
@Override
protected void onResume() {
super.onResume();
Cursor cursor = dbReader.query(NotesDB.TABLE_NAME, null, null, null, null, null, null);
adapter.changeCursor(cursor);
}
}
```
AddActivity.java
```
public class AddActivity extends AppCompatActivity {
private EditText title, content;
private Button saveBtn, cancelBtn;
private NotesDB notesDB;
private SQLiteDatabase dbWriter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);
title = (EditText) findViewById(R.id.et_title);
content = (EditText) findViewById(R.id.et_content);
saveBtn = (Button) findViewById(R.id.btn_save);
cancelBtn = (Button) findViewById(R.id.btn_cancel);
notesDB = new NotesDB(this);
dbWriter = notesDB.getWritableDatabase();
saveBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ContentValues cv = new ContentValues();
cv.put(NotesDB.TITLE, title.getText().toString());
cv.put(NotesDB.CONTENT, content.getText().toString());
cv.put(NotesDB.TIME, getTime());
dbWriter.insert(NotesDB.TABLE_NAME, null, cv);
finish();
}
});
cancelBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
private String getTime() {
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date date = new Date();
String str = format.format(date);
return str;
}
}
```
DetailActivity.java
```
public class DetailActivity extends AppCompatActivity {
private EditText title, content;
private Button deleteBtn, editBtn;
private NotesDB notesDB;
private SQLiteDatabase dbWriter;
private int id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
title = (EditText) findViewById(R.id.et_title);
content = (EditText) findViewById(R.id.et_content);
deleteBtn = (Button) findViewById(R.id.btn_delete);
editBtn = (Button) findViewById(R.id.btn_edit);
notesDB = new NotesDB(this);
dbWriter = notesDB.getWritableDatabase();
id = getIntent().getIntExtra(NotesDB.ID, 0);
Cursor cursor = dbWriter.query(NotesDB.TABLE_NAME, null, "_id=?", new String[] {String.valueOf(id)}, null, null, null);
cursor.moveToFirst();
title.setText(cursor.getString(cursor.getColumnIndex(NotesDB.TITLE)));
content.setText(cursor.getString(cursor.getColumnIndex(NotesDB.CONTENT)));
deleteBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dbWriter.delete(NotesDB.TABLE_NAME, "_id=?", new String[] {String.valueOf(id)});
finish();
}
});
editBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ContentValues cv = new ContentValues();
cv.put(NotesDB.TITLE, title.getText().toString());
cv.put(NotesDB.CONTENT, content.getText().toString());
cv.put(NotesDB.TIME, getTime());
dbWriter.update(NotesDB.TABLE_NAME, cv, "_id=?", new String[] {String.valueOf(id)});
finish();
}
});
}
private String getTime() {
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date date = new Date();
String str = format.format(date);
return str;
}
}
```
NotesDB.java
```
public class NotesDB extends SQLiteOpenHelper {
public static final String TABLE_NAME = "notes";
public static final String ID = "_id";
public static final String TITLE = "title";
public static final String CONTENT = "content";
public static final String TIME = "time";
public NotesDB(Context context) {
super(context, "notes", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + "(" + ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ TITLE + " TEXT NOT NULL," + CONTENT + " TEXT NOT NULL," + TIME + " TEXT NOT NULL)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
```
以上是一个简单的 Android 便签 APP 的代码示例,具体细节可以根据实际情况进行调整和优化。