目录
一、引言
视频效果展示:
图片效果展示:
二、详细设计
1.首页
2.添加和修改页面
三、源码获取
Android初学者开发第一个完整的基础实例项目应该就属《记事本》了,该项目基于Android Studio开发使用Java语言,该项目包含SQLlit数据库的使用、listview、等。话不多说先上成品:
基于Android Studio 开发的简易记事本
首页
修改页面
用户进行笔记添加,使用listview显示笔记。
该代码实现了一个记事本应用的主活动(NotepadActivity)。在该活动中,使用了一个ListView来显示便签的列表。主要包括以下几个部分:
onCreate()方法:在该方法中,设置了活动的布局文件(activity_notepad.xml),并初始化了ListView和一个添加按钮(ImageView)。添加按钮的点击事件监听器被设置为打开另一个活动(RecordActivity)的意图,并在该意图中传递了一个请求码(1)。
initData()方法:该方法被调用来初始化数据。在该方法中,清空了列表数据(如果存在),并从SQLite数据库中查询数据,并将查询结果传递给自定义的适配器(NotepadAdapter)。最后,将适配器设置给ListView。
showQueryData()方法:该方法用于显示查询的数据。在该方法中,先清空列表数据(如果存在),然后再从SQLite数据库中查询数据,并将查询结果传递给适配器,最后将适配器设置给ListView。
onActivityResult()方法:当从另一个活动(RecordActivity)返回时,该方法会被调用。在该方法中,检查返回的请求码和结果码,如果满足条件,则调用showQueryData()方法来显示查询的数据。
public class NotepadActivity extends Activity {
ListView listView;
List list;
SQLiteHelper mSQLiteHelper;
NotepadAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notepad);
//用于显示便签的列表
listView = (ListView) findViewById(R.id.listview);
ImageView add = (ImageView) findViewById(R.id.add);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(NotepadActivity.this,
RecordActivity.class);
startActivityForResult(intent, 1);
}
});
initData();
}
}
private void showQueryData(){
if (list!=null){
list.clear();
}
//从数据库中查询数据(保存的标签)
list = mSQLiteHelper.query();
adapter = new NotepadAdapter(this, list);
listView.setAdapter(adapter);
}
@Override
protected void onActivityResult(int requestCode,int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==1&&resultCode==2){
showQueryData();
}
}
}
点击首页加号按钮或者点击列表项按钮进行对应的页面跳转。
这段代码是一个用于处理记录的增删改操作的函数。函数中使用了一个SQLiteHelper类来操作数据库。首先,函数会根据传入的Intent中的数据判断是进行添加记录操作还是修改记录操作。如果是修改记录操作,会将传入的记录内容、时间等信息填充到相应的控件中。然后,根据点击的View的ID来执行相应的操作:点击返回按钮会结束当前活动,点击删除按钮会清空记录内容,点击保存按钮会将记录内容保存到数据库中。在保存操作中,会根据是否存在记录ID来判断是进行添加操作还是修改操作。保存成功后,会设置返回结果为2,并结束当前活动。
protected void initData() {
mSQLiteHelper = new SQLiteHelper(this);
noteName.setText("添加记录");
Intent intent = getIntent();
if(intent!= null){
id = intent.getStringExtra("id");
if (id != null){
noteName.setText("修改记录");
content.setText(intent.getStringExtra("content"));
note_time.setText(intent.getStringExtra("time"));
note_time.setVisibility(View.VISIBLE);
}
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.note_back:
finish();
break;
case R.id.delete:
content.setText("");
break;
case R.id.note_save:
String noteContent=content.getText().toString().trim();
if (id != null){//修改操作
if (noteContent.length()>0){
if (mSQLiteHelper.updateData(id, noteContent, DBUtils.getTime())){
showToast("修改成功");
setResult(2);
finish();
}else {
showToast("修改失败");
}
}else {
showToast("修改内容不能为空!");
}
}else {
//向数据库中添加数据
if (noteContent.length()>0){
if (mSQLiteHelper.insertData(noteContent, DBUtils.getTime())){
showToast("保存成功");
setResult(2);
finish();
}else {
showToast("保存失败");
}
}else {
showToast("修改内容不能为空!");
}
}
break;
}
✨还可以关注宫众号《编程乐学》,菜单栏有很多优质的开源项目以及更多的编程资料等你来学习。