开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

android中的资源访问

简介:
+关注继续查看

一.android中的资源是在代码中使用的外部文件。图片,音频,动画和字符串等叫做android中的资源文件。 
二.Android工程 资源类型布局表
与src源文件夹并列的两个文件夹assets和res用来保存资源文件。 
1.assets文件夹中放原声文件如MP3文件,通过AssetManager类以二进制流的形式访问 
2.res中资源可以通过R资源类直接访问: 
anim:保存动画 
drawable:位图文件 
layout:xml布局文件 
values:各种xml资源文件 
arrays.xml:xml数组文件 
colors.xml:xml颜色文件 
dimens.xml:xml尺寸文件 
styles.xml:xml样式文件 
raw:直接复制到设备中的源文件 
menu:xml菜单文件

使用mContext.getResources()得到Resources对象来获取资源

 

XML的写法如下:

 


  1. 代码  
  2.  
  3. 一个android工程中,有各种类型的资源文件,大致可以分为以下几种:  
  4. 、  颜色 #RGB #ARGB #RRGGBB #AARRGGBB  
  5.  
  6. 颜色资源应该位于<resourses></resourses>标签下  
  7.  
  8. 路径res/values/colors.xml 名字可以随意  
  9.  
  10. 定义<color name=”cname”>value</color> 
  11.  
  12. 使用 Resourse.getValues.getColor  
  13.  
  14. <?xml version="1.0" encoding="utf-8"?> 
  15.  
  16. <resources> 
  17.  
  18. <color name="white">#FFFFFF</color> 
  19.  
  20. <color name="black">#000000</color> 
  21.  
  22. </resources> 
  23. 、  字串  
  24.  
  25. 字串资源应该位于<resourses></resourses>标签下  
  26.  
  27. 路径res/values/strings.xml  
  28.  
  29. 定义<String  name=”sname”>value</String> 
  30.  
  31. 使用 Resourse.getValues.getString  
  32.  
  33. <?xml version="1.0" encoding="utf-8"?> 
  34.  
  35. <resources> 
  36.  
  37.     <string name="hello">Hello World, ResrouseTestActivity!</string> 
  38.  
  39.     <string name="app_name">ResrouseTest</string> 
  40.  
  41. </resources> 
  42. 、  图片  
  43.  
  44. 图片资源一般使用png格式,使用其他格式的会出现各种问题,貌似不支持gif格式的图片,可是使用Movie来播放gif格式的图片  
  45.  
  46. 路径res/drawable  
  47.  
  48. 可以直接存放图片也可以是xml等配置文件(一般用于自定义组件)  
  49.  
  50. 使用 getDrawable  
  51. 、  图片的颜色  
  52.  
  53. 位于res/values/my_drawable.xml名字随意  
  54.  
  55.  <?xml version="1.0" encoding="utf-8"?> 
  56.  
  57. <resources> 
  58.  
  59. <drawable name="solid_red">#FF0000</drawable> 
  60.  
  61. </resources> 
  62.  
  63. 定义用于填充一个组件的颜色值,即给view设置背景色。用法和drawable下的图片一样,其实没多少意义,使用颜色定义就ok了,目前我是这样认为的,可能有更好的优点,不过我没发现罢了,嘿嘿,continue...  
  64. 、  单位资源  
  65.  
  66. 单位资源应该位于<resourses></resourses>标签下  
  67.  
  68. 路径res/values/dimen.xml 名字可以随意  
  69.  
  70. 使用和String、color类似  
  71.  
  72. <?xml version="1.0" encoding="utf-8"?> 
  73.  
  74. <resources> 
  75.  
  76. <dimen name="dimen_name">2px</dimen> 
  77.  
  78. <dimen name="dimen_px">5px</dimen> 
  79.  
  80. <dimen name="dimen_pt">3pt</dimen> 
  81.  
  82. <dimen name="dimen_dp">3dp</dimen> 
  83.  
  84. </resources> 
  85. 、  Nine-patch(可以拉伸的小图片)  
  86.  
  87. 支持图片的拉伸  
  88.  
  89.    貌似就是所谓的png图片文件资源,图片在应用view的背景时,如果被设为background则会随view的大小变化做相应的拉伸和收缩,像ImageView这类设置src图片则不随view变化,按其自身大小显示部分或全部!  
  90. 、  菜单  
  91.  
  92. 菜单即可以从代码中实现也可以在资源文件中配置,这里就是要描述一下第二种<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android">    <item           android:id="@+id/previous"           android:title="@string/previous"           android:enabled="false"  android:icon="@android:drawable/ic_media_previous"/>        <item           android:id="@+id/play_pause"           android:title="@string/play"           android:icon="@android:drawable/ic_media_play"/>    <item           android:id="@+id/next"           android:title="@string/next"           android:icon="@android:drawable/ic_menu_next"/></menu>8、  Layout布局  
  93.  
  94. 这个就是你经常看到的与用户交互的界面的xml文件,就是各个view的排列和嵌套,没什么好说的啦  
  95. 、  风格和主题、  
  96.  
  97. 风格主要是指view的显示风格 res/values/filename.xml  
  98.  
  99. <?xml version=”1.0″ encoding=”utf-8″?> 
  100. <resources> 
  101.    <style name=”SpecialText” parent=”@style/Text”> 
  102.    <item name=”android:textSize”>18sp</item> 
  103.    <item name=”android:textColor”>#008</item> 
  104. </style> 
  105. </resources> 
  106.  
  107. 主题主要针对Activity等, 可以在Android Manifest中定义的<application><activity>元素将主题添加到整个程序或者某个 Activity,但是主题是不能应用在某一个单独的View里.风格可以自己定义也可以使用程序自带的或是继承已有的风格。  
  108.  
  109. <?xml version="1.0" encoding="utf-8"?><resources><style name="CustomTheme"><item name="android:windowNoTitle">true</item><item name="windowFrame">@drawable/screen_frame</item><item name="windowBackground">@drawable/screen_background_white</item><item name="panelForegroundColor">#FF000000</item><item name="panelBackgroundColor">#FFFFFFFF</item><item name="panelTextColor">?panelForegroundColor</item><item name="panelTextSize">14</item><item name="menuItemTextColor">?panelTextColor</item><item name="menuItemTextSize">?panelTextSize</item></style></resources>   
  110. 、              动画  
  111.  
  112. 动画资源分为两种,一是实现图片的translate、scale、rotate、alpha四种变化。还可以设置动画的播放特性;另一种是帧动画,逐帧播放设置的资源  
  113.  
  114. 先说一下第一种  
  115.  
  116. Res/anim/filename.xml<set xmlns:android="http://schemas.android.com/apk/res/android">                                   <translate android:interpolator="@android:anim/accelerate_interpolator"                                         android:fromXDelta="0" android:toXDelta="200" android:fromYDelta="0"                                         android:toYDelta="180" android:duration="2000" />                    <scale android:interpolator="@android:anim/accelerate_interpolator"                                         android:fromXScale="1.0" android:toXScale="2.0" android:fromYScale="1.0"                                         android:toYScale="2.0" android:pivotX="150%" android:pivotY="150%"                                         android:duration="2000" />                    <alpha android:fromAlpha="1.0" android:toAlpha="1.0"                                         android:duration="@android:integer/config_mediumAnimTime" />                    <rotate ....各个属性></rotate>                    <Interpolator >可以使用其子类和属性定义动画的运行方式,先快后慢,先慢后快等</Interpolator></set>  具体参数的用法,大家可以自己查资料  
  117.  
  118. 下面是第二种资源  
  119.  
  120. <animation-list xmlns:android=”http://schemas.android.com/apk/res/android”  
  121. android:oneshot=”true”> 
  122. <item android:drawable=”@drawable/rocket_thrust1″ android:duration=”200″ /> 
  123. <item android:drawable=”@drawable/rocket_thrust2″ android:duration=”200″ /> 
  124. <item android:drawable=”@drawable/rocket_thrust3″ android:duration=”200″ /> 
  125. </animation-list> 
  126.  
  127.    
  128.  
  129.    
  130.  
  131. <script src="/javascripts/tinymce/plugins/javaeye/langs/zh.js" type="text/javascript"></script> rif;">1. 相关文件夹介绍     在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。在后面会介绍如何读取assets文件夹的资源! 

