原创 舊機寶開發筆記之:自定義刷新控件(兼RecyclerView)的使用

之前定義的刷新控件在使用的時候,基本等同於RecyclerView的使用,對於刷新操作只是增加了一個加載數據的回調罷了,因而本篇說是之前刷新控件的使用,大部分內容還是RecyclerView的使用。 舊機寶的“設備頁”打算分爲三種

原创 舊機寶開發筆記之:Android Studio集成protobuf

1、項目的build.gradle文件的buildscript/dependencies增加如下內容 classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.10' 整

原创 舊機寶開發筆記之:BottomNavigationView+ViewPager+Fragment實現的APP首頁

舊機寶原本打算採用類似於QQ的側邊劃出菜單的首頁佈局,但是鑑於目前的全面屏手機傾向於用屏幕側邊滑動來代替之前的返回按鈕,導致側邊劃出菜單的體驗不是很好,容易混淆,故而選用下方導航欄的經典頁面佈局。又因爲之前有人評價首頁直接可以左右

原创 舊機寶開發筆記之:SwipeRefreshLayout+RecyclerView實現的下拉刷新上劃加載更多控件

舊機寶的用戶反饋、設備列表、功能列表等等都有可能存在大量數據,需要進行分頁顯示,一個下拉刷新上劃加載更多的控件是非常有必要的。這個時候就想到了原生的下拉刷新控件SwipeRefreshLayout,原生的應該支持最好也最簡單純粹,

原创 舊機寶開發筆記之:目錄

“舊機寶”這個應用的開發,有兩個目的: 1、通過將舊手機變成一些有用的工具來讓曾經陪伴我們的舊手機繼續發光發熱,避免喫灰終老的命運。 2、通過舊機寶來學習、驗證、練習、記錄一個完整app開發過程中會用到的各種技術、技巧。 一切

原创 舊機寶開發筆記之:protobuf(PB)、GSON、JSON的選用

之前的項目大多使用GSON,理由是序列化和反序列化非常方便,又是使用廣泛的多平臺JSON格式,尤其爲第三方應用提供aidl接口的時候,如果有些數據不方便傳遞給第三方,而平臺又一股腦的用經典的JSON格式都返回了(有些字段只有應用內

原创 舊機寶開發筆記之:RN開發編譯器的選擇

學習RN開發的人大多是從其他領域延伸而來,因爲RN目前可以跨越android、ios和web,那麼學習RN的羣體中主要就包括android開發者、ios開發者和web開發者,此外再增加一個直接入門RN沒有其他任何基礎的情況(項目所

原创 舊機寶開發筆記之:RN應用和Native應用之間的通信(回調)

雖然完成了RN對原生方法最簡單的調用,但是這種調用是單向的、沒有迴應的,這讓很多需要“交互”的邏輯很難進行,現在我們模仿原生代碼來尋找解決方案。 思路 java類中的方法是怎樣和調用者“交互”的呢?常見方法如下: 利用方法的返回

原创 舊機寶開發筆記之:RN應用的導航React Navigation(入門)

RN應用是顯示在原生的一個頁面(Activity)中的,並且RN只有一個入口,但是RN應用可能包含多個頁面,那麼RN怎麼做頁面跳轉呢?有安卓開發經驗的可能會想:既然RN是加載在一個Activity裏,本來安卓原生裏就是用一個act

原创 舊機寶開發筆記之:RN應用和Native應用之間的通信(入門)

前言 RN主要用於編寫UI,原生API的調用、網絡通信等等複雜的邏輯則大多是通過原生代碼去實現的。那麼RN和原生代碼是怎麼交互的呢? 官網在此 以下以安卓平臺原生爲例,我們按照官網的教程來實現這樣一個交互demo,藉此來了解互相調

原创 舊機寶開發筆記之:崩潰日誌採集

安卓app運行過程中會產生一些異常(Exception),當這些異常能夠被捕獲的時候,程序本身就可以通過try/catch來處理異常,但是當這些異常不能被捕獲(UncaughtException)的時候,就交給系統的默認的未捕獲異

原创 舊機寶開發筆記之:通過網絡調試

確保androidstudio和測試機在同一局域網。 1、連接設備 將設備打開開發者模式、usb調試(usb安裝),通過數據線連接電腦,輸入命令行查看是否有設備連接。 adb devices 通過androidstudio查

原创 舊機寶開發筆記之:局域網內android設備的發現和通信

舊機寶需要在一個局域網內(同一wifi下)實現設備的發現和通信功能。對於設備的發現,包括主動去搜尋別的設備以及主動聲明自身的存在。對於通信則要求通信的句柄和設備的基本信息存儲起來以供下次使用。實現的原理非常簡單,創建sockets

原创 fantool:啓動頁廣告

新建啓動頁Activity,不用帶頁面,繼承FanGDTStartupActivity(騰訊)、FanBDStartupActivity(百度)、FanMiStartupActivity(小米)三者之一,實現對應方法。 其中用到的

原创 fantool:安卓客戶端集成

安卓客戶端集成fantool的方式非常簡單,在gradle中添加包依賴: implementation "wang.buxiang.fantool:fantool:0.1.20" 值得注意的是,當依賴fantool以後,以下包也