基于Android Studio 开发的简易记事本

目录

一、引言

视频效果展示:

图片效果展示:

二、详细设计

1.首页

2.添加和修改页面

三、源码获取


一、引言

         Android初学者开发第一个完整的基础实例项目应该就属《记事本》了,该项目基于Android Studio开发使用Java语言,该项目包含SQLlit数据库的使用、listview、等。话不多说先上成品:

视频效果展示:

基于Android Studio 开发的简易记事本

图片效果展示:

首页

基于Android Studio 开发的简易记事本_第1张图片

添加页面​基于Android Studio 开发的简易记事本_第2张图片

修改页面

基于Android Studio 开发的简易记事本_第3张图片

二、详细设计

1.首页

          用户进行笔记添加,使用listview显示笔记。

基于Android Studio 开发的简易记事本_第4张图片

​  

        该代码实现了一个记事本应用的主活动(NotepadActivity)。在该活动中,使用了一个ListView来显示便签的列表。主要包括以下几个部分:

  1. onCreate()方法:在该方法中,设置了活动的布局文件(activity_notepad.xml),并初始化了ListView和一个添加按钮(ImageView)。添加按钮的点击事件监听器被设置为打开另一个活动(RecordActivity)的意图,并在该意图中传递了一个请求码(1)。

  2. initData()方法:该方法被调用来初始化数据。在该方法中,清空了列表数据(如果存在),并从SQLite数据库中查询数据,并将查询结果传递给自定义的适配器(NotepadAdapter)。最后,将适配器设置给ListView。

  3. showQueryData()方法:该方法用于显示查询的数据。在该方法中,先清空列表数据(如果存在),然后再从SQLite数据库中查询数据,并将查询结果传递给适配器,最后将适配器设置给ListView。

  4. 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();
        }
    }
}

2.添加和修改页面

              点击首页加号按钮或者点击列表项按钮进行对应的页面跳转。

基于Android Studio 开发的简易记事本_第5张图片

基于Android Studio 开发的简易记事本_第6张图片

​       这段代码是一个用于处理记录的增删改操作的函数。函数中使用了一个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;
        }

三、源码获取

✨还可以关注宫众号《编程乐学》,菜单栏有很多优质的开源项目以及更多的编程资料等你来学习。

你可能感兴趣的:(Android,android,studio,android,ide)