代码示例

/Chapter03_Resource/src/com/amaker/test/MainActivity.java

 


  1. 代码  
  2.  
  3. package com.amaker.test;  
  4.  
  5. import android.app.ListActivity;  
  6. import android.content.Intent;  
  7. import android.os.Bundle;  
  8. import android.view.View;  
  9. import android.widget.ArrayAdapter;  
  10. import android.widget.ListView;  
  11.  
  12. import com.amaker.ch03.color.TestColorActivity;  
  13. import com.amaker.ch03.dimen.TestDimensionActivity;  
  14. import com.amaker.ch03.drawable.TestBitmapActivity;  
  15. import com.amaker.ch03.layout.TestLayoutActivity;  
  16. import com.amaker.ch03.menu.TestMenuActivity;  
  17. import com.amaker.ch03.string.TestStringActivity;  
  18. import com.amaker.ch03.xml.TestXmlActivity;  
  19.  
  20. public class MainActivity extends ListActivity {  
  21.       
  22.     @Override 
  23.     public void onCreate(Bundle savedInstanceState) {  
  24.         super.onCreate(savedInstanceState);  
  25.          
  26.         // 菜单项数组  
  27.         String[] items = {"Test Color","Test String","Test Dimension","Test XML","Test Bitmap","Test Menu","Test Layout"};  
  28.         // 将菜单项数组设置为ListView的列表项展示  
  29.         setListAdapter(new ArrayAdapter<String>(this,  
  30.                 android.R.layout.simple_list_item_1, items));  
  31.         getListView().setTextFilterEnabled(true);  
  32.           
  33.     }  
  34.       
  35.     // 响应菜单项的单击事件  
  36.     protected void onListItemClick(ListView l, View v, int position, long id) {  
  37.         Intent intent = null;  
  38.         switch (position) {  
  39.         case 0:  
  40.             intent = new Intent(MainActivity.this,TestColorActivity.class);  
  41.             startActivity(intent);  
  42.             break;  
  43.         case 1:  
  44.             intent = new Intent(MainActivity.this,TestStringActivity.class);  
  45.             startActivity(intent);  
  46.             break;  
  47.         case 2:  
  48.             intent = new Intent(MainActivity.this,TestDimensionActivity.class);  
  49.             startActivity(intent);  
  50.             break;  
  51.         case 3:  
  52.             intent = new Intent(MainActivity.this,TestXmlActivity.class);  
  53.             startActivity(intent);  
  54.             break;  
  55.         case 4:  
  56.             intent = new Intent(MainActivity.this,TestBitmapActivity.class);  
  57.             startActivity(intent);  
  58.             break;  
  59.         case 5:  
  60.             intent = new Intent(MainActivity.this,TestMenuActivity.class);  
  61.             startActivity(intent);  
  62.             break;  
  63.         case 6:  
  64.             intent = new Intent(MainActivity.this,TestLayoutActivity.class);  
  65.             startActivity(intent);  
  66.             break;  
  67.         }  
  68.     }  

 

获取颜色资源

/Chapter03_Resource/src/com/amaker/ch03/color/TestColorActivity.java

 


  1. 代码  
  2.  
  3. package com.amaker.ch03.color;  
  4.  
  5. import android.app.Activity;  
  6. import android.os.Bundle;  
  7. import com.amaker.test.R;  
  8.  
  9. public class TestColorActivity extends Activity {  
  10.     @Override 
  11.     public void onCreate(Bundle savedInstanceState) {  
  12.         super.onCreate(savedInstanceState);  
  13.         setContentView(R.layout.test_color);  
  14.         // 引用颜色资源,设置背景色为红色  
  15.         getWindow().setBackgroundDrawableResource(R.color.red_bg);  
  16.     }  

/Chapter03_Resource/res/values/colors.xml

 <?xml version="1.0" encoding="utf-8"?>
<resources>
    
<color name="red_bg">#f00</color>
    
<color name="blue_text">#0000ff</color>
</resources>

尺寸资源资源

/Chapter03_Resource/src/com/amaker/ch03/dimen/TestDimensionActivity.java

 


  1. 代码  
  2.  
  3. package com.amaker.ch03.dimen;  
  4.  
  5. import android.app.Activity;  
  6. import android.content.res.Resources;  
  7. import android.os.Bundle;  
  8. import android.widget.Button;  
  9.  
  10. import com.amaker.test.R;  
  11.  
  12. public class TestDimensionActivity extends Activity {  
  13.     private Button myButton;  
  14.     @Override  
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.        setContentView(R.layout.test_dimen);  
  18.          
  19.        myButton = (Button)findViewById(R.id.Button01);  
  20.          
  21.        Resources r = getResources();  
  22.        float btn_h = r.getDimension(R.dimen.btn_height);  
  23.        float btn_w = r.getDimension(R.dimen.btn_width);  
  24.          
  25.        myButton.setHeight((int)btn_h);  
  26.        myButton.setWidth((int)btn_w);  
  27.     }  

/Chapter03_Resource/res/values/dimens.xml

 


  1. 代码  
  2.  
  3. <?xml version="1.0" encoding="utf-8"?> 
  4. <resources> 
  5.     <dimen name="text_width">150px</dimen> 
  6.     <dimen name="text_height">100px</dimen> 
  7.       
  8.     <dimen name="btn_width">30mm</dimen> 
  9.     <dimen name="btn_height">10mm</dimen> 
  10. </resources> 

Bitmap资源

/Chapter03_Resource/src/com/amaker/ch03/drawable/TestBitmapActivity.java

 


  1. 代码  
  2.  
  3. package com.amaker.ch03.drawable;  
  4.  
  5. import android.app.Activity;  
  6. import android.content.res.Resources;  
  7. import android.graphics.drawable.Drawable;  
  8. import android.os.Bundle;  
  9. import android.widget.ImageView;  
  10.  
  11. import com.amaker.test.R;  
  12.  
  13. public class TestBitmapActivity extends Activity {  
  14.       
  15.     private ImageView myImageView;  
  16.       
  17.     @Override 
  18.     public void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.        setContentView(R.layout.test_bitmap);  
  21.          
  22.        myImageView = (ImageView)findViewById(R.id.bitmapImageView02);  
  23.          
  24.        Resources r = getResources();  
  25.        Drawable d = r.getDrawable(R.drawable.moto);  
  26.        myImageView.setImageDrawable(d);  
  27.          
  28.     }  

/Chapter03_Resource/res/drawable

 

布局资源

/Chapter03_Resource/src/com/amaker/ch03/layout/TestLayoutActivity.java

 


  1. 代码  
  2.  
  3. package com.amaker.ch03.layout;  
  4.  
  5. import android.app.Activity;  
  6. import android.os.Bundle;  
  7. import android.widget.Button;  
  8. import android.widget.EditText;  
  9. import android.widget.TextView;  
  10. import com.amaker.test.R;  
  11.  
  12. public class TestLayoutActivity extends Activity {  
  13.     private TextView myTextView;  
  14.     private EditText myEditText;  
  15.     private Button myButton;  
  16.     @Override 
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.        setContentView(R.layout.test_layout);  
  20.          
  21.        myTextView = (TextView)findViewById(R.id.layoutTextView01);  
  22.        myEditText = (EditText)findViewById(R.id.layoutEditText01);  
  23.        myButton = (Button)findViewById(R.id.layoutButton01);  
  24.          
  25.     }  

/Chapter03_Resource/res/layout/test_layout.xml

 


  1. 代码  
  2.  
  3. <?xml version="1.0" encoding="utf-8"?> 
  4. <LinearLayout   
  5.     xmlns:android="http://schemas.android.com/apk/res/android" 
  6.     android:orientation="vertical"   
  7.     android:layout_width="fill_parent" 
  8.     android:layout_height="fill_parent"> 
  9.     <!-- 以上四个属性分别是:命名空间、 组件布局方向(这里是垂直)、布局的宽(充满屏幕)和高(充满屏幕)--> 
  10.       
  11.     <!--  以下嵌套一个TableLayout --> 
  12.     <TableLayout   
  13.     android:layout_width="fill_parent"   
  14.     android:layout_height="fill_parent"   
  15.     android:stretchColumns="1"> 
  16.         <TableRow> 
  17.             <TextView   
  18.             android:text="测试Layout:"   
  19.             android:id="@+id/layoutTextView01"   
  20.             android:layout_width="wrap_content"   
  21.             android:layout_height="wrap_content" 
  22.             android:textColor="@color/red_bg"/> 
  23.               
  24.             <!-- 以上五个属性分别是:文本内容、引用组件的ID、该组件的宽(内容的宽)、该组件的高(内容的高)、文件颜色 --> 
  25.           
  26.             <EditText   
  27.             android:text=""   
  28.             android:id="@+id/layoutEditText01"   
  29.             android:layout_width="fill_parent"   
  30.             android:layout_height="wrap_content"/> 
  31.         </TableRow> 
  32.           
  33.         <TableRow android:gravity="right"> 
  34.             <Button   
  35.             android:text="Test"   
  36.             android:id="@+id/layoutButton01"   
  37.             android:layout_width="wrap_content"   
  38.             android:layout_height="wrap_content" 
  39.             /> 
  40.         </TableRow> 
  41.     </TableLayout> 
  42. </LinearLayout> 

菜单资源

/Chapter03_Resource/src/com/amaker/ch03/menu/TestMenuActivity.java

 


  1. 代码  
  2.  
  3. package com.amaker.ch03.menu;  
  4.  
  5. import android.app.Activity;  
  6. import android.app.AlertDialog;  
  7. import android.content.DialogInterface;  
  8. import android.os.Bundle;  
  9. import android.view.Menu;  
  10. import android.view.MenuInflater;  
  11. import android.view.MenuItem;  
  12.  
  13. import com.amaker.test.R;  
  14.  
  15. public class TestMenuActivity extends Activity {  
  16.     private MenuInflater mi;  
  17.     @Override 
  18.    public void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.        setContentView(R.layout.test_menu);  
  21.        mi = new MenuInflater(this);  
  22.     }  
  23.       
  24.     /*  
  25.      * 创建菜单  
  26.      */ 
  27.     public boolean onCreateOptionsMenu(Menu menu) {  
  28.         mi.inflate(R.menu.file_menu, menu);  
  29.         return true;  
  30.     }  
  31.       
  32.     @Override 
  33.     public boolean onOptionsItemSelected(MenuItem item) {  
  34.         switch (item.getItemId()) {  
  35.         case R.id.about:  
  36.             aboutAlert("本实例演示的是如何使用XML菜单资源来定义菜单!");  
  37.             break;  
  38.         case R.id.exit:  
  39.             exitAlert("真的要退出吗?");  
  40.             break;  
  41.         }  
  42.         return true;  
  43.     }  
  44.       
  45.     // 显示对话框  
  46.     private void exitAlert(String msg){  
  47.         AlertDialog.Builder builder = new AlertDialog.Builder(this);  
  48.         builder.setMessage(msg)  
  49.                .setCancelable(false)  
  50.                .setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  51.                    public void onClick(DialogInterface dialog, int id) {  
  52.                        finish();  
  53.                    }  
  54.                }).setNegativeButton("取消"new DialogInterface.OnClickListener() {  
  55.                    public void onClick(DialogInterface dialog, int id) {  
  56.                        return;  
  57.                    }  
  58.                });  
  59.         AlertDialog alert = builder.create();  
  60.         alert.show();  
  61.     }  
  62.       
  63.     // 显示对话框  
  64.     private void aboutAlert(String msg){  
  65.         AlertDialog.Builder builder = new AlertDialog.Builder(this);  
  66.         builder.setMessage(msg)  
  67.                .setCancelable(false)  
  68.                .setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  69.                    public void onClick(DialogInterface dialog, int id) {  
  70.                    }  
  71.                });  
  72.         AlertDialog alert = builder.create();  
  73.         alert.show();  
  74.     }  
  75.  

