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ゲーム 今日は何の日
最新エントリー

2021年07月27日がちんこホームラン大会2の無料SALE!(7/27〜8/2)
2021年07月26日アプリ内課金でアイテムが見つからない場合 Android と iOS そしてその違い(2021年7月現在)
2021年07月25日オリンピックとアプリ
2021年07月24日オリンピック開会式でのゲーム曲
2021年07月23日Chrome の不具合に思う java と C言語の違い
2021年07月22日Switch で「もじぴったんアンコール」
より以前のブログ

コンテンツ分類

 DVDの話 (9)
 FLASHの事 (8)
 YouTuberと動画サイト (41)
 いろいろ (338)
 いろいろレビュー (25)
 アプリの事 (364)
 アプリ公開情報 (339)
 アプリ更新/修正情報 (187)
 インターネット全般 (13)
 ガラホの話 (6)
 クイズいろいろ (39)
 ゲーム全般 (533)
 スプラトゥーン (125)
 スポーツの話 (152)
 スマートフォンの話 (589)
 タブレットの話 (77)
 テレビの話 (20)
 ネットの話 (30)
 パソコンの話 (60)
 フォームへの返答 (38)
 プログラミングの話 (70)
 ページの事 (119)
 ページ更新情報 (157)
 ポケモンGO(位置ゲー) (86)
 ミニファミコン (13)
 メルマガの事 (20)
 家電の話 (34)
 開発情報 (303)
 技術的な話 (69)
 携帯の話 (622)
 時事的な話題 (119)
 独り言 (78)

カレンダー

     2021年07月     
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 31
ブログカレンダー


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