app開發流程與demo

大二開始做SRT,是做一個時間記錄的app,做的很簡單這裏簡單的記錄一下
app主要集合了時間記錄,圖分析,查看記錄,下步規劃以及用戶體驗的一些功能,包括分享到第三方平臺,手機驗證碼登錄


1.前期準備工作
1.1 確認需求
大學生普遍存在時間觀念不強,不能合理的安排時間,對未來有明確的時間規劃,項目採用
隨身攜帶的智能終端幫助大學生有效的記錄時間分配,合理的規劃時間安排。

1.2 app操作流程及功能規劃
通過線框圖規劃app的操作執行界面,設計app的主要功能,分爲註冊登錄,時間記錄,
查看記錄,圖表分析,下步規劃等功能,設計UI界面,仿微信6.0的主界面來設計本項目的
主界面,收集UI素材

1.3 開發知識的儲備
以已有的java知識爲儲備,學習Android開發的基本步驟,方法,框架,學習雲服務器
交互方法,瞭解雲服務器端開發文檔,學習基本的UI設計模板

1.4 數據庫的設計
根據項目需要通過E-R圖來設計所需的表與表中屬性,瞭解雲端數據庫的交互方法,數據
庫共有四個表:user(用戶)表,plan(用戶計劃)表,records(用戶總記錄)表,dayrecords
(用戶每天記錄)表
User(username,password,mobilePhone,emailVerified,email)
Plan(username,email,main,level,freelessonnum)
Records(username,email,activity_time,sport_time,study_time,fun_time,
activity_per,sport_per,study_per,fun_per,freelesson_time)
Dayrecords(username,date,week,xiangmu,start_hour,end_hour)


這裏寫圖片描述


2.項目開發階段
2.1 項目結構設計與數據操作
App分爲三層:
(1)視圖層:用戶的操作. 視圖對象的主要目的之一是將應用模型對象中的數據顯示出來,
並允許用戶編輯該數據
(2)控制器層:控制器層是在視圖層和若干個模型層的中間人,負責響應視圖層並操作模
型層
(3)模型層:封裝了應用的一系列數據, 並定義了操作, 處理這些數據的邏輯和計算規則。
數據來源於用戶輸入與服務器反饋,格式爲Json,操作在視圖層完成,處理在模型層完成,
最終存儲到雲端服務器。
2.2 項目開發環境選擇

採用Android 6.0版本的SDK,使用Android Studio1.5.1爲開發工具,雲端服務器採用
Bmob雲服務器,對應SDK爲bmob-sdk:3.5.0、bmob-sms:1.0.1

2.3.項目開發
根據前期規劃與設計,完成對App的開發,並對每個模塊相應功能進行單獨測試,最終將
各個模塊組合,完成app的開發,項目結構流程圖如下


這裏寫圖片描述


2.4 主要功能介紹
2.4.1用戶記錄相關功能
主要包括用戶設置相應的時間記錄計劃,進行時間的記錄,查看記錄,查看過去記錄的
圖分析,對用戶過去的時間分配進行簡單的建議與規劃,查看計劃完成情況與各項活動所
佔的百分比,修改計劃
2.4.2 用戶體驗相關功能
主要包括用戶的註冊與登錄,手機驗證碼登錄,忘記密碼時的找回,修改資料,分享到
第三方平臺
3.項目測試階段
3.1 測試環境
3.1.1 硬件環境
硬件名稱 數量 配置
三星Galaxy S5 1 分辨率1920 x 1080 RAM 2GB 核心數 4
Genymotion模擬器 1 同上

3.1.2 軟件環境
Android OS 4.2.2

3.2 測試中出現的問題
存在問題 解決方法
1.雲端服務器查詢數據不同步 Handler異步查詢
2.實際記錄數據與服務器數據不一致 重複提交bean導致,採用sharedpreferences暫時存儲
3.主頁面fragment崩潰重疊 採用底色填充
4.其他編碼漏洞 修改

3.3 項目存在問題
對android底層結構不熟悉,對activity與fragment生命週期認識不足,主頁面崩潰問題
重疊問題解決不徹底,app啓動卡頓明顯,暫時採用載入頁面背景透明掩蓋,主要由於項目成
員對android瞭解不足,底層框架認識不清導致

3.4 項目發佈
目前項目已在應用寶發佈,版本更新依託蒲公英第三方代碼託管平臺


項目中用到的幾個服務器和第三方接口以及Github上的幾個開源UI
Bmob雲服務器:http://www.bmob.cn/
第三方分享平臺:http://www.mob.com/
github上的開源UI:
Hellocharts圖表庫:https://github.com/lecho/hellocharts-android
Context-Menu.Android:https://github.com/Yalantis/Context-Menu.Android
這裏寫圖片描述
circular-progress-button:https://github.com/dmytrodanylyk/circular-progress-button
這裏寫圖片描述
android-floating-action-button:https://github.com/futuresimple/android-floating-action-button這裏寫圖片描述


項目是簡單的一個練手app做的有很多不足之處,但是對初學者可能有很多幫助,尤其是用Bmob平臺開發app的開發者,項目地址
https://github.com/yaoxunji/app

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章