1. Mocoゲーム >
  2. Mocoゲームブログ >
  3. targetSdkVersion 30 への対応及び Handler() is deprecated への対応


Mocoゲームブログ

ゲーム作成の悲喜こもごも… 開発状況やアプリ(無料ゲーム多数)に関すること、携帯電話やスマホのこと、公式ストア(Google Play, App Store)でのアプリ公開のこと、プログラミングのこと、更新情報などをアップしています。ガラケー時代からかれこれ15年以上継続しているブログです。Android(java)や iPhone開発(Xcode, Objective-C, C++ によるiOSアプリ開発)に関する技術的なことも時々アップしています。
ツイートする

targetSdkVersion 30 への対応及び Handler() is deprecated への対応

分類: 技術的な話
日付: 2021年07月10日公開

Android で targetSdkVersion 30 への対応が新規アプリ公開時にもうすぐ必須になります。

この対応があるために Android 11 の実機端末が欲しかった(Vastking Kingpad Z10 というタブレットのレビュー)のですが、思ったより deprecated が出ました。

ほとんどはネットで情報が得られたのですが、Handler() is deprecated への対応が自分の場合は以下のように

public class TickHandler extends Handler {
:
:
}

のような感じで継承して用いており、ネットで見つかる解決法の

new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
:
:
}

みたいな書き方をしていませんでした。この deprecated は引数なしのコンストラクタが駄目ということなので、

public class TickHandler extends Handler {
 // 追加
 TickHandler(Looper lp) {
  super(lp);
 }
:
:
}

とし、

private TickHandler tickHandler = new TickHandler(Looper.getMainLooper());

と宣言することで大丈夫でした。java の super() で継承元のコンストラクタに引き継げるのとかしばらく気にしたことがなく忘れていて、少し文法を調べてわかりました。

普通に new Handler で書くのが素直かもしれませんが、これまでずっと元の書き方で動作実績もあったので、そのままの書き方でいきたいと思いました。

一応、これで Android 5 までの機種で正常動作を確認済みです。

ところで、targetSdkVersion 30 では他にもいろいろ画面の大きさ取得、ステータスバーやナビゲーションバー周りで少し仕様が変わっており、噂によると 31 でもまた変わるとか言われているので、基本警告を消すようにしてだけ対応しました。

そこまで真面目にバージョン毎に deprecated 対応するのも大変です。

しかし、なんでこんなに仕様を変えるのかわかりません。本当に変える必要があるのでしょうか?



アプリゲーム紹介
Mocoゲーム作成で比較的人気の無料ゲーム がちんこ魔球競争 を公開中です。Google Play 及び App Store でダウンロード可能です。



関連ブログ

 Vastking Kingpad Z10 というタブレットのレビュー
 Could not find or use auto-linked framework 'FBLPromises' のエラー
 Xcode 12.5 のダウンロードが終わらない場合
 「Google」が繰り返し停止していますのこと(修正あり)
 機種変時のゲームのセーブデータ移行方法についての考察

前後のブログ

 2021年07月12日 こういうのはさすがにずるいというか正々堂々としていないみたいに感じる&AIチャットのこと
 2021年07月11日 古い Android のサポートを終了しないと駄目か?
 2021年07月10日 targetSdkVersion 30 への対応及び Handler() is deprecated への対応
 2021年07月09日 ブログの説明を少し変更
 2021年07月08日 政府、スマートフォン用OSの実態調査に着手しても・・・
 2021年07月07日 新型Switchの素直な感想
より最新のブログ
より以前のブログ
ブログTOP Mocoゲーム 今日は何の日
最新エントリー

2024年11月21日人海戦術
2024年11月20日「Niantic Spatial Platform」?
2024年11月19日成金大作戦究極版のまずい仕様
2024年11月18日将棋AIがなかったら藤井聡太はもっと強かったのでは?
2024年11月17日野球面白い
2024年11月15日AI普通 vs AI簡単
より以前のブログ

コンテンツ分類

 AI(人工知能)の話 (37)
 YouTuberと動画サイト (74)
 いろいろ (365)
 いろいろレビュー (27)
 アプリの事 (367)
 アプリストアの話 (271)
 アプリ公開情報 (367)
 アプリ更新/修正情報 (248)
 クイズいろいろ (40)
 ゲーム全般 (675)
 スプラトゥーン (207)
 スポーツの話 (207)
 スマートフォンの話 (563)
 タブレットの話 (97)
 テレビの話 (25)
 ネットの話 (93)
 パソコンの話 (92)
 フォームへの返答 (39)
 プログラミングの話 (95)
 ページの事 (135)
 ページ更新情報 (171)
 ポケモンGO(位置ゲー) (116)
 メルマガの事 (20)
 家電の話 (44)
 開発情報 (351)
 技術的な話 (92)
 携帯の話 (647)
 時事的な話題 (141)
 将棋の話 (39)
 独り言 (81)

カレンダー

     2024年11月     
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログカレンダー


Follow @MocoGames
ツイッターフォローお願いします。
(C)Mocoゲーム 2005-