one.)プログラマです。このブログは僕の記憶補助装置でもあります。Method)何つかっちゃダメなんだ?AndroidのAPIというのは大きく変遷してきた。Android2.x、3.x、そして今では4.x系まで進んでいる。4.3.x)となんだかついていけないですね。大体の人が2.x系から開発を始めた、もしくは今から始めるという方なのではないでしょうか。そこで、今回は2.x系から開発をしている方を対象に、また今から開発を始める人でも流れが分かるように、APIの変遷について書いてみようと思う。いうことで、ネット上で情報が散乱している、非推奨クラスやメソッドについてある程度まとめてみた。3.xでは、具体的な話の後に、もうちょっと大枠の変化の流れについて書いてみよう。非推奨のクラスが増えた。Fragment3.x以前は1画面に対して1Activityであったが、Fragmentの存在でそうではなくなった。1画面上で複数の画面を表示し、操作を出来るようになったのである。Activityのライフサイクルよりもさらにコアな部分のライフサイクルを操作できるようになった。これにより、処理効率も少し良くなった。アバウトに言うとそういうことである。従って、Fragmentに取って代られたやつらが@depreacatedになったわけだ。ActionBarActionBarのUIにより、タブというUIの意味がなくなった。Tab関連の古いAPIについては非推奨となっている。簡単に言えば「ふるいのダサいよね」ってことだ。それに加えて、標準の実装がしっかりしているのでActionBarの方が開発者がそれぞれ実装する手間が少ないといえよう。なんでいきなり変わったの?そもそも、FragmentもActionBarもタブレットのために生まれたといっても良いと思う。(ご存じのとおり3.x系はタブレット端末である)ここらへんは推測なのだが、2.x系の小さい画面だとアクションバーっていうのはあまり効果的ではない。タブレットの大きな画面なら常にオプションメニューを表示していた方が便利っていうデザイン設計が元になって出来たのが、ActionBarなんじゃないかと思う。APIとしても単純なTabHostよりも優れた機能になっているというのもあるのだが。複数の画面を用意しようというような設計思想が生まれたのだと思う。そこから派生して、4.x系ではなんとかこの優れたAPIを継続的に利用できないかという考えに至ったんじゃないかな。APIの変更が頻繁に起こると、開発者には優しくないしね。アンドロイドの基盤API作る方にも優しくないし。勝手に解釈して、妙に納得している。これは覚えておいた方がいいその他、AsyncTaskとダイアログ関連が非推奨になったことは重要。押さえておくべきポイントである。AsyncTaskLoaderを使いましょう。DialogFragmentを使いましょう。まとめ非推奨のクラスとメソッドについて一覧化し、そのうえでOSごとのAPIの変遷について書いてみました。一覧をある程度把握しておけばOSバージョンの違いにより例外吐いて落ちる、、、とかいう事象に遭遇した時も、なんとなく察しがつくんじゃないかな。(僕も4.x系の端末でAsyncTask実装のアプリ使用したら不具合起きたことあったし)ざっくりいうと、以下の指針を守っていれば良いと思います。実装していくのであれば、4.xに対応したアプリケーション実装を目指そう。・ActionBarとFragmentとAsyncTaskLoaderは最低限対応しよう。・2.xにも対応したい場合はandoid-support-v4.jarを使おう。あと、Galleryとか使えなくなっちゃうのもなかなか痛いよね。それぞれの、細かい使い方とかしっかり覚えていかないとなぁ。出典http://blog.local-c.com/archives/620http://www.ric.co.jp/book/contents/pdfs/895_deprecated.pdfhttp://yuki312.blogspot.jp/2012/08/androidjellybean.html※なお、この記事のAlertDialog.Builderは非推奨じゃないのに、非推奨って勘違いして書いてたっぽいです。ご覧いただいてた方申し訳ありません。JapanJavaとGoでお仕事してるプログラマです。Java/Kotlin/Go/Vimとかが好き。【プロフィール】yyyank.github.io【問い合わせ先】yy.yank.dev.blog@gmail.com【twitter】@yy_yank【Github(クソコード)】https://github.com/yyYank詳細プロフィールを。