發表文章

Godot 使用Android module 踩坑步驟,一踩就上手

圖片
範例影片: https://www.youtube.com/watch?v=rbr3a7xh4dk 參考網址: https://docs.godotengine.org/en/3.1/development/compiling/compiling_for_android.html 作業系統:Mac OSX 由於我需要修改 godot 對輸出 Android 平台的設置,需要修改Android manifest 並且使用Android Class(Content provider) 去達到 多個應用程式共用資料,需要使用 godot GitHub 上的 Godot IDE source 。 Step 1. 打開Terminal,git clone https://github.com/godotengine/godot.git Step 2.  cd godot/ Step 3. 這時候你可以先在godot/ 資料夾內,這邊使用scons自動構建工具去安裝平台的套件套件,輸入scons看看,如果找不到,需要上網搜尋如何安裝scons。 Step 4. 安裝好scons後,輸入scons看看有幾個平台,如果沒有Android,你要先把SDK、NDK路徑先設定好, 這篇 給你參考。 *** 注意這邊我為什麼用ndk-r15c(第一坑)呢,因為我遇到 這個問題 *** 順邊貼上我自己的設定 Step 5. 設定完成後發現輸入scons 有多一個Android平台跑出來,此時輸入 scons platform = android Step 6. 安裝完成後, cd godot/bin/ chmod +x godot.osx.tools.64 ./godot.osx.tools.64 即可開啟Godot IDE Step 7. 接下來要 Building the export templates Step 8. 接下來  Installing the templates 設定debug release apk Step 9. Setting it up in Godot ,設定Adb Jarsigner Debug keystore,

Android FirebaseInstanceIdService is deprecated 已棄用

最近開啟專案發現 FirebaseInstanceIdService onTokenRefresh() 方法已棄用了。 查詢一下 官方文件 發現將此方法改用 FirebaseMessagingService onNewToken  取代 這意味著無需使用 FirebaseInstanceIdService 服務來獲取FCM令牌。您可以安全地刪除   FirebaseInstanceIdService 服務 範例代碼: public class MyFirebaseMessagingService extends FirebaseMessagingService { @Override public void onNewToken(String s) { super.onNewToken(s); Log.e("NEW_TOKEN",s); } @Override public void onMessageReceived(RemoteMessage remoteMessage) { super.onMessageReceived(remoteMessage); } } 希望你能在這裡得到解決方案。

Android get file extension 取得文件的副檔名

筆記用途 // 取得文件的副檔名 private String getFileExtension(Uri uri) { ContentResolver contentResolver = getContentResolver(); MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton(); return mimeTypeMap.getExtensionFromMimeType(contentResolver.getType(uri)); } Done.

Android ContentProvider 實現多個應用程式共享資料

圖片
這篇文章探討的是如何在 單個 應用程式或者 多個 應用程式間做出 安全的共享資料 功能,此篇會運用到  ContentProvider + SQLite , ContentProvider為應用間的數據交互提供了一個安全的環境。它準許你把自己的應用數據根據需求開放給其它應用進行 新增(insert)、刪除(delete)、修改(update)、查詢(query) ,而不用擔心直接開放數據庫權限而帶來的安全問題。

Android FirebaseUI for Cloud Firestore - FirestoreRecyclerAdapter

根據上一篇 FireStore 文章的延伸, 今天這篇打算分享  FirestoreRecyclerAdapter , FirestoreRecyclerAdapter  是  FirebaseUI-Android  的其中一個部分的工具,在學習 firestore 發現這個東西非常好用 ,順便自己做個筆記用途,如有錯誤的地方,敬請留言告知。

Android 8.0 Oreo 通知頻道Notification channels

圖片
這是在我們針對API 26(Oreo)的應用中更新我們的FCM內容的快速提示。 我不得不更新當前的應用程序(將targetSdkVersion更改為26)以支持Android Oreo(8.0)。一切都很好(在以前的版本中),但在 Oreo,這不是快樂的情況。通知未按預期工作:當設備收到推送通知時,應用程序崩潰。這是logcat中的例外: Fatal Exception: java.lang.RuntimeException: Unable to start receiver com.google.firebase.iid.FirebaseInstanceIdInternalReceiver: java.lang.IllegalStateException: Not allowed to start service Intent { act=com.google.firebase.INSTANCE_ID_EVENT pkg=PACKAGE cmp=COMPONENT }: app is in background uid UidRecord{c5e5e69 u0a325 RCVR bg:+1m25s411ms idle procs:1 seq(0,0,0)} at android.app.ActivityThread.handleReceiver(ActivityThread.java:3397) at android.app.ActivityThread.-wrap18(Unknown Source) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1780) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6938) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote$MethodAndAr

Android Cloud Firestore - Real-time database

圖片
Cloud Firestore 是一個靈活,可擴展的數據庫,用於從 Firebase 和 Google Cloud Platform 進行移動,Web和服務器開發。與 Firebase 實時數據庫一樣,它可以通過 實時監聽器 使您的數據在客戶端應用程序之間 保持同步 ,並為移動和Web提供 離線支持 ,因此您可以構建響應式應用程序,無論網絡延遲或 Internet 連接如何,都能正常運行。 Cloud Firestore 還提供與其他 Firebase 和 Google Cloud Platform 產品的無縫集成,包括雲功能。