目前分類:Android (119)

瀏覽方式: 標題列表 簡短摘要

今天在用 Fragment 時,看到了一個值 RetainInstance

這個參數的預設值是 false

若是改為 true 則會將 Fragment 做保留的動作,如下

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRetainInstance(true);
    。。。
}

保留是什麼意思呢?

當 Activity 重建時 (如:螢幕轉向)


文章標籤

顏澤偉 發表在 痞客邦 留言(0) 人氣()

JSON因為其使用方便性與跨平台適用性,應該是目前為止最常見的傳輸格式了

在 Android 中,我們會用 Gson 來做格式解析

Gson 可以自動幫我們轉成 Object 是個很方便的類

但有種情況是 JSON 的 field name 不是我們想要的

我們的物件屬性名需與 JSON 一致才能轉換,導致閱讀上的問題

文章標籤

顏澤偉 發表在 痞客邦 留言(0) 人氣()

今天我們就來說說 AsyncTask 該怎麼用

還有他後面的 < void, void, void > 三個參數的作用吧!! 

我們就從解說官方的範例開始吧,code 如下:

private class DownloadFilesTask extends AsyncTask {
     protected Long doInBackground(URL... urls) {
         int count = urls.length;
         long totalSize = 0;
         for (int i = 0; i < count; i++) {
             totalSize += Downloader.downloadFile(urls[i]);
             publishProgress((int) ((i / (float) count) * 100));
             // Escape early if cancel() is called
             if (isCancelled()) break;
         }
         return totalSize;
     }

     protected void onProgressUpdate(Integer... progress) {
         setProgressPercent(progress[0]);
     }

     protected void onPostExecute(Long result) {
         showDialog("Downloaded " + result + " bytes");
     }
 }

 

先說後面的三個參數分別代表

顏澤偉 發表在 痞客邦 留言(0) 人氣()

今天看到了一段code是和ssl憑證有關的

用到了MessageDigest來進行解譯

想說加個註解,了解一下code的行為在做什麼

private static byte[] getFingerprint(String httpsURL) 
throws IOException, NoSuchAlgorithmException
, CertificateException, CertificateEncodingException {

    final HttpsURLConnection con = 
      (HttpsURLConnection) new URL(httpsURL).openConnection();
    con.setConnectTimeout(5000);
    con.connect();

    final Certificate cert = con.getServerCertificates()[0];
    final MessageDigest md = MessageDigest.getInstance("SHA1");
    md.update(cert.getEncoded());
    return md.digest();

}

由於公司案子的設計偷懶,沒有把憑證放於app之中

故我是從說好的url取得 certificate

文章標籤

顏澤偉 發表在 痞客邦 留言(0) 人氣()

今天看到專案中運用到 Retrofit

便好奇的 google 一下各大相同類型框架的優缺點

了解為何公司會採取 Retrofit 的原因

看了一段不錯的比較表格

記錄下來分享給大家

文章標籤

顏澤偉 發表在 痞客邦 留言(0) 人氣()

今天遇到一個小問題
可能是新版的沒有內建技援

 

所以Android Studio 升級到2.3.1
gradle 插件版本升級到2.3之後

文章標籤

顏澤偉 發表在 痞客邦 留言(4) 人氣()

今天要來講的主題是 Web 與 Android 的溝通
Android 可以與 JavaScript 互相溝通
調用彼此的 function 來做一些 native 的事情
比如說跳 Toast 訊息、傳推播…等。

 

文章標籤

顏澤偉 發表在 痞客邦 留言(0) 人氣()

有沒有人也遇過這個問題呢?
Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.

 

我平常都是用 Genymotion 來測試的
今天突然就遇上這個問題了

文章標籤

顏澤偉 發表在 痞客邦 留言(0) 人氣()

大家還記得我們的 drawable 資料夾有分好幾個吧?
每隻手機有不同的 dpi
所以就對映著不同資料夾

 

點我看怎麼得到 dpi // Willy's Fish教學筆記』Android 如何取得螢幕資訊 Screen Info (寬、高、密度 density、dpi、xdp、ydp、scaledDensity) ?

文章標籤

顏澤偉 發表在 痞客邦 留言(0) 人氣()

這是我在做 google sign in 功能時遇到的錯誤
完整的訊息為

 

Error:Execution failed for task ':app:processDebugGoogleServices'.
> Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 9.0.0.

文章標籤

顏澤偉 發表在 痞客邦 留言(0) 人氣()

Glide 是 Google 推薦的一個處理圈片的套件

 

有興趣可以點擊我

 

但在大圖片的處理上,有時候會遇到顏色偏綠的問題

文章標籤

顏澤偉 發表在 痞客邦 留言(0) 人氣()

Android 的螢幕大小問題,已是老生常談
據統計,至 2015 年止
Android 的螢幕尺寸就高達 "2萬" 多種
您沒看錯,就是2萬多

 

顏澤偉 發表在 痞客邦 留言(0) 人氣()

今天發生了一個問題
java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.dingok.centuryasia-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.dingok.centuryasia-1, /system/lib]]……

 

這是我在測試階段發生的
由於在開發階段都是用 Android 7.0 的模擬器

顏澤偉 發表在 痞客邦 留言(1) 人氣()

很多人都說
不要使用 com.google.android.gms:play-services
倒底為什麼呢?

 

因為如果用了

顏澤偉 發表在 痞客邦 留言(0) 人氣()

問題是這樣子的
我的專案中有支援 Facebook Login
在測試的時候
有兩台測試機,都是用同一個 apk 測試的
卻有一台跑出這個錯誤,沒辦法登入

顏澤偉 發表在 痞客邦 留言(0) 人氣()

在做 Facebook Login 時
一般來說 SDK 會開啟 WebView 畫面來執行登入
這樣會讓使用者在每次都需要重新登入一次

 

如果可以用 Chrome 來執行的話

顏澤偉 發表在 痞客邦 留言(0) 人氣()

使用到 Facebook SDK 時
會需要一組 Hash Key 來使 Facebook 辯別我們的 App

 

雖然官網有提供指令讓人使用
但如果不想要安裝 openssl

顏澤偉 發表在 痞客邦 留言(0) 人氣()

上一篇文章我們已經把設定都做好了
現在來要說說看怎麼實作在我們的 App 之中

 

點我複習:
Willy's Fish教學筆記』Android 如何讓自己的 App 整合 Facebook Sign In SDK,實作 login 功能教學 (設定篇)

顏澤偉 發表在 痞客邦 留言(0) 人氣()

我們今天要在 app 中
加入 Facebook 登入的功能
以提升使用者 註冊 & 登入 的方便度

 

現在就讓我們照著官網教學步驟一步一步的前進吧 !

顏澤偉 發表在 痞客邦 留言(0) 人氣()

Android 一直以來都有個令人頭痛的問題
那就是螢幕的大小真是千奇百怪
也因此很多時候我們需要螢幕資訊來幫助我們建立畫面

 

那要如何得到呢?

顏澤偉 發表在 痞客邦 留言(0) 人氣()