学生信息管理 App

BottomNavigationView + ViewPager2 + SQLite + CursorAdapter

下载

包名 com.dsh.student minSdk 21 (Android 5.0) targetSdk 34 Java 签名 v1 + v2 + v3
安装提示:APK 用的是 Android 调试签名。首次安装需在手机上允许「未知来源应用」,或执行 adb install StudentApp.apk
构建版本 b3(已修复启动闪退):
· 修正依赖版本解析 —— lifecycle 2.1.0 / core 1.1.0,补齐 ViewPager2 运行所需的 LifecycleEventObserverAccessibilityViewCommand(原先缺失会导致 NoClassDefFoundError
· 为「底部导航 ↔ ViewPager2」双向联动加入防重入判断,避免回调互相触发造成启动即 StackOverflowError

需求实现对照

#要求实现位置
1Bottom Navigation 模板;配置标题栏与底部导航栏;用 ViewPager2 改造页面切换,实现滑动切换与底部导航联动MainActivity.java
activity_main.xmlbottom_nav_menu.xml
2继承 SQLiteOpenHelper 实现数据库管理,创建应用数据库与学生信息数据表db/StudentDbHelper.java
student.db · 表 student
3录入页含姓名/学号/专业,清空与录入按钮上下排列;清空按钮清空所有输入框;预置数据 ≥5 条EntryFragment.java
fragment_entry.xml
4页面分表头区域与学生信息列表区域,列表用 ListView 实现并配置分割线fragment_list.xml
android:divider / dividerHeight
5查询学生表数据,利用 CursorAdapter 绑定数据展示列表db/StudentCursorAdapter.java
ListFragment.reload()

预置数据(5 条)

姓名学号专业
唐俊杰202358314050计算机科学与技术
demo1202358314051计算机科学与技术
demo2202358314052软件工程
demo3202358314053计算机科学与技术
demo4202358314054网络工程

唐俊杰按 _id 升序排在列表最上面;数据库首次创建时(StudentDbHelper.onCreate)自动写入。

编译运行

  1. 解压 studentapp-source.zip
  2. Android Studio → File → Open,选择 StudentApp 目录,等待 Gradle 同步
  3. 连接手机或启动模拟器,点击 ▶ Run

也可命令行执行 ./gradlew assembleDebug