發表文章

目前顯示的是有「Android」標籤的文章

Android - ANR

最後一行 Log com.google.android.gms.internal.ads.zzgkk.<clinit>   (com.google.android.gms:play-services-ads@@23.5.0:1)   可辨識來自 AdMob com.google.android.gms.ads.BaseAdView.loadAd   (com.google.android.gms:play-services-ads-lite@@23.5.0:5) 回報裝置資訊如下。

Android Studio Koala - Inlay Hints

昨天把 Android Studio 更新到 Koala 後,發現 Kotlin Lambda 的參數提示不見了。 個人認為該提示對開發速度有一定的助力,於是找了一下設定,最後找到了。

20200131 Crash-free statistics

圖片
臭屁一下 Android 最新版 01/15 上線到現在 無問題發生 iOS 最新版 01/16 上線到現在 出現兩個錯誤,不過是前人種的樹。

20200116 Android Full Screen Immersive

剛在研究 Android 的全螢幕 View.SYSTEM_UI_FLAG_FULLSCREEN                                        - API Level 16, Android 4.1 Jelly Bean 此旗標是用來暫時隱藏所謂的 status bar status bar 就是手機最上方顯示時間、訊號強度、電信業者名稱與其它通知的那個條狀區域。 此旗標的效果其實是跟 WindowManager.LayoutParams.FLAG_FULLSCREEN 是一樣的。不同的是,如果 ActionBar 使用的是 overlay mode,那此旗標會一併把 ActionBar 隱藏起來。 如果像遊戲,會長時間停留在全螢幕模式,則建議使用 window 的旗標。 提醒:此旗標只是暫時性的,它會在某些系統狀態下被移除,像是進入待機模式或切換至其它 App 後再回到原來畫面時,status bar 就會再次顯示。 --- View.SYSTEM_UI_FLAG_HIDE_NAVIGATION                                        - API Level 14, Android 4.0 Ice Cream Sandwich 此旗標是用來暫時隱藏所謂的 system navigation system navig...

200115 Gradle DSL method not found: '1.3.61()'

話說 今天在練習新增 Module 新增的 Module 類別為 Phone & Tablet Module 新增完後 在 Gradle sync 時 出現以下錯誤訊息 Gradle DSL method not found: '1.3.61()' Possible causes: The project 'xxx' may be using a version of the Android Gradle plug-in that does not contain the method (e.g. 'testCompile' was added in 1.1.0). Upgrade plugin to version 3.5.3 and sync project The project 'xxx' may be using a version of Gradle that does not contain the method. Open Gradle wrapper file The build file may be missing a Gradle plugin. Apply Gradle plugin ----- 東找西找 找不到解決方案 ----- 後來發現 Gradle 有以下這樣的情況 buildscript { ext.kotlin_version = '1.3.61' '1.3.50' ----- 在新增 Module 時 會把 '新版號' 插入? 而不是取代!? ----- 後來把後面的 '1.3.50' 刪除後再 [Try again] 就過了 ----- 以上供各位參考

200107 Crash-free statistics

圖片
目前任職公司 2019-09-04 報到 接手的工作計有 Android App、iOS App 與 Firebase TypeScript,另外還有 STB。 昨天瞄到,Android 的 Crashlytics 顯示為 100% crash-free 剛查看了一下,從 2019-12-26 開始就一直維持在 100.00% crash-free。

191218 Android RecyclerView

androidx RecyclerView 使用 RecyclerView 有兩個重點 1. LayoutManager 2. Adapter 1. LayoutManager 就是看您的 RecyclerView 所要使用的佈局 常用的有 LinearLayoutManager (一維) 與 GridLayoutManager (二維) 2. Adapter 使用的是 RecyclerView.Adapter<VH extends ViewHolder> 先來看 RecyclerView.ViewHolder class ExampleViewHolder( v:View ): RecyclerView.ViewHolder( v ) {} 再來看  RecyclerView.Adapter<VH extends ViewHolder> class ExampleAdapter: RecyclerView.Adapter<ExampleViewHolder>()  有三個 abstract method 要實作 1. getItemCount() : 回傳 RecyclerView 中要顯示的個數。 2. onBindViewHolder(VH holder, int position) : 要顯示的資料在此指派。   onBindViewHolder(VH holder, int position) { holder.itemView.tv_name.text = "aaa" } 3. onCreateViewHolder(ViewGroup parent, int viewType): RecyclerView 中的 item 所要使用的 View 在此建立。   onCreateViewHolder(ViewGroup parent, int viewType): ExampleViewHolder { val li = LayoutInflater.from( parent. context ) val v = li.inflate( R.layout.recycl...

191218 Android ConstraintLayout Guideline

今天在設計 STB 主畫面 老闆前幾天曾表達說 以畫面左邊為主選單 右邊的區域再看要顯示什麼 所以我想先以畫面的五分之一來做為主選單的寬度 (不確定適不適合,看過後再來調整) 最先想到的是用 LinearLayout layout_weight 使用 1 與 4 但之前看過一篇文章 其中建議使用 ConstraintLayout 但 ConstraintLayout 可以用比例的方式來呈現嗎? 我用關鍵字 "Android Constraintlayout quarter" (因為我一開始想用四分之一,所以用 quarter 下去找) 找到以下這篇 https://stackoverflow.com/questions/45652296/constraintlayout-how-to-have-a-view-be-half-the-screen-width-and-centered 他使用了 Guideline androidx 的 Guideline 文件如下 https://developer.android.com/reference/androidx/constraintlayout/widget/Guideline 其中講到 垂直的參考線,其寬度為 0 而水平的參考線,其高度為 0

191203 Android Realm

如果您遇上了以下這樣的問題 RealmException, xxx is not part of the schema for this Realm. 網路上的 Solution 都 try 過了一遍還是無解 可以看一下新增的 RealmObject / RealmModel 是否跟 RealmConfiguration 是在同一個 Module --- 如果不是同一個 Module 把新增的 RealmObject / RealmModel 移至 RealmConfiguration 所屬的 Module 中 此問題應該就可解決。

190628 Android 送審 筆記

圖片
送審要透過 Google Play Console。 研究了一下存取 Google Play Console 的方式。 1. 先訪問 developer.android.com ,如下圖。 2. 點選上圖頂端選單的 [Google Play]。網頁載入後,如下圖,網址會變成 developer.android.com/distribute 3. 點選 [Launch Play Console] 就會進入 Play Console 首頁,如下圖。

190312 startActivityForResult Intent.FLAG_ACTIVITY_FORWARD_RESULT

我需要的情況 A start B, A finished B start C, C start A, C finished, B needs to be finished also 於是找到以下這篇文章 https://medium.com/@douglas.iacovelli/android-send-result-back-through-multiple-activities-finished-or-not-4c2ba9e95112 A 1. startActivity 2. finish B 1. startActivityForResult 2. onActivityResult C 1. setResult 2. startActivity 3. finish