/Chapter03_Resource/res/layout/test_menu.xml

 


  1. 代码  
  2.  
  3. <?xml version="1.0" encoding="utf-8"?> 
  4. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  5.     android:orientation="vertical"   
  6.     android:layout_width="fill_parent" 
  7.     android:layout_height="fill_parent"> 
  8.       
  9.     <TextView   
  10.         android:text="测试菜单资源"   
  11.         android:id="@+id/menuTextView01"   
  12.         android:layout_width="wrap_content"   
  13.         android:layout_height="wrap_content"></TextView> 
  14.           
  15. </LinearLayout> 

字符串资源

/Chapter03_Resource/src/com/amaker/ch03/string/TestStringActivity.java

 


  1. 代码  
  2.  
  3.  
  4. package com.amaker.ch03.string;  
  5.  
  6. import android.app.Activity;  
  7. import android.os.Bundle;  
  8. import android.widget.TextView;  
  9.  
  10. import com.amaker.test.R;  
  11.  
  12. public class TestStringActivity extends Activity {  
  13.     private TextView myTextView;  
  14.     @Override 
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.        setContentView(R.layout.test_string);  
  18.        myTextView = (TextView)findViewById(R.id.myTextView02);  
  19.        String str = getString(R.string.test_str2).toString();  
  20.        myTextView.setText(str);  
  21.     }  

