# APP 說明事項 --- 索引 [TOC] --- ## 註冊表單 - [註冊表單連結](https://docs.google.com/spreadsheets/d/1SxLJT4GZXf3PEnGJlNAsc3291ljcsgpNGrJuNWp_OAs/edit?usp=sharing) ## 資料庫版本驗證流程 ```graphviz digraph G { graph [fontname = "MingLiU", compound = true]; node [fontname = "MingLiU"]; edge [fontname = "MingLiU"]; label = "資料庫版本比對流程"; Start [shape=box, label="Start\l前提:\l 手機安裝過兩個版本(A,B版)的APP\l此時手機狀態\l1. 手機APP 為 B版\l2. 資料庫可能狀況\l - 無資料庫(未執行過APP)\l - 既有資料庫 為 A版\lAPK [B版] 含有 APK資料庫, 及 SQL建構語法\l1. [B] APK資料庫\l2. [B] SQL建構語法\l"]; subgraph clusterServer{ OLDDBExist [shape=diamond, label="'手機資料庫'是否存在",style=filled,color=lightblue]; APP_DB_Copy [shape=box, label="[B]APK資料庫\n至手機內部作為\n'手機資料庫'",style=filled,color=lightblue]; DBVerCheck [shape=diamond, label="'手機資料庫'版本\n是否與\n(B版本)程式碼版本一致",style=filled,color=lightblue]; APP_Start [shape=box, label="APP 啟動",style=filled,color=lightblue]; subgraph clusterServer_1{ label = "資料庫重建對流程"; DBSQLReset_0 [shape=box, label="SQL Reset\n資料庫刷新",style=filled,color=lightblue]; DBSQLReset_1 [shape=box, label="備份前一版 'table'\n至 佔存空間 \n[backup_tb]",style=filled,color=lightblue]; DBSQLReset_2 [shape=box, label="移除 手機內部資料庫 所有\n(table,view,trigger)",style=filled,color=lightblue]; DBSQLReset_3 [shape=box, label="以 APP內部SQL 建置\n(table,view,trigger)\n[B] SQL建構語法",style=filled,color=lightblue]; DBSQLReset_4 [shape=box, label="倒回 [backup_tb] \n至 APP 資料庫",style=filled,color=lightblue]; } Start -> OLDDBExist; OLDDBExist -> DBVerCheck [label="Y"]; OLDDBExist -> APP_DB_Copy[label="N"]; DBVerCheck -> APP_Start [label="Y"]; DBVerCheck -> DBSQLReset_0[label="N"]; DBSQLReset_0 -> DBSQLReset_1 -> DBSQLReset_2 -> DBSQLReset_3-> DBSQLReset_4 -> APP_Start; APP_DB_Copy -> APP_Start; } } ``` ## APK 及 資料庫 版本差異 | APK 差異 | 除錯(debug) | 釋出(release)| | -------- | -------- | -------- | | 除錯資訊| V || | 檔案大小| 大 | 小 | | 監控開發者模式 ||V| ## 發佈版之功能差 | 功能差異 | 試用(trial)| 正式(standard)| | -------- | -------- | -------- | | 資料庫清空(間隔10天) |V|| | 安裝後自動流程[3] |V|V| | 註冊流程 | |▲[2]| | 匯出Excel 報表 ||V| | 寄發Excel Mail ||V| | APP 自動更新 ||▲| | -------- | -------- | -------- | | UI - 是否顯示 excel 匯出按鈕 ||V| | Code - 是否包含 excel 匯出程式 ||V| note: * ? 待確認 * ▲ 還未實做 * V 已實現 [1] 試用版無法轉移到正式版 [2] 正式版啟動後 ,內含有 "註冊/確認" 的功能 一旦沒有輸入註冊 就關閉正式版 APP [3] 安裝 APP 後 * trial -- 自動清除前一次安裝所留下的資料 * standard -- 比對資料庫版本, 升級既有資料庫 [4] 依照檔名區隔 * 開發階段 * app-debug.apk -- 除錯版 * app-release.apk -- 發佈版 * 可對外散佈階段 * app-release_standard.apk -- 發佈-正式版 * app-release_trial.apk -- 發佈-試用版 ## 資料庫版本號碼 - 版本號碼格式 A.B A 為 table 版本號 B 為 view 版本號 例如: 1.81, A=1, B=81