1. 程式人生 > >[轉]個人開發者做一款Android App需要知道的事情

[轉]個人開發者做一款Android App需要知道的事情

原文連結:https://www.cnblogs.com/hubcarl/p/4030884.html

目前,應用資訊型別App功能核心都包括內容列表展示、內容詳情展示、個人中心、 評論分享、搜尋四大功能。

下面就我以我開發的一款程式設計學習的App[程式設計線上]為例, UI + Andorid客戶端 + 伺服器 + 內容 + 上線 都是我一個人在做, 最終做出這樣一款App來花費了大量的時間和經歷。先簡單介紹一下[程式設計線上]App


程式設計線上介紹:

程式設計線上是一款包括程式語言、移動開發、WEB開發、RSS訂閱功能的綜合性程式設計學習客戶端。介面簡潔、操作簡單。文章內容包括java、NET、C/C++、PHP、Android開發、Windows開發、iPhone開發、JavaScript開發、AngularJS、Node.js、JQuery等精彩技術文章。

程式設計線上功能:

1、提供程式語言、移動開發、WEB開發相關技術文章。
2、提供專題文章,支援文章分類閱讀。
3、支援按編輯推薦、最新文章、最熱文章閱讀文章。
4、支援頁面下拉重新整理頁面內容。
5、支援離線閱讀, 已閱讀的文章會在本地快取。
6、支援部落格園和CSDN RSS訂閱功能。
7、支援最新文章訊息推送功能。
8、支援文章分享、收藏、筆記、評論功能。
9、支援收藏、筆記資料同步到伺服器。

總計設計:

1、Android客戶端採用 Tab + 側邊欄的整體佈局

2、伺服器採用新浪SAE部署, 採用PHP + MySQL 開發 ,資料互動採用 java通過http呼叫php restful介面


一款android App需要考慮的問題:

1、UI設計: UI是大眾的弱點,如果想開發一款不錯的應用,簡單的ps要會
2、有無網路資料處是讀快取、還是從網路讀取
3、資料快取:伺服器快取和本地資料快取
4、資料同步: 伺服器和本地資料同步、UI介面資料同步
5、載入loading、載入失敗、失敗重試
6、訊息通知: 客戶端主動拉取或者實現伺服器推送
7、登陸與分享:自由賬號與第三方賬號打通、分享定製
8、首次載入速度: 釋出app前,把一部分資料打包在app中
9、統計資料:用於統計使用者習慣、後續功能完善和資料調整的依據
10、整合第三方登陸:QQ登陸和新浪微博登陸標配
11、安全性:獲取請求的安全性、使用者輸入安全性、評論防刷問題等
12、相容性問題
13、架構的可用性,便於後續專案開發


常用系統元件和開源元件:


1、Fragment
需要解決Fragment隱藏與顯示重疊問題
需要解決由後臺切回前臺Fragment被銷燬,導致顯示非常慢

2、側邊欄
slidingmenu 或者 NavigationDraw

3、圖片載入: imageLoader
相容性問題,部分遠端圖片無法載入顯示

4、HTTP非同步載入android-async-http

5、上拉下拉重新整理: pullrefresh
1、需要解決相容性問題,mx3滾動有問題,會自動拉出很大一塊空白
2、上拉和下拉文案共用,需要解決上拉和下拉文案的不同

6、tab控制元件 PagerSlidingTabStrip
1、需要Tab解決樣式定製問題
2、需要解決tab快取和惰性載入

7、SAXParser 解析 rss
1、遇到引入第三方解析jar包時, 執行時找不類, 但類其實是有的
2、遇到了解析CSDN部落格文章時無法解析標題到標題的bug

8、整合QQ登陸和騰訊微博登陸
1、 登陸無法拿到QQ和賬號,需要自己解決第三方賬號與自由賬號打通問題
2、 QQ 影象無法用imageLoader載入

9、分享元件可以呼叫系統的,也可以使用第三方元件ShareSDK

10、訊息推送
1、自己實現推送:主動拉取 或者 socket通訊
2、可以整合第三方訊息推送、比如百度雲推送、雲之訊等


11、UI設計

1、iconpng.com iconfinder.com easyicon.com
2、使用photoshop ps自己需要的圖片
3、付費讓UI設計人員幫你設計

廣告平臺:

豌豆莢、廣點通、 有米廣告、 點樂積分牆、 多盟廣告等等


應用市場:

應用寶、豌豆莢、百度、91、安智、安卓、360、華為(暫不允許個人提交的應用)、小米、魅族等

應用稽核:
稽核都要3--10天左右,需要提供身份證明或者簽訂協議,部分市場某些應用不允許上架。特別廣告和積分牆的應用。