/Chapter03_Resource/res/layout/test_string.xml

 


  1. 代码  
  2.  
  3. <?xml version="1.0" encoding="utf-8"?> 
  4. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  5.     android:orientation="vertical" android:layout_width="fill_parent" 
  6.     android:layout_height="fill_parent"> 
  7.     <TextView   
  8.         android:text="@string/test_str1"   
  9.         android:id="@+id/myTextView01"   
  10.         android:layout_width="wrap_content"   
  11.         android:layout_height="wrap_content" 
  12.         /> 
  13.       
  14.     <TextView   
  15.     android:text=""   
  16.     android:id="@+id/myTextView02"   
  17.     android:layout_width="wrap_content"   
  18.     android:layout_height="wrap_content" 
  19.     /> 
  20. </LinearLayout> 

xml资源

 


  1. 代码  
  2.  
  3. package com.amaker.ch03.xml;  
  4.  
  5. import java.io.IOException;  
  6.  
  7. import org.xmlpull.v1.XmlPullParser;  
  8. import org.xmlpull.v1.XmlPullParserException;  
  9.  
  10. import android.app.Activity;  
  11. import android.content.res.Resources;  
  12. import android.content.res.XmlResourceParser;  
  13. import android.os.Bundle;  
  14. import android.view.View;  
  15. import android.view.View.OnClickListener;  
  16. import android.widget.Button;  
  17. import android.widget.TextView;  
  18.  
  19. import com.amaker.test.R;  
  20.  
  21. public class TestXmlActivity extends Activity {  
  22.     private TextView myTextView;  
  23.     private Button myButton;  
  24.     @Override  
  25.     public void onCreate(Bundle savedInstanceState) {  
  26.         super.onCreate(savedInstanceState);  
  27.        setContentView(R.layout.test_xml);  
  28.          
  29.        myTextView = (TextView)findViewById(R.id.xmlContentTextView01);  
  30.        myButton = (Button)findViewById(R.id.xmltTestButton01);  
  31.          
  32.        myButton.setOnClickListener(new OnClickListener() {  
  33.         @Override  
  34.         public void onClick(View v) {  
  35.                int counter = 0;  
  36.                StringBuilder sb = new StringBuilder("");  
  37.                Resources r = getResources();  
  38.                XmlResourceParser xrp = r.getXml(R.xml.test);  
  39.                try {  
  40.                 while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) {   
  41.                          if (xrp.getEventType() == XmlResourceParser.START_TAG) {   
  42.                               String name = xrp.getName();  
  43.                               if(name.equals("customer")){  
  44.                                   counter++;  
  45.                                   sb.append("第"+counter+"条客户信息:"+"\n");  
  46.                                   sb.append(xrp.getAttributeValue(0)+"\n");  
  47.                                   sb.append(xrp.getAttributeValue(1)+"\n");  
  48.                                   sb.append(xrp.getAttributeValue(2)+"\n");  
  49.                                   sb.append(xrp.getAttributeValue(3)+"\n\n");  
  50.                               }  
  51.                          } else if (xrp.getEventType() == XmlPullParser.END_TAG) {   
  52.                          } else if (xrp.getEventType() == XmlPullParser.TEXT) {   
  53.                          }   
  54.                          xrp.next();   
  55.                     }  
  56.                 myTextView.setText(sb.toString());  
  57.             } catch (XmlPullParserException e) {  
  58.                 e.printStackTrace();  
  59.             } catch (IOException e) {  
  60.                 e.printStackTrace();  
  61.             }  
  62.         }  
  63.     });  
  64.     }  

 


  1. 代码  
  2.  
  3. <?xml version="1.0" encoding="utf-8"?> 
  4. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  5.     android:orientation="vertical" android:layout_width="fill_parent" 
  6.     android:layout_height="fill_parent"> 
  7.       
  8.     <Button   
  9.     android:text="获得XML内容"   
  10.     android:id="@+id/xmltTestButton01"   
  11.     android:layout_width="wrap_content"   
  12.     android:layout_height="wrap_content"></Button> 
  13.       
  14.       
  15.     <TextView   
  16.     android:text=""   
  17.     android:id="@+id/xmlContentTextView01"   
  18.     android:layout_width="wrap_content"   
  19.     android:layout_height="wrap_content" 
  20.     /> 
  21.       
  22. </LinearLayout> 

 

