編輯:關於Android編程
Android中的資源是指非代碼部分,如圖片、音頻、視頻、字符等資源。一般我們都是在assets中保存原生的文件,如:MP3文件,Android程序不能直接訪問,必須通過AssetManager類以二進制流的形式讀取。布局類型文件一般都放在res文件夾下,如:anim,drawable,layout,values,xml,raw,menu等等,這些資源都可以通過R資源類直接訪問。assets中的資源很少用到,res中的資源經常用到。
下面我們繼續講解如何使用這些典型布局類型文件:
四、使用原始XML資源:如果項目中使用到了一些原始的XML文件,那麼我們可以定義一些XML文件供工程使用。
1)字符串的定義和使用:
資源位置:res/xml/test.xml
原始XML文件格式:
獲得XML資源方法:Resources.getXml()
引用XML資源方式:Java代碼中:R.xml.xml_name
案例: 獲得原始XML文件的基本思路是:通過Resources.getXml()獲得XML原始文件,得到XmlResourcePaser對象,通過該對象來判斷是文檔的開始還是結尾、是某個標簽的開始還是結尾,並通過獲得屬性的方法來遍歷XMl文件,從而訪問MXL文件的內容。
xml文件:
java中核心代碼:
Resources r = getResources();
XmlResourceParser xrp = r.getXml(R.xml.person);
try{
//如果沒有到文件尾繼續循環
while(xrp.getEventType() != XmlResourceParser.END_DOCUMENT){
//如果是開始標簽
if(xrp.getEventType() == XmlResourceParser.START_TAG){
String name = xrp.getName();
//判斷標簽名是否等於person
if(name.equals("person")){
counter++;
//獲得標簽屬性追加到StringBuilder中
sb.append("第"+counter+"條用戶信息:\n");
sb.append("name:"+xrp.getAttributeValue(0)+"\n");
sb.append("age:"+xrp.getAttributeValue(1)+"\n");
sb.append("gender:"+xrp.getAttributeValue(2)+"\n\n");
}
}else if(xrp.getEventType() == XmlPullParser.END_TAG){
}else if(xrp.getEventType() == XmlPullParser.TEXT){
}
xrp.next();
}
//將StringBuilder設置為TextView的文本
myTextView.setText(sb.toString());
myButton.setText("退出");
}catch(XmlPullParserException e){
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
五、使用drawables資源:一些圖片或者顏色資源,主要用來繪制屏幕,分為三類:Bitmap File(位圖文件)、Color Drawable (顏色)、NIne-Patch Image(九片圖片)。
1)drawable資源的定義和使用:
資源位置:res/drawable/file_name.jpg/file_name.png/file_name.gif
獲得字符串方法:Resources.getDrawable()
引用資源方式:Java代碼中:R.drawable.file_name
字符串XML文件中:@[package:]drawable/file_name
案例:myImageView = (ImageView)findViewById(R.id.mypic);
Resources r = getResources();
Drawable d = r.getDrawable(R.drawable.moto);
myImageView.setImageDrawable(d);
六、使用布局(layout)資源:布局資源是Android中最常用的一種資源,Android可以將屏幕中組件的布局方式定義在一個XML文件中,這有點像Web開發中的HTML頁面,通過Activity.setContentView()方法將布局文件展示在Activity上。Android通過LayoutInflater類將XML文件中的組件解析為可視化的視圖組件。
1)布局文件的定義和使用:
資源位置:res/layout/my_layout.xml(任意名稱)
布局XML文件格式:
<布局類 xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/stirng_name" (屬性)>
<視圖組件或者其他嵌套布局類>
布局類>
獲得XML資源的方法:Activity.setContentView()
引用資源方式:Java代碼中:R.layout.my_layout
字符串XML文件中:@[package:]layout/my_layout
案例:布局文件main.xml:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
android:layout_width="fill_parent"
android:layout_height="@dimen/text_height"
android:textColor="@color/white"
android:background="@color/blue"
android:text="@string/hello_world" />
java核心代碼:setContentView(R.layout.main);
出處:http://blog.csdn.net/cl05300629/article/details/17716895 作者:伫望碧落
MavLink是輕量級的通訊協議,主要應用於終端與小型無人載具間的通訊。由於它的通用性,MavLink可以被翻譯成各種語言的代碼應用於各種不同的環境。具體如何通過工具來生
紅米手機快捷鍵使用技巧匯總。紅米手機,在市場的位置也慢慢變重要了,價格低,又實惠,又好用。那朋友們,你們知道它有那些快捷鍵的嗎?那就讓小編來跟大家詳細的介紹
近幾個月傳出了谷歌正在加速整合Android和Chrome OS的消息,新操作系統定名Andromeda(仙女座)。外媒給出的最新進展是,目前已經有兩家型硬
用Android Studio開發前,你需要知道我寫的這個指引裡,包含了一些當你要把Eclipse項目轉到Andorid Studio前需要知道的基本信息。