安卓中資料庫運用---做個便籤app
阿新 • • 發佈:2018-12-11
前言:這個app其實很早之前就做完了,但當時沒有積累,大二剛開了Java課對安卓有了一些新認識於是前幾天就把這個app重做了一遍,總結下來(文章最後有GitHub地址,但建議還是先看一下部落格的思路)
效果如圖:
總體就是運用資料庫裡的修改,儲存,還有recyclerview的應用
點選"+"新增新的便籤(menu的用法)
public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()) { case R.id.add: //跳轉 Intent intent = new Intent(MainActivity.this,Note.class); startActivity(intent); break; default: } return true; }
點選完成或者直接返回都可以儲存(在Note實現)
accomplish.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //如果什麼都不寫就直接返回 if(edit.getText().toString().equals("")){ finish(); return; } //新建表 NoteData note = new NoteData(); //設定內容 note.setDatabody(edit.getText().toString()); //這裡用Calendar方法來獲取系統日期 Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH)+1; int day = calendar.get(Calendar.DAY_OF_MONTH); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); //設定一下日期顯示的格式 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA); //按照格式來顯示日期 note.setDatatime(format.format(calendar.getTime())); //記得儲存 note.save(); //新增到notedatalist中 noteDataList.add(note); Toast.makeText(com.example.dell.database.Note.this,"已儲存",Toast.LENGTH_SHORT).show(); finish(); //recyclerview中更新 dataAdapter.notifyDataSetChanged(); } });
再次點選進入,可以修改之前的便籤(在edit中實現,原理還是Note中的寫法),但在修改之前先獲取noteDataList中的資訊
//從list中獲取資訊 position = getIntent().getIntExtra("position", 0); note = noteDataList.get(position); Log.e("", "onCreate: "+position+note.getDatabody() ); edit.setText(note.getDatabody()); note.save();
向左滑動可以刪除便籤這裡因為水平有限用了開源(不得不說開源真得是方便)
api 'com.github.mcxtzhang:SwipeDelMenuLayout:V1.3.0'
總體思路就是這樣,然後原始碼都在GitHub上 (好像大家都喜歡直接看原始碼,上回有個看我部落格的朋友就問我有沒有原始碼,然後我說沒有GitHub的習慣之後就很尷尬,於是這回就上傳一波)https://github.com/jh360twb/Database