Android Studio でPackageを自動importする際、選択できるPackageの横に<Android API 26 Platform> とかでてくるんですが、これは何を表しているのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
下の画像はToolbarクラスを利用しようとしたときに表示されたものですが、このようなものを指した質問でしょうか。
Android SDKには、このToolbarのようにSupport Libraryが提供するものとそうではないもので同じクラス名になっているものがいくつもあります。そういうクラスのimport文をIDEの機能で挿入しようとするとき、IDEはどちらを選択すれば良いか自動的に判断ができないので、ユーザーに選択を求めているためにこのようなものを表示しています。
Toolbar (android.support.v7.widget) - Support Libraryによって提供されるToolbarを利用
Toolbar (android.widget) - SDK Platformによって提供されるToolbarを利用
という違いです。
(2018/03/17 14:36 追記)
SDK Platformとは、APIレベルごとに提供されているコンパイルのためのパッケージ一式と考えれば良いかと思います。SDK Managerを開いて右下にあるShow Package Detailsにチェックを入れると、各項目の詳細が見られるようになりますが、それで各APIレベルの項目を開いてみると、それぞれにAndroid SDK Platform xx(xxはAPIレベルの数値)という項目があるのが確認できます。
アプリの開発のときに、ここで導入したどのSDK Platformを利用するかは、build.gradleに記述されているcompileSdkVersionの値によって決まります。
そして、質問の主題であるクラスの選択のときに出てくる小窓に表示されている<Android API 26 Platform>というのは、このプロジェクト(正確には「プロジェクトに属するモジュール」)のcompileSdkVersionによって選択されているSDK Platformを表示しているに過ぎません。compileSdkVersionを27にしたならば、<Android API 27 Platform>と表示されます。それ以上の深い意味はありません。「こちらを選択するとそのAPIレベル未満では動かせない」などということはありません。
ただし、この例で挙げているToolbarクラスはAPI 21で追加された機能です。minSdkVersionを21未満にする(API 21未満の端末でも動作するアプリにしたい)必要があるならば、Support Libraryによって提供されるToolbar(上側)を選ばなければ正常に動作させることはできません。ですから、Support Libraryを選ぶ必要があるか否かは、用いようとしている機能が導入されたAPIレベルとminSdkVersionの兼ね合いによって決まるものだということです。
投稿2018/03/16 04:08
編集2018/03/17 05:41総合スコア6768
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/16 14:01
2018/03/16 14:14
2018/03/16 15:07
2018/03/16 15:15
2018/03/16 15:18
2018/03/17 05:29
2018/03/17 06:10
2018/03/17 06:25
2018/03/17 07:15 編集