facebook twitter hatena line email

「Android/非推奨コード」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(Android7.0以降getConfiguration().localeは非推奨)
行21: 行21:
  
 
==Android7.0以降getConfiguration().localeは非推奨==
 
==Android7.0以降getConfiguration().localeは非推奨==
  Locale locale;
+
  Locale locale = AppStatic.getLocale(context);
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+
 
  locale = context.getResources().getConfiguration().getLocales().get(0);
+
  @SuppressWarnings("deprecation")
} else {
+
public static Locale getLocale(Context context) {
  locale = context.getResources().getConfiguration().locale;
+
    Locale locale;
}
+
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
 +
        return context.getResources().getConfiguration().getLocales().get(0);
 +
    } else {
 +
      return context.getResources().getConfiguration().locale;
 +
    }
 +
  }
 
参考:https://stackoverflow.com/questions/38267213/how-to-get-the-current-locale-api-level-24
 
参考:https://stackoverflow.com/questions/38267213/how-to-get-the-current-locale-api-level-24
  

2018年8月23日 (木) 15:44時点における版

非推奨のコードを可視化する

build.gradle

allprojects {
  gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
      options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
    }
  }
}

build/clear後 buildするとコンソールに非推奨コードが表示される

参考:https://qiita.com/nagasakulllo/items/48764c68e6b922c74f67

非推奨コードを特定クラスのみ非表示とする

クラスの頭に以下アノテーションを付ける

@SuppressWarnings

webview系の非推奨コード

android/webview/非推奨コード [ショートカット]

Android7.0以降getConfiguration().localeは非推奨

Locale locale = AppStatic.getLocale(context);
@SuppressWarnings("deprecation")
public static Locale getLocale(Context context) {
   Locale locale;
   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
       return context.getResources().getConfiguration().getLocales().get(0);
   } else {
     return context.getResources().getConfiguration().locale;
   }
 }

参考:https://stackoverflow.com/questions/38267213/how-to-get-the-current-locale-api-level-24

expected resource of type id ensures that resource ids passed to apis are of the right type警告

viewのresourceIdを直接入力すると出るエラーなのでView.generateViewId()にする。ただしbuildSDKLevel17以上から

cannot resolve symbol警告

@paramの変数や@seeのクラスが間違っているのでその部分を修正すればよい。

@paramであれば変数名を記載するようにし、@seeであればその変数のクラス名を書いてあげれば良い。

value must be same parameter are required to in a particular警告

変数に型の範囲外の数字を入れてる