原创 初入Flutter

Google大力推廣Flutter,它主要體現在UI上的跨平臺支持,從最初的Android、Ios,到現在逐步有了web、windows、linux、macos、嵌入式設備,可謂一個跨平臺霸主。Flutter官網 Flutter優

原创 Wifi開啓情況下獲取移動網絡的Ip

遇到一個需求,需要在wifi開啓情況下也顯示出移動網絡的ip。平時使用的時候wifi開啓情況下,數據網絡默認是關閉了,所以是獲取不到IP的 現象 開數據情況下,用ifconfg查看網口: 能看到有數據網絡的網口,此時是沒有wif

原创 Flutter命令執行得不到結果

packages get 命令執行得不到結果 在添加依賴包後,執行packages get後卡住了 packages get Running "flutter packages get" in flutter_app... 出現這種

原创 Flutter配置鏡像

背景 由於國內外網絡原因,flutter在國內執行命令訪問的時候,可能出現訪問不了的情況。Flutter官方給咱們開放了一個鏡像,咱們可以通過鏡像地址下載packages等,當然如果能科學上網就更好啦, 處理 配置鏡像 當前提供的鏡像

原创 瞭解typedef

說明: C 語言提供了 typedef 關鍵字,咱們可以使用它來爲類型取一個新的名字 使用方法爲: typedef 原類型 新別名; 字段 說明 原類型 需要被定義的類型,如:char*、struct等 新別名 代

原创 C語言結構體內存對齊

結構體所佔用的內存,則爲其內部所有字段內存總和: struct Student { double doubleV; long longV; int intV; float floatV[2];

原创 Android-ColorMatrixColorFilter處理圖片灰度問題

偶爾需要處理灰度圖等時候,並沒有用兩套圖,而是使用一個圖加 ColorMatrixColorFilter方式來處理。 比如給一個seekbar的thumb圖片設置灰度: //getResources().getDrawable方式獲取

原创 AOP-Android

一. 介紹 以下介紹的其中部分內容是摘抄修改自網絡: AOP爲Aspect Oriented Programming的縮寫,意爲:面向切面編程,通過預編譯方式和運行期動態代理實現程序功能的統一維護的一種技術。 它並沒有幫助我們解決任何

原创 IOC-Android簡易實現BindView功能

IOC是Inversion of Control的縮寫,多數書籍翻譯成“控制反轉”。 IOC理論提出的觀點大體是這樣的:藉助於“第三方”實現具有依賴關係的對象之間的解耦,Martin Fowler探討到,是“獲得依賴對象的過程被反轉了

原创 Android-jni(10)-jni調用java父類方法

jni調用java父類方法,在知道這個之後,我感覺jni能做的事真是厲害。我們一起來看看它與java的不同 一. jni調用java父類方法 先做個準備: 準備一個Java父類和子類,People和Beibi: public cl

原创 Android-jni(7)-反編譯異常查看源代碼位置

在我們平時出現ndk異常,光是看錯誤是看不懂的,比如以下錯誤: A/libc: stack corruption detected (-fstack-protector) A/libc: Fatal signal 6 (SIGABRT

原创 Android-jni(6)-常見錯誤異常

NDK異常信息一般有三個要素: 信號 調用棧信息 寄存器信息 比如一下是一個空指針的錯誤信息: A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 3

原创 Android-jni(8)-jni調用java異常處理

咱們jni中異常了,前面說到了崩潰,除了jni中異常,前面文章說到了jni調用java,那麼調用java代碼執行異常了又是什麼情況,怎麼處理,這一篇記錄學習了。 一. 異常產生情況 Java的異常處理我想大家都很清晰了,有編譯時的異常

原创 Android-jni(9)-jni修改傳入數組的值

經常使用jni的時候,傳入一個數組用於接收數據,jni在計算完成之後,把數據給塞到傳入的數組中,java層使用該數據,看看使用方式。 修改傳入數組值 利用SetXXArrayRegion方法,XX代表各個類型比如Byte ja

原创 Android-NDK學習記錄5-Jni調用實例方法

上一篇看了jni調用靜態方法和修改靜態字段,這一篇學習了jni調用實例方法和修改實例字段 調用實例方法,步驟: 找到類:利用FindClass,找到類 找到要調用的方法id:利用GetMethodID,找到方法id 創建實例對象