原创 有限狀態機機制介紹及在Android中應用的實例

上來可能有疑問 什麼是狀態機?能幹什麼? 第一次聽說狀態機 是從遊戲開發技術中得來的。在遊戲開發中,可以使用狀態機控制npc的行爲,控制角色在 站立,追蹤敵人,攻擊敵人,逃跑等狀態進行切換。每一個狀態都會執行該狀態進行時執行的一系

原创 OpenGL ES 3.0 編程指南 windows10 環境編譯報錯解決

這本書該看的應該都看了,demo環境搭建就按照書中16章說的做就好了。 想說的是一個困擾了好幾天的問題,就是在Visual Studio 2017 下調試, 總是會報錯,內容爲 引發了異常: 讀取訪問權限衝突。 esContext

原创 各歷史版本NDK下載地址

https://developer.android.google.cn/ndk/downloads/older_releases.html

原创 安卓 使用了databinding,打包開啓混淆,需要額外處理嗎

最近項目打包時開啓了混淆,項目使用了databinding,擔心相關的代碼會被混淆影響。 因爲佈局文件綁定了許多實體類,以及viewModel的引用。 使用databinding可以安全地開啓混淆。 因爲編譯後,佈局文件的類引用會

原创 用java程序使windows電腦不自動鎖屏的方法

有時候電腦受管控,在很短的時間內就會鎖屏,帶來了很大的不便,通過控制面板是無法成功設置的。 於是寫了個java程序,通過5秒一次模擬ScrollLock鍵按鍵的方式阻止電腦自動鎖屏。 代碼如下 import javax.swing

原创 徹底理解OPENGLES 紋理是如何映射的

紋理,就是通過一系列表示顏色的數據,調用對應的GL函數,把繪製出來的幾何圖形,填充紋理數據所攜帶的顏色。 比如繪製了兩個三角形組成的矩形,沒有使用紋理的時候 是使用常量顏色填充的。 當使用紋理的時候 如何實現,可以通過《OPE

原创 openglES 3.0環境 glGetUniformLocation()返回 -1 的原因 從2.0遷移過來,GLSL函數需要改變

1 網上大部分說是因爲着色器代碼中沒有使用到這個變量,是一個原因 2 但是還有一個原因,openGL ES3.0 着色器代碼api發生了變化,比如在2.0中texture2D()函數在3.0中需要用texture()函數來替代。

原创 與程序員相關的 android apk包安裝時提示 “應用未安裝” 的原因

情景:機器上已經安裝了一個版本 如果調用系統的安裝流程,進行apk包的重新安裝,即,安裝apk是通過系統彈出如下彈窗 安裝apk。 如果出現提示 “應用未安裝” 如圖: 莫慌,不一定是安裝包損壞。 用adb install命令

原创 架構感悟2

要清楚知道哪些代碼要寫在框架層 哪些代碼要寫在業務層,需要寫在業務層的大膽寫在業務層 並不是追求全部寫在底層。 點贊 收藏 分享 文章舉報 AKBOT48 發佈了45

原创 架構感悟

架構時,需要將代碼分層三層,底層是基礎的服務,比如硬件調用的抽象接口 中間層是業務相關的底層調用,是實現了抽象接口的具體實現類, 頂層是業務代碼,調用中間層的實現的接口方法進行業務處理 點贊 收藏 分享

原创 Jetpack Room的一些事實

新項目嚐鮮,記錄一下以免忘記 1 不管新建表,還是某張表增減字段,字段變更,都要執行數據庫升級策略 2 一個Dao聲明可以支持多個表的查詢方法。 比如XXXDao既可以有queryAllUser();同時也可以有queryAllA

原创 databinding 結合RecyclerView 適配器帶來的坑 不顯示數據

有一個Recyclerview item佈局的顯示使用了databinding item佈局類似這樣 <?xml version="1.0" encoding="utf-8"?> <layout> <data>

原创 2019 最新 Android 平臺 ffmpeg 4.1.3 編譯流程 集成x264編碼庫 生成so文件

改良自博客 原文 毛毛v5 ffmpeg android ndk編譯,還是用的gcc,不會配置clang版的 編譯環境 1 Ubuntu 64位 2 NDK r19c 3 FFmpeg 4.1.3 源碼 (可以不提前下載) 4 x

原创 windows 編譯 x264 報錯 No working C compiler found 處理方法

編譯過程就不說了,網上好多都是可以的。 注意兩點 1 如果出現如題的錯誤,很可能是編譯腳本前幾行配置的NDK 路徑 和 工具鏈路徑不對 比如我的是這樣的 NDK=D:/ndk/android-ndk-r15c PLATFORM=$

原创 編譯x264後 對應的文件沒有在配置的目錄中的原因

因爲make後沒有執行 make install 只有 install後,lib include bin 目錄纔會出現在$PREFIX配置的目錄下面