从零开始用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 6.0以上需动态申请权限,参考
结语
通过本文,你已掌握使用Android Studio开发记事本APP的全流程。从数据库设计到界面交互,每个步骤均提供了详细代码和解释。后续可扩展功能:
- 添加分类标签
- 支持图片和语音
- 数据云同步
立即动手实践,打造你的专属记事本吧!
好的,关于这个问题我们今天就先分享到这里,希望能帮助到屏幕前为代码发愁的您。如果觉得有帮助,希望友友们给个好评,支持一下创作者不易。点击下方链接获取安卓练手项目源代码和文档报告。
简单记事本带文档
**© 版权声明:本文为原创文章,转载请注明出处。