本文实例为大家分享了Android实现简易记事本的具体代码,供大家参考,具体内容如下

下面实现了一个简易的记事本,效果如下:

主要使用数据库存储数据。

完整代码链接:Android实现简易记事本

下面是部分代码:

MainActivity:

public class MainActivity extends AppCompatActivity implements View.OnClickListener { private EditText subject; private EditText body; private EditText date; private Button chooseDate; private Button add; private Button query; private ListView result; private LinearLayout title; private MyDataBaseHelper mMyDataBaseHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { //控件初始化 subject=(EditText)findViewById(R.id.subject); body=(EditText)findViewById(R.id.body); date=(EditText)findViewById(R.id.date); chooseDate=(Button)findViewById(R.id.chooseDate); add=(Button)findViewById(R.id.add); query=(Button)findViewById(R.id.query); result=(ListView)findViewById(R.id.result); title=(LinearLayout)findViewById(R.id.title); //选择日期,添加,查询的监听事件 chooseDate.setOnClickListener(this); add.setOnClickListener(this); query.setOnClickListener(this); //查询情况默认隐藏,只有点击查询时才有效果 title.setVisibility(View.INVISIBLE); } @Override public void onClick(View v) { //创建数据库 mMyDataBaseHelper=new MyDataBaseHelper(MainActivity.this,"memento.db",null,1); SQLiteDatabase sqLiteDatabase=mMyDataBaseHelper.getReadableDatabase(); //获取输入框的内容 String strSubject=subject.getText().toString().trim(); String strBody=body.getText().toString().trim(); String strDate=date.getText().toString().trim(); switch (v.getId()){ case R.id.chooseDate: Calendar calendar=Calendar.getInstance(); //选择时间,并将时间设置在date中 new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {  @Override  public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {  date.setText(year+"-"+month+"-"+dayOfMonth);  } },calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH)).show(); break; case R.id.add: //添加内容到数据库中,添加方法是add title.setVisibility(View.INVISIBLE); add(sqLiteDatabase,strSubject,strBody,strDate); Toast.makeText(this, "success!", Toast.LENGTH_SHORT).show(); result.setAdapter(null); break; case R.id.query: //查询时显示结果设置为visible title.setVisibility(View.VISIBLE); //查询的结果保存在cursor中 Cursor cursor=query(sqLiteDatabase,strSubject,strBody,strDate); SimpleCursorAdapter simpleCursorAdapter=new SimpleCursorAdapter(MainActivity.this,R.layout.result,cursor,new String[]{"_id", "subject", "body", "date"},  new int[]{R.id.memento_num, R.id.memento_subject, R.id.memento_body, R.id.memento_date}); //为listview添加适配器 result.setAdapter(simpleCursorAdapter); break; } } //添加数据到数据库中的方法 public void add(SQLiteDatabase sqLiteDatabase,String subject,String body,String date){ sqLiteDatabase.execSQL("Insert into memento_tb values(null,?,?,?)",new String[]{subject,body,date}); //初始设置为空 this.subject.setText(""); this.body.setText(""); this.date.setText(""); } //查询的方法,返回值为cursor public Cursor query(SQLiteDatabase sqLiteDatabase, String subject, String body, String date){ Cursor cursor = sqLiteDatabase.rawQuery( "select * from memento_tb where subject like ? and body like ? and date like ? ", new String[]{"%" + subject + "%", "%" + body + "%",  "%" + date + "%"});//对表的查询(insert的操作) return cursor; } protected void onDestroy() { super.onDestroy(); if (mMyDataBaseHelper != null) { mMyDataBaseHelper.close(); } }}

MyDataBaseHelper:

public class MyDataBaseHelper extends SQLiteOpenHelper { //创建数据库的语句 final String CREATE_TABLE_SQL = "create table memento_tb(_id integer primary " +  "key autoincrement,subject,body,date)"; //建表 public MyDataBaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } //执行建表的操作 @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE_SQL); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { System.out.println("---------" + oldVersion + "------->" + newVersion); }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. Androidの通过查询电话号码或ID获取联系人头像
  2. Android(安卓)运行时权限库
  3. Android(安卓)之窗口小部件详解--App Widget
  4. android N 版本问题
  5. android单元测试
  6. Google I/O大会发布Android(安卓)Studio,安装与不能运行解决等错
  7. Google I/O大会发布Android(安卓)Studio,安装与不能运行解决
  8. Android(安卓)volley的源码实现原理
  9. Android(安卓)使用HTTPClient调用Web请求(查询手机号码区域)

随机推荐

  1. android studio 不常见错误-------------
  2. Android倒计时器
  3. Android--输入自动提示AutoCompleteTextV
  4. android 自定义属性的使用
  5. Failed to fetch URL http://dl-ssl.goog
  6. checkbox 与listview 点击事件冲突
  7. CentOS7配置Android打包环境
  8. title上左右按钮
  9. Android xml 深入解析shape
  10. asasasa