1. 程式人生 > >安卓中資料庫運用---做個便籤app

安卓中資料庫運用---做個便籤app

前言:這個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