记一个简单Android图书阅读器的制作过程
記一個簡單圖書閱讀器的制作過程
微瀾 2018/9/27 qq:9611153
?
從有個想法,到到一個可用程序,斷斷續續幾個月,花上不少的功夫,即便是簡單的程序一個人寫下來也是很難的。越寫越是發現,想要做好一個東西,實在是沒有盡頭,匆匆打一個結,等到以后有時間了,有了足夠多的時間和精力再去完善。
做程序,不管大小,在我看來,也無外乎:把想法變成計劃,把計劃變成框架,把框架變成成品,想變成商品還要宣傳。
1、需求
從個人需求和角度出發,自己想要一個什么東西,獲取別人也有類似的困惑和想法。
經常在網上看小說,有時候會覺得廣告太多,運行太慢。無聊的時候看新聞,也會覺得不是很感興趣的東西也會搜索到。于是想到了自己或許可以寫個小程序,放一些自己感興趣的東西。
?
總結下來,自己想要的東西無非就是兩個:
1)、把自己感興趣的書管理起來
2)、把感興趣的新聞組管理起來
有時候,會覺得很簡單,可是自己也是經歷和很久,才知道自己到底想要什么。
?
2、計劃
?
計劃總是理想的東西,也算是目標,沒有計劃可能動力就會少很多。只有合理的計劃,合理的目標才能一鼓作氣完成。若是不切實際,不考慮自身條件和資源特質,想做一個好的東西,結果也只能像打水漂,一個個的飄過去,最后沉入水底。
不過我們都是人在職場,身不由己,不可能有完整的時間讓你做自己的事情。
因此,自己使用了迭代的方法,不至于感覺到自己的想法太過渺茫。
1)、制定一個簡單的框架
2)、建立后臺查詢webservice接口,能夠查詢數據列表,和文件位置。
3)、實現小文本書籍程序(一個唐詩三百首的簡單程序)
4)、實現大文本書籍閱讀(四大名著翻閱)
5)、實現新聞組閱讀
6)、對幾個小程序進行集成。
7)、后臺使用sqlite數據庫,支持基本數據存儲。前臺使用sqlite實現數據緩存支持離線閱讀。
?每一步都需要都需要在盡可能集中的時間盡快完成,不然就可能被打斷。
?
3、構架
所謂麻雀雖小,五臟俱全,即便它很小,該有的總還是要有,只不過是縮減版。
做這個小程序,需要申請一個云服務器,最簡單的那種,1元/天,作為學習和實驗已經夠用。不過所有的東西都要省著用,計算資源,網絡資源依然是個負擔,能不用盡量不用。有點像大城市的房子,如果只有巴掌大的地方,那么每個地方都要省著用。
如果從較大的視野看,這個程序算起來也實在是小,無外乎就是租用一個外部服務器,然后做一個webservice服務,然后在app上把數據展示出來。沒有負載均衡,沒有用大型數據庫,沒有文件服務器,沒有復雜的業務邏輯,甚至也不敢采用未知的技術,然而就是這么說起來的一點點東西,那么實現其中的那么一點點,也是不容易的事情。
若是一定要說說框架,那就是:
?
4、技術
受限于資源,不可能把程序做的很大,所用的技術也不用最新,深度難度深度不大,所求的不過是一個完整可用的程序。
這個程序沒有使用H5,沒有使用JNI,僅僅使用java去完成服務端和客戶端的整個程序。
這個過程中依然遇到了一些通用的技術,比如:
服務器的搭建,tomcat的安裝部署,spring+cxf服務搭建,日志部署,mybatis+sqlite的使用,json對象轉換,MyBatisGeneratorTool表映射,數據查詢,文本文件壓縮加密分割等。
App框架選用,restful接口訪問,分辨率自適應,程序升級,版本管理,閱讀翻頁,數據緩存,標簽處理,greendao數據映射,數據列表拖動,以及各種各樣的界面問題。
只要程序向前走總會遇到各種問題,而且一旦程序規模達到一定程序,那就不能隨意的更改,只能是更加小心,實現備份,并且先進性適當的規劃和預研才可以動手。
?
5、過程
軟件開發的過程總是反反復復,想做的,設計的,實際完成的總會有很多的出入。今天想到的,明天可能有不同,實際做的時候,又發現因為其他的原因導致需要變通的去做。
??
從資源,時間和精力來說,在沒有外力的情況下,一個人想把東西做好,可能性很小,那就存在適度的問題,到底做到何種程度才算結束,才算是一個里程碑。
我想基本上夠用即可,不需要太多的功能,靈活的技巧,炫目的界面,自我認為可以了就結束了,畢竟這不是一個商業軟件。
程序做到一定時間,或者環境和心理發生,或許暫時不適合繼續做下去了,適當停一停。
預先想的索引,分類,黑夜模式,訂閱處理,html緩存和截取,界面優化,添加評論,添加注解,更多配置,自定義添加文章,自定義插件,安全加固等等,都是沒有做的。
?
6、總結
把這個小程序做一個結,雖然還有大量的想法沒有實現,但沒有關系了,以后有時間再說。
有時候堅持了,未必能夠實現什么,若是能夠實現什么,哪怕并不好,其實也沒什么。做軟件這一行,有時候感覺還不如賣包子,畢竟好與不好,都會有人去買,滿足了別人的肚子也算是對世界的貢獻。而我們呢,有時候做了很久也是對世界沒什么貢獻的。
做程序員這么久,反過來好像也沒什么進步,如果他也能像個包子店,或許還是一件好事,但是它不是。如果自己的東西真的能夠變成一個包子,其實倒也不錯,也只能這么想了。
無厘頭的說了這么多,也不見得會有人看,不過姑且作為對自己說的吧。井底之蛙讓看官見笑了。
?
貼上apk網址,也許以后還會繼續開發,有興趣的朋友可以提點意見。
?
微瀾電子書
https://pan.baidu.com/s/1VteoUBsas0XTlv4APiHcAA
前期兩個鋪墊
唐詩三百首
https://pan.baidu.com/s/1ey68_FjdwV2jr8txYGW80w
四大名著
https://pan.baidu.com/s/1teB1MODF5ntCW9_-miunsQ
??
總結
以上是生活随笔為你收集整理的记一个简单Android图书阅读器的制作过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CTB全球创新大挑战组队中 全新课题火热
- 下一篇: Android虚拟化