不知道大家是否有日常記賬的習慣,反正我有,這些年我一直使用某魚記賬APP,但是最近它廣告實在太多,于是突然萌生了自己做一個适合自己的記賬App的想法。
雖然我算是個程式員,但是我平時隻用彙編和C,對于面向對象的C++/Java都沒學過。白天需要上班,隻能夜深人靜的時候,撸會兒代碼,算是給生活增添一份樂趣吧。
首先我相信程式設計語言是相通的,百度了下,在網上找到了廖雪峰的官方網站之JAVA教程,順便加了那個微信交流群,花了幾天時間對Java常見文法和名稱有一定的了解,例如Android常用的extend/implement。
然後我在淘寶了一本《Android Studio開發實戰》,也加了對應的QQ交流群,花了兩周學習了下Android基礎,需要掌握到什麼程度呢?書上程式你會拿來當模闆套就行了。
最後我就開始動手了,經過一周多時間,已經能滿足自己記賬需求了。先看下界面,然後說下具體使用到Android中哪些功能子產品組裝起來的。
開發前先自報下開發環境,因為自己打算做Android記賬App是今年11月底了,是以安裝的軟體都是最新的。
Android Studio3.5.2 + JDK 13.0.1。
記賬軟體主要包括記賬、查賬和删賬,顯示部分做了按月查消費比例;按年查月消費折線圖;按年查每月收支結餘。
使用的書上的主要技術如下:
1、資料存儲,采用SQLite存儲賬單;
2、首頁的餅圖/折線圖/表格圖使用的是GridLayoutManager;
3、首頁的banner使用的是自定義動畫技術;
4、賬單顯示,使用的是LinearLayoutManager;
5、查賬和記賬支援翻頁,使用的是FragmentPagerAdapter;
6、導航欄,使用的是OverflowMenu;
7、底部标簽,使用的是基于ActivityGroup的标簽欄;
8、年份選擇、月份選擇功能,是基于DatePicker做的裁剪;
9、使用到的基礎控件包括TextView/EditText/Button/ Spinner;
10、餅圖和折線圖使用github上基于View做的封裝庫;
11、涉及到其他技術如碎片fragment,需要知道application的生命周期。
最後考慮到以後我要換手機,怎麼解決資料丢失問題?可以使用adb把sql資料庫導出,等換了新手機安裝完軟體後,再把sql資料庫放回去,這樣以前寫的賬單都不會丢失啦。
另外,手機不用root,使用run-as指令可直接進入app資料庫所在目錄。
寫在最後,因為完全是Android門外漢,是以也是臨時興起,邊看邊學,解決自己的實際需求的,是以App談不上美觀,更談不上品質,純滿足自己可用而已。
更多源碼,可以關注如下公衆号擷取。
歡迎掃碼關注,一起學習Linux