teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

記述修正

2018/03/17 05:41

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -21,4 +21,4 @@
21
21
 
22
22
  そして、質問の主題であるクラスの選択のときに出てくる小窓に表示されている<Android API 26 Platform>というのは、このプロジェクト(正確には「プロジェクトに属するモジュール」)のcompileSdkVersionによって選択されているSDK Platformを表示しているに過ぎません。compileSdkVersionを27にしたならば、<Android API 27 Platform>と表示されます。**それ以上の深い意味はありません。**「こちらを選択するとそのAPIレベル未満では動かせない」などということはありません。
23
23
 
24
- ただし、この例で挙げているToolbarクラスはAPI 21で追加された機能です。minSdkVersionを21未満にする必要があるならば、Support Libraryによって提供されるToolbar(上側)を選ばなければ正常に動作させることはできません。ですから、Support Libraryを選ぶ必要があるか否かはminSdkVersionによって決まるのは確かではあります。ただそれは**用いようとしている機能が導入されたAPIレベルとminSdkVersionの兼ね合い**によって決まるものだということです。
24
+ ただし、この例で挙げているToolbarクラスはAPI 21で追加された機能です。minSdkVersionを21未満にする(API 21未満の端末でも動作するアプリにしたい)必要があるならば、Support Libraryによって提供されるToolbar(上側)を選ばなければ正常に動作させることはできません。ですから、Support Libraryを選ぶ必要があるか否かは、**用いようとしている機能が導入されたAPIレベルとminSdkVersionの兼ね合い**によって決まるものだということです。

3

ちょっと修正

2018/03/17 05:41

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -11,13 +11,14 @@
11
11
 
12
12
  ---
13
13
 
14
- (2018/03/17 14:28 追記)
14
+ (2018/03/17 14:36 追記)
15
15
 
16
16
  SDK Platformとは、APIレベルごとに提供されているコンパイルのためのパッケージ一式と考えれば良いかと思います。SDK Managerを開いて右下にあるShow Package Detailsにチェックを入れると、各項目の詳細が見られるようになりますが、それで各APIレベルの項目を開いてみると、それぞれにAndroid SDK Platform xx(xxはAPIレベルの数値)という項目があるのが確認できます。
17
+
17
18
  ![](6714653ee238a710b17861e2908e1c00.png)
18
19
 
19
20
  アプリの開発のときに、ここで導入したどのSDK Platformを利用するかは、build.gradleに記述されているcompileSdkVersionの値によって決まります。
20
21
 
21
- そして、質問の主題であるクラスの選択のときに出てくる小窓に表示されている<Android API 26 Platform>というのは、このプロジェクト(正確には「プロジェクトに属するモジュール」)のcompileSdkVersionによって選択したAPI Platform表示されているだけです。compileSdkVersionを27にしたならば、<Android API 27 Platform>と表示されます。**それ以上の深い意味はありません。**「こちらを選択するとそのAPIレベル未満では動かせない」などということはありません。
22
+ そして、質問の主題であるクラスの選択のときに出てくる小窓に表示されている<Android API 26 Platform>というのは、このプロジェクト(正確には「プロジェクトに属するモジュール」)のcompileSdkVersionによって選択されているSDK Platform表示ているに過ぎません。compileSdkVersionを27にしたならば、<Android API 27 Platform>と表示されます。**それ以上の深い意味はありません。**「こちらを選択するとそのAPIレベル未満では動かせない」などということはありません。
22
23
 
23
24
  ただし、この例で挙げているToolbarクラスはAPI 21で追加された機能です。minSdkVersionを21未満にする必要があるならば、Support Libraryによって提供されるToolbar(上側)を選ばなければ正常に動作させることはできません。ですから、Support Libraryを選ぶ必要があるか否かはminSdkVersionによって決まるのは確かではあります。ただ、それは**用いようとしている機能が導入されたAPIレベルとminSdkVersionの兼ね合い**によって決まるものだということです。

2

図を挿入する必要があったので回答欄に追記

2018/03/17 05:36

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -7,4 +7,17 @@
7
7
  Toolbar (android.support.v7.widget) - Support Libraryによって提供されるToolbarを利用
8
8
  Toolbar (android.widget) - SDK Platformによって提供されるToolbarを利用
9
9
 
10
- という違いです。
10
+ という違いです。
11
+
12
+ ---
13
+
14
+ (2018/03/17 14:28 追記)
15
+
16
+ SDK Platformとは、APIレベルごとに提供されているコンパイルのためのパッケージ一式と考えれば良いかと思います。SDK Managerを開いて右下にあるShow Package Detailsにチェックを入れると、各項目の詳細が見られるようになりますが、それで各APIレベルの項目を開いてみると、それぞれにAndroid SDK Platform xx(xxはAPIレベルの数値)という項目があるのが確認できます。
17
+ ![](6714653ee238a710b17861e2908e1c00.png)
18
+
19
+ アプリの開発のときに、ここで導入したどのSDK Platformを利用するかは、build.gradleに記述されているcompileSdkVersionの値によって決まります。
20
+
21
+ そして、質問の主題であるクラスの選択のときに出てくる小窓に表示されている<Android API 26 Platform>というのは、このプロジェクト(正確には「プロジェクトに属するモジュール」)のcompileSdkVersionによって選択したAPI Platformが表示されているだけです。compileSdkVersionを27にしたならば、<Android API 27 Platform>と表示されます。**それ以上の深い意味はありません。**「こちらを選択するとそのAPIレベル未満では動かせない」などということはありません。
22
+
23
+ ただし、この例で挙げているToolbarクラスはAPI 21で追加された機能です。minSdkVersionを21未満にする必要があるならば、Support Libraryによって提供されるToolbar(上側)を選ばなければ正常に動作させることはできません。ですから、Support Libraryを選ぶ必要があるか否かはminSdkVersionによって決まるのは確かではあります。ただ、それは**用いようとしている機能が導入されたAPIレベルとminSdkVersionの兼ね合い**によって決まるものだということです。

1

修正

2018/03/17 05:28

投稿

keicha_hrs
keicha_hrs

スコア6768

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ![](b1a39b91f9a779b260943e5d88e01db4.png)
4
4
 
5
- Android SDKには、下記のToolbarのようにSupport Libraryが提供するものとそうではないもので同じクラス名になっているものがいくつもあります。そういうクラスのimport文をIDEの機能で挿入しようとするとき、IDEはどちらを選択すれば良いか自動的に判断ができないので、ユーザーに選択を求めているためにこのようなものを表示しています。
5
+ Android SDKには、のToolbarのようにSupport Libraryが提供するものとそうではないもので同じクラス名になっているものがいくつもあります。そういうクラスのimport文をIDEの機能で挿入しようとするとき、IDEはどちらを選択すれば良いか自動的に判断ができないので、ユーザーに選択を求めているためにこのようなものを表示しています。
6
6
 
7
7
  Toolbar (android.support.v7.widget) - Support Libraryによって提供されるToolbarを利用
8
8
  Toolbar (android.widget) - SDK Platformによって提供されるToolbarを利用