从零开始用Android Studio开发一款记事本APP(附完备代码)
媒介
在移动互联网时代,记事本APP已成为用户记载生活、工作和学习的告急工具。本文将手把手教你如何从零开始,使用Android Studio开发一款具备增删改查功能的记事本APP。文章涵盖需求分析、技术选型、数据库设计、焦点功能实现及界面开发,并提供完备代码和效果图,适合Android开发新手学习。
一、开发环境准备
- 安装Android Studio
- 下载地址:Android Studio获取,搭配保姆级教程
- 保举版本:2023.1.1及以上
- 安装时勾选Android SDK和虚拟装备(建议选择Android 11或更高版本)。
- 设置项目依靠
在build.gradle中添加以下依靠:
- dependencies {
- implementation 'androidx.recyclerview:recyclerview:1.3.2' // RecyclerView
- implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4' // 简化RecyclerView适配器
- }
复制代码 二、项目创建与基础设置
- 新建项目
- 选择模板:Empty Activity
- 包名:com.example.notebook
- 语言:Java
- 权限设置
在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);
- }
复制代码 五、界面美化与优化
- 使用Material Design组件
- 添加依靠:implementation 'com.google.android.material:material:1.9.0'
- 替换Button为MaterialButton,提升视觉效果。
- 颜色主题设置
在res/values/themes.xml中定义主题色:
- <style name="AppTheme" parent="Theme.Material3.Light">
- <item name="colorPrimary">#4CAF50</item> <!-- 青绿色 -->
- </style>
复制代码 六、完备代码与效果图
- 点击下方链接获取安卓练手项目源代码和文档报告。
简朴记事本带文档
- 效果图展示
七、常见问题办理
- 数据库表未创建?
- 检查DBManager构造函数中是否执行了CREATE_TABLE语句。
- RecyclerView不显示数据?
- 确保NotebookAdapter正确绑定了数据,并调用notifyDataSetChanged()。
- 权限申请失败?
- Android 6.0以上需动态申请权限,参考ActivityCompat.requestPermissions()。
结语
通过本文,你已掌握使用Android Studio开发记事本APP的全流程。从数据库设计到界面交互,每个步调均提供了详细代码息争释。后续可扩展功能:
立即动手实践,打造你的专属记事本吧!
好的,关于这个问题我们本日就先分享到这里,渴望能帮助到屏幕前为代码发愁的您。如果以为有帮助,渴望友友们给个好评,支持一下创作者不易。点击下方链接获取安卓练手项目源代码和文档报告。
简朴记事本带文档
**© 版权声明:本文为原创文章,转载请注明出处。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|