發表文章

Flutter - 開始

圖片
Flutter 是由 Google 主導的 Dart 程式語言編寫,其目的在於整合原生行動平台以及性能,利於快速開發跨平台應用程式。 今天嘗試了一下Flutter,詳細安裝介紹: https://flutter.dev/docs/get-started/install 在執行flutter doctor時取不到Android SDK... 原來是因為電腦已經安裝了Android Studio,且Android SDK位置是當時自定義的,於是執行 flutter config --android-sdk <path-to-your-android-sdk-path> 指定SDK對應位置,成功將APP運作在手機上 或是我們可以在Android Studio指定Flutter的Android SDK執行,設定操作~Android Studio -> Flie -> Project Structure... -> Project -> Project SDK 

Android - multiple threads 多執行緒重用

假如想要載入圖片? 我們可以用 Thread 來做到,且不影響使用者當下的操作。 假如持續有很多張圖片 ? 將不斷創建 Thread,這會使各個 Thread 搶占資源,導致資源不夠用而OOM...... 這時候可以用ThreadPoolExecutor來解決,使 Thread 重用 private static ExecutorService fixed; // newCachedThreadPool 方法 if (fixed == null || fixed.isTerminated() || fixed.isShutdown()) {     // 無次數限制,但不保證順序性     fixed = Executors.newCachedThreadPool(); } if (fixed != null && !fixed.isTerminated() && !fixed.isShutdown()) {     fixed.execute(new ImageRunnableOneNew(mImageDequeOne)); }

Android - 混淆後 Log 未消失

將APK反組譯後發現程式碼裡的Log清清楚楚的存在著... 於是參考官方的說明: https://developer.android.com/studio/build/shrink-code 將 app/build.gradle 內的 proguard-android.txt 改為使用 proguard-android-optimize.txt 並反組譯 後,證實Log不存在。 補上 proguard-rules.pro設定 -assumenosideeffects class android.util.Log {     public static *** d(...);     public static *** v(...);     public static *** i(...);     public static *** e(...); }

Android - TextView Html.fromHtml background-color 沒用

試著將TextView內某段文字加上背景色及文字顏色 首先嘗試了 tv_title.setText(Html.fromHtml("<span style='color:#FFFFFF;background-color:#2398f5;padding:0 8px;'>" + piece + "</span>")); 沒有效果...... 另尋他路,找到原生有提供一些Span可以使用 BackgroundColorSpan 設定背景色 ForegroundColorSpan 設定文字色 // 程式碼-------------------- SpannableString mText = new SpannableString("Text with a background color span"); // 套用第一個Span mText.setSpan(new BackgroundColorSpan(getResources().getColor(R.color.blue)), 12, 28, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); // 套用第二個Span mText.setSpan(new ForegroundColorSpan(Color.parseColor("#ffffff")), 12, 28, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); // 設定文字 tv_title.setText(mText); // 程式碼-------------------- 當然不只這些,有空再補上紀錄~ 參考: https://developer.android.com/reference/android/text/style/BackgroundColorSpan

Android - Webview href 開啟手機應用程式及傳值

在Android裡的Webview是不是能夠喚起手機裡的其他應用程式呢? web html 加入與APP對應的內容 測試開啟手機 zxing <a href=\"intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=market://details?id=com.google.android.youtube;end\"> Take a QR code </a> 測試開啟手機 youtube <a href=\"intent://8xn9iq3lG_w/#Intent;scheme=vnd.youtube;package=com.google.android.youtube;S.browser_fallback_url=market://details?id=com.google.android.youtube;end;\">youtube or market</a> 使用參數 intent:    HOST/URI-path // Optional host    #Intent;       package=[string];       action=[string];       category=[string];       component=[string];       scheme=[string];    end; Chrome 說明:https://developer.chrome.com/multidevice/android/intents

Android Studio - :app:processDebugManifest 宣告集中不允許內容

錯誤訊息 Error:Execution failed for task ':app:processDebugManifest'. > com.android.manifmerger.ManifestMerger2$MergeFailureException: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 宣告集中不允許內容。 解決方法 build.gradle內的classpath 'com.android.tools.build:gradle:2.3.0'改為classpath 'com.android.tools.build:gradle:2.2.3'

Android - drawable圓角框線

1.在drawable資料夾下新增xml <?xml version="1.0" encoding="utf-8"?> <shape     xmlns:android="http://schemas.android.com/apk/res/android"     android:shape="oval"     >     <!--     shape的類型含有:     1.rectangle - 長方形、矩形     2.oval - 橢圓形、卵形     3.line - 線     4.ring - 環形     -->     <!-- 圓角,Layout佈局圓角幅度設定值 -->     <corners         android:radius="15dp"         />     <!-- 框內底部顏色 -->     <solid         android:color="@color/dialog_button_dark"         />     <!-- padding內縮距離 -->     <padding         android:left="5dp"         android:right="5dp"         android:top="1dp"         android:bottom="1dp" ...