Androidでのリソースアクセス
3565 ワード
Androidのリソースは非コード部分、外部ファイルを指します.
assetsに保存されているのは、MP 3ファイルなどのオリジナルのファイルで、Androidプログラムは直接アクセスできず、AssetManagerクラスでバイナリストリームとして読み込む必要があります.
res内のリソースはRリソースクラスを介して直接アクセスできる.
Rクラスは自動的に生成され、システムで使用されるすべてのリソースファイルの識別を含む異なるリソースタイプに基づいて対応する内部クラスが生成されます.
1.コードでのリソースファイルの使用
コードでリソースファイルにアクセスするには、Rクラスで定義されたリソースファイルタイプとリソースファイル名でアクセスします.
具体的なフォーマットは次のとおりです.
R.リソースファイルタイプ.リソースファイル名
また、ユーザがカスタマイズしたリソースファイルにアクセスするだけでなく、システム内のリソースファイルにもアクセスできます.
アクセスシステムのリソースファイルの形式は次のとおりです.
android.R.リソースファイルタイプ.リソースファイル名
2.他のリソースファイルでリソースファイルを参照
レイアウトファイルでは、ピクチャ、カラーリソース、文字列リソース、寸法リソースが参照されることがよくあります.
他のリソースで参照されるリソースの一般的なフォーマットは、次のとおりです.
@[パッケージ名:]リソースタイプ/リソース名
カラーアセットの使用(Use Color Asset)
色値定義の開始時には、Alpha-RGBのフォーマットで番号が付けられます.
例:
#RGB
#ARGB
#RRGGBB
#AARRGGBB
参照リソースのフォーマット:
Javaコード中:R.color.color_name
XMLファイル中:@[package:]color/color_name
使用時にresvaluesディレクトリでcolorsを定義します.xmlファイルで、色の名前と色の値のキー値のペアが格納されます.
次のようになります.
文字列、寸法などの他のリソースは、同様の方法です.
文字列リソースの使用
文字列リソースファイルstringsを作成する.xml.中身もキー値ペア
Javaコードで文字列リソースR.stringを参照する.string_name
以下のように取得できます.
String str = getString(R.string.string_name).toString();
xmlファイルで文字列リソースを参照:@[package:]string/string_name
寸法アセットの使用
サイズリソースはresvaluesdimensに定義されています.xmlファイルにあります.
Androidでサポートされているサイズ単位:
単位表示
単位名
説明
dip
デバイス独立ピクセル
異なるデバイスの異なる表示効果、dipはスクリーン密度に関係します
px
ピクセル
画面上の実際のピクセル表示は、デバイスによってディスプレイの表示効果が同じです.
in
フィート
スクリーンベースの物理寸法
mm
ミリメートル
スクリーンベースの物理寸法
pt
ポイント(ポンド)
フィートの1/72
dp
密度に関係のないピクセル
スクリーンの物理密度に対する抽象単位
sp
精度に関係のないピクセル
dpと同様に、目盛りに関係のない画素は、主にフォントサイズを処理します.
参照寸法リソース:
Javaコード:R.dimen.dimen_name
xmlファイルで:@[package:]dimen/dimen_name
元のXMLリソースの使用
XMLファイルは、プロジェクトのresxmlディレクトリの下に定義され、Resources.getXML()メソッドにアクセスします.
元のXMLファイルを取得する考え方はgetResources()である.getXml()は、XMLオリジナルファイルを取得し、XmlResourceParserオブジェクトを取得します.このオブジェクトによって、ドキュメントの開始か終了か、ラベルの開始か終了かを判断し、いくつかの属性を取得する方法でXMLファイルを巡り、XMLファイルの内容にアクセスします.
drawablesリソースの使用
drawableリソースは、主に画面を描くために使用される画像または色リソースです.Resources.getDrawable()メソッドを取得します.
drawableリソースには、Bitmap File(ビットマップファイル)、Color Drawable(色)、Nine-Patch Image(9枚の画像)の3種類があります.
Androidでサポートされているビットマップファイルにはpng、jpg、gifがあります.
ビットマップリソースを参照するフォーマット:
Javaコード:R.drawable.file_name
XMLファイル中:@[package:]drawable/file_name
レイアウトリソースの使用
レイアウトリソースはAndroidで最も一般的なリソースで、WebのHTMLページと同様に、画面内のコンポーネントのレイアウトをXMLファイルに定義します.
レイアウトファイルはreslayoutにあり、名前は任意です.AndroidはLayoutInflaterクラスを通じてXMLファイルのコンポーネントを可視化されたビューコンポーネントに解析します.
ActivityでActivityを呼び出す.setContentView()メソッドは、レイアウトファイルをActivityのインタフェースに設定し、findView ById()メソッドを使用してレイアウト内のコンポーネントを取得します.
レイアウトファイルを参照:
Javaコード:R.layout.my_layout
XMLファイル中:@[package:]layout/my_layout
メニューリソースの使用
どのビューコンポーネントの作成方法にも2つあります.1つは、レイアウトファイルで作成を宣言することです.もう1つは、コードに作成することです.
Androidのメニューはオプションメニュー、コンテキストメニュー、サブメニューに分かれており、XMLファイルで定義を宣言し、コードではMenuInflaterクラスで使用できます.
メニューリソースファイルもXMLファイルで、プロジェクトresmenuディレクトリの下に置かれています.R.menuを通ります.my_menuの方式で参照します.
典型的なメニューリソースファイルの構造:
assetsに保存されているのは、MP 3ファイルなどのオリジナルのファイルで、Androidプログラムは直接アクセスできず、AssetManagerクラスでバイナリストリームとして読み込む必要があります.
res内のリソースはRリソースクラスを介して直接アクセスできる.
Rクラスは自動的に生成され、システムで使用されるすべてのリソースファイルの識別を含む異なるリソースタイプに基づいて対応する内部クラスが生成されます.
1.コードでのリソースファイルの使用
コードでリソースファイルにアクセスするには、Rクラスで定義されたリソースファイルタイプとリソースファイル名でアクセスします.
具体的なフォーマットは次のとおりです.
R.リソースファイルタイプ.リソースファイル名
また、ユーザがカスタマイズしたリソースファイルにアクセスするだけでなく、システム内のリソースファイルにもアクセスできます.
アクセスシステムのリソースファイルの形式は次のとおりです.
android.R.リソースファイルタイプ.リソースファイル名
2.他のリソースファイルでリソースファイルを参照
レイアウトファイルでは、ピクチャ、カラーリソース、文字列リソース、寸法リソースが参照されることがよくあります.
他のリソースで参照されるリソースの一般的なフォーマットは、次のとおりです.
@[パッケージ名:]リソースタイプ/リソース名
カラーアセットの使用(Use Color Asset)
色値定義の開始時には、Alpha-RGBのフォーマットで番号が付けられます.
例:
#RGB
#ARGB
#RRGGBB
#AARRGGBB
参照リソースのフォーマット:
Javaコード中:R.color.color_name
XMLファイル中:@[package:]color/color_name
使用時にresvaluesディレクトリでcolorsを定義します.xmlファイルで、色の名前と色の値のキー値のペアが格納されます.
次のようになります.
<resources>
<color name="red_bg">#f00</color>
<color name="blue_text">#0000ff</color>
</resources>
文字列、寸法などの他のリソースは、同様の方法です.
文字列リソースの使用
文字列リソースファイルstringsを作成する.xml.中身もキー値ペア
Javaコードで文字列リソースR.stringを参照する.string_name
以下のように取得できます.
String str = getString(R.string.string_name).toString();
xmlファイルで文字列リソースを参照:@[package:]string/string_name
寸法アセットの使用
サイズリソースはresvaluesdimensに定義されています.xmlファイルにあります.
Androidでサポートされているサイズ単位:
単位表示
単位名
説明
dip
デバイス独立ピクセル
異なるデバイスの異なる表示効果、dipはスクリーン密度に関係します
px
ピクセル
画面上の実際のピクセル表示は、デバイスによってディスプレイの表示効果が同じです.
in
フィート
スクリーンベースの物理寸法
mm
ミリメートル
スクリーンベースの物理寸法
pt
ポイント(ポンド)
フィートの1/72
dp
密度に関係のないピクセル
スクリーンの物理密度に対する抽象単位
sp
精度に関係のないピクセル
dpと同様に、目盛りに関係のない画素は、主にフォントサイズを処理します.
参照寸法リソース:
Javaコード:R.dimen.dimen_name
xmlファイルで:@[package:]dimen/dimen_name
元のXMLリソースの使用
XMLファイルは、プロジェクトのresxmlディレクトリの下に定義され、Resources.getXML()メソッドにアクセスします.
元のXMLファイルを取得する考え方はgetResources()である.getXml()は、XMLオリジナルファイルを取得し、XmlResourceParserオブジェクトを取得します.このオブジェクトによって、ドキュメントの開始か終了か、ラベルの開始か終了かを判断し、いくつかの属性を取得する方法でXMLファイルを巡り、XMLファイルの内容にアクセスします.
drawablesリソースの使用
drawableリソースは、主に画面を描くために使用される画像または色リソースです.Resources.getDrawable()メソッドを取得します.
drawableリソースには、Bitmap File(ビットマップファイル)、Color Drawable(色)、Nine-Patch Image(9枚の画像)の3種類があります.
Androidでサポートされているビットマップファイルにはpng、jpg、gifがあります.
ビットマップリソースを参照するフォーマット:
Javaコード:R.drawable.file_name
XMLファイル中:@[package:]drawable/file_name
レイアウトリソースの使用
レイアウトリソースはAndroidで最も一般的なリソースで、WebのHTMLページと同様に、画面内のコンポーネントのレイアウトをXMLファイルに定義します.
レイアウトファイルはreslayoutにあり、名前は任意です.AndroidはLayoutInflaterクラスを通じてXMLファイルのコンポーネントを可視化されたビューコンポーネントに解析します.
ActivityでActivityを呼び出す.setContentView()メソッドは、レイアウトファイルをActivityのインタフェースに設定し、findView ById()メソッドを使用してレイアウト内のコンポーネントを取得します.
レイアウトファイルを参照:
Javaコード:R.layout.my_layout
XMLファイル中:@[package:]layout/my_layout
メニューリソースの使用
どのビューコンポーネントの作成方法にも2つあります.1つは、レイアウトファイルで作成を宣言することです.もう1つは、コードに作成することです.
Androidのメニューはオプションメニュー、コンテキストメニュー、サブメニューに分かれており、XMLファイルで定義を宣言し、コードではMenuInflaterクラスで使用できます.
メニューリソースファイルもXMLファイルで、プロジェクトresmenuディレクトリの下に置かれています.R.menuを通ります.my_menuの方式で参照します.
典型的なメニューリソースファイルの構造: