Android-----Resources

本文详细介绍了如何使用Java实现XML文件的读写,包括使用DroidDraw进行基本操作,通过Relative、LinearLayout、FrameLayout等布局实现复杂布局,以及如何获取Drawable、颜色、解析XML文件和从资源中读取原始文件。重点展示了如何调用方法获取图像、设置背景,获取颜色值,解析XML文件并转换原始文件内容。

    XML文件的读写方式基本上是利用DroidDraw,而且也很少有难的地方,复杂布局尽量用Relative,简单布局用LinearLayout,较为特殊的时候使用FrameLayot,另外两个AbsoluteLayout和TableLayout很少使用。  

记录一部分用Java实现的功能】

Image
     //Call getDrawable to get the image
        Drawable d = getResources().getDrawable(R.drawable.sample_image);
        //You can use the drawable then to set the background
        this.getTextView().setBackgroundDrawable(d);      
        //or you can set the background directly from the Resource Id
        this.getTextView().setBackgroundResource(R.drawable.sample_image);
Color
Resources res = this.mContext.getResources();
int mainBackGroundColor =  res.getColor(R.color.main_back_ground_color);
reportString("mainBackGroundColor:" + mainBackGroundColor);
ParseXML
     StringBuffer sb = new StringBuffer();
        Resources res = activity.getResources();
        XmlResourceParser xpp = res.getXml(R.xml.test);

        xpp.next();
        int eventType = xpp.getEventType();
        while (eventType != XmlPullParser.END_DOCUMENT) {
            if(eventType == XmlPullParser.START_DOCUMENT) {
                sb.append("******Start document");
            } 
            else if(eventType == XmlPullParser.START_TAG) {
                sb.append("\nStart tag "+xpp.getName());
            } 
            else if(eventType == XmlPullParser.END_TAG) {
                sb.append("\nEnd tag "+xpp.getName());
            } 
            else if(eventType == XmlPullParser.TEXT) {
                sb.append("\nText "+xpp.getText());
            }
            eventType = xpp.next();
        }//eof-while
        sb.append("\n******End document");
        return sb.toString();
RawFile
     Resources r = activity.getResources();
        InputStream is = r.openRawResource(R.raw.test);
        String myText = convertStreamToString(is);
        is.close();
        return myText;
convertStreamToString
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
        int i = is.read();
        while (i != -1){
            baos.write(i);
            i = is.read();
        }
        return baos.toString();
getStringFromAssetFile
      AssetManager am = activity.getAssets();
        InputStream is = am.open("test.txt");
        String s = convertStreamToString(is);
        is.close();
        return s;

 

转载于:https://www.cnblogs.com/vijay/p/3531348.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值