一個碼農的非典型日常愛好

不知道大家是否有日常記賬的習慣,反正我有,這些年我一直使用某魚記賬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

發佈了57 篇原創文章 · 獲贊 63 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章