从零开始用Android Studio开发一款记事本APP(附完整代码)

从零开始用Android Studio开发一款记事本APP(附完整代码)


前言

在移动互联网时代,记事本APP已成为用户记录生活、工作和学习的重要工具。本文将手把手教你如何从零开始,使用Android Studio开发一款具备增删改查功能的记事本APP。文章涵盖需求分析技术选型数据库设计核心功能实现界面开发,并提供完整代码和效果图,适合Android开发新手学习。


一、开发环境准备

  1. 安装Android Studio

  2. 配置项目依赖
    build.gradle中添加以下依赖:

    dependencies {
        implementation 'androidx.recyclerview:recyclerview:1.3.2'  // RecyclerView
        implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'  // 简化RecyclerView适配器
    }
    

二、项目创建与基础配置

  1. 新建项目

    • 选择模板:Empty Activity
    • 包名:com.example.notebook
    • 语言:Java
  2. 权限配置
    AndroidManifest.xml中添加存储权限:

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    

三、数据库设计(SQLite)

1. 创建数据库表

定义NotebookBean实体类:

public class NotebookBean implements Parcelable {
    private int notebookId;
    private String content;
    private long editTime;

    // Getter & Setter、Parcelable实现(略)
}

2. 数据库操作类(DBManager)

public class DBManager {
    private static final String TABLE_NAME = "notebook";
    private static final String CREATE_TABLE = 
        "CREATE TABLE " + TABLE_NAME + " (" +
        "notebookId INTEGER PRIMARY KEY AUTOINCREMENT, " +
        "content TEXT, " +
        "editTime INTEGER)";

    public DBManager(Context context) {
        SQLiteDatabase db = context.openOrCreateDatabase("notebook.db", Context.MODE_PRIVATE, null);
        db.execSQL(CREATE_TABLE);
    }

    // 增删改查方法(代码见下文)
}

四、核心功能实现

1. 主界面(RecyclerView展示数据)

布局文件: activity_main.xml

<LinearLayout>
    <RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <Button
        android:id="@+id/btn_add"
        android:text="添加记事" />
</LinearLayout>

核心代码:

public class MainActivity extends AppCompatActivity {
    private RecyclerView recyclerView;
    private DBManager dbManager;
    private List<NotebookBean> dataList = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 初始化RecyclerView
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        NotebookAdapter adapter = new NotebookAdapter(dataList);
        recyclerView.setAdapter(adapter);
        // 加载数据
        dbManager = new DBManager(this);
        dataList.addAll(dbManager.selectNotebookList());
        adapter.notifyDataSetChanged();
    }
}

2. 添加/编辑记事功能

布局文件: activity_add_notebook.xml

<EditText
    android:id="@+id/edit_content"
    android:hint="输入内容..." />
<Button
    android:id="@+id/btn_save"
    android:text="保存" />

核心代码:

public class AddNotebookActivity extends AppCompatActivity {
    private EditText editContent;
    private DBManager dbManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_notebook);
        editContent = findViewById(R.id.edit_content);
        dbManager = new DBManager(this);

        findViewById(R.id.btn_save).setOnClickListener(v -> {
            String content = editContent.getText().toString();
            if (!content.isEmpty()) {
                dbManager.insertNotebook(new NotebookBean(content, System.currentTimeMillis()));
                finish();
            }
        });
    }
}

3. 双击退出功能

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        if (isDoubleClick) {
            finish();
        } else {
            Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();
            isDoubleClick = true;
            new Handler().postDelayed(() -> isDoubleClick = false, 2000);
        }
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

五、界面美化与优化

  1. 使用Material Design组件

    • 添加依赖:implementation 'com.google.android.material:material:1.9.0'
    • 替换Button为MaterialButton,提升视觉效果。
  2. 颜色主题配置
    res/values/themes.xml中定义主题色:

    <style name="AppTheme" parent="Theme.Material3.Light">
        <item name="colorPrimary">#4CAF50</item> <!-- 青绿色 -->
    </style>
    

六、完整代码与效果图

  1. 点击下方链接获取安卓练手项目源代码和文档报告。
    简单记事本带文档

  2. 效果图展示

    • 请添加图片描述
      请添加图片描述

请添加图片描述
在这里插入图片描述在这里插入图片描述


七、常见问题解决

  1. 数据库表未创建?
    • 检查DBManager构造函数中是否执行了CREATE_TABLE语句。
  2. RecyclerView不显示数据?
    • 确保NotebookAdapter正确绑定了数据,并调用notifyDataSetChanged()
  3. 权限申请失败?
    • Android 6.0以上需动态申请权限,参考ActivityCompat.requestPermissions()

结语

通过本文,你已掌握使用Android Studio开发记事本APP的全流程。从数据库设计到界面交互,每个步骤均提供了详细代码和解释。后续可扩展功能:

  • 添加分类标签
  • 支持图片和语音
  • 数据云同步

立即动手实践,打造你的专属记事本吧!
好的,关于这个问题我们今天就先分享到这里,希望能帮助到屏幕前为代码发愁的您。如果觉得有帮助,希望友友们给个好评,支持一下创作者不易。点击下方链接获取安卓练手项目源代码和文档报告。
简单记事本带文档

**© 版权声明:本文为原创文章,转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值