新增"日期记录器"工具:相册式记录管理,支持拍照→编辑→记录信息的完整流程。 数据层: - Room 2.8.4 首个数据库(KSP 2.3.10),DateRecord 实体含标题/备注/拍摄日期/关联日期 - DateRecordConverters 处理 kotlinx-datetime ↔ ISO 字符串 - DateRecorderRepository 封装 DAO + filesDir 照片文件管理 UI 层: - CameraScreen: CameraX 1.5.3 应用内预览,运行时权限请求,前后摄切换 - PhotoEditorScreen: 纯 Compose 自实现旋转/裁剪/手写三 Tab 编辑器 - DateRecorderScreen: LazyVerticalGrid 相册网格 + 多选 + 6 种排序 + 批量删除 - RecordEditScreen / RecordDetailScreen: 记录信息编辑与详情查看 基础设施: - CAMERA 权限 + FileProvider(filesDir 存储,免存储权限) - 5 个 Activity 延续项目 Activity+Intent 滑动转场模式 - 2 个单测:排序逻辑 6 种组合 + 降采样计算
66 lines
1.9 KiB
JSON
66 lines
1.9 KiB
JSON
{
|
|
"formatVersion": 1,
|
|
"database": {
|
|
"version": 1,
|
|
"identityHash": "a70493440299ed07224c71df1b7b58c3",
|
|
"entities": [
|
|
{
|
|
"tableName": "date_records",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `title` TEXT NOT NULL, `note` TEXT NOT NULL, `shootDate` TEXT NOT NULL, `linkedDate` TEXT, `photoPath` TEXT NOT NULL, `createdAt` TEXT NOT NULL)",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "title",
|
|
"columnName": "title",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "note",
|
|
"columnName": "note",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "shootDate",
|
|
"columnName": "shootDate",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "linkedDate",
|
|
"columnName": "linkedDate",
|
|
"affinity": "TEXT"
|
|
},
|
|
{
|
|
"fieldPath": "photoPath",
|
|
"columnName": "photoPath",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "createdAt",
|
|
"columnName": "createdAt",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": true,
|
|
"columnNames": [
|
|
"id"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"setupQueries": [
|
|
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
|
|
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'a70493440299ed07224c71df1b7b58c3')"
|
|
]
|
|
}
|
|
} |