从零开始用Android Studio开发一款记事本APP(附完整代码)_android studio开发app
从零开始用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. 双击退出功能
@Overridepublic 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 </style>
六、完整代码与效果图
-
点击下方链接获取安卓练手项目源代码和文档报告。
简单记事本带文档 -
效果图展示
七、常见问题解决
- 数据库表未创建?
- 检查
DBManager
构造函数中是否执行了CREATE_TABLE
语句。
- 检查
- RecyclerView不显示数据?
- 确保
NotebookAdapter
正确绑定了数据,并调用notifyDataSetChanged()
。
- 确保
- 权限申请失败?
- Android 6.0以上需动态申请权限,参考
ActivityCompat.requestPermissions()
。
- Android 6.0以上需动态申请权限,参考
结语
通过本文,你已掌握使用Android Studio开发记事本APP的全流程。从数据库设计到界面交互,每个步骤均提供了详细代码和解释。后续可扩展功能:
- 添加分类标签
- 支持图片和语音
- 数据云同步
立即动手实践,打造你的专属记事本吧!
好的,关于这个问题我们今天就先分享到这里,希望能帮助到屏幕前为代码发愁的您。如果觉得有帮助,希望友友们给个好评,支持一下创作者不易。点击下方链接获取安卓练手项目源代码和文档报告。
简单记事本带文档
**© 版权声明:本文为原创文章,转载请注明出处。