本文转自linzheng 51CTO博客,原文链接:http://blog.51cto.com/linzheng/1080710


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
插件化框架设计(二) Android 资源加载机制详解(二)
Android 提供了一种非常灵活的资源系统,可以根据不同的条件提供可替代资源。因此,系统基于很少的改造就能支持新特性,比如 Android N 中的分屏模式。这也是 Android 强大部分之一。本文主要讲述 Android 资源系统的实现原理,以及在应用开发中需要注意的事项。
0 0
插件化框架设计(二) Android 资源加载机制详解(一)
Android 提供了一种非常灵活的资源系统,可以根据不同的条件提供可替代资源。因此,系统基于很少的改造就能支持新特性,比如 Android N 中的分屏模式。这也是 Android 强大部分之一。本文主要讲述 Android 资源系统的实现原理,以及在应用开发中需要注意的事项。
0 0
Android Glide加载图片、网络监听、设置资源监听
Android Glide加载图片、网络监听、设置资源监听
0 0
Android中的资源复用小技巧
做了很多项目,发现每个项目里都有大量的相似图标,比如每个颜色一种、每个角度一种(左箭头、右箭头)等等,虽然这些图标很小占用不了太多资源。但是当我们需要change的时候就得一个个去替换,其实在android里有很多小技巧可以让这些资源进行复用,减少体积的同时也可以使项目结构更加清晰。 这里总结的一些比较常用的复用,包扩:自适应、变色、旋转、阴影、组合、透明度、剪裁、留白等
0 0
Android如何优雅地解决重复Drawable资源
Android如何优雅地解决重复Drawable资源
0 0
Android Studio如何允许访问网络资源
Android Studio如何允许访问网络资源
0 0
【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )(二)
【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )(二)
0 0
【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )(一)
【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )(一)
0 0
【Android 插件化】VirtualApp 安装并启动资源中自带的 APK 插件 ( 添加依赖库 | 准备插件 APK | 启动插件引擎 | 拷贝 APK 插件 | 安装插件 | 启动插件 )(二)
【Android 插件化】VirtualApp 安装并启动资源中自带的 APK 插件 ( 添加依赖库 | 准备插件 APK | 启动插件引擎 | 拷贝 APK 插件 | 安装插件 | 启动插件 )(二)
0 0
【Android 插件化】VirtualApp 安装并启动资源中自带的 APK 插件 ( 添加依赖库 | 准备插件 APK | 启动插件引擎 | 拷贝 APK 插件 | 安装插件 | 启动插件 )(一)
【Android 插件化】VirtualApp 安装并启动资源中自带的 APK 插件 ( 添加依赖库 | 准备插件 APK | 启动插件引擎 | 拷贝 APK 插件 | 安装插件 | 启动插件 )(一)
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android插件化:从入门到放弃
立即下载