Android处理非res资源的例子

原文 http://www.3geye.net/?3/viewspace-3021

你想像j2me那样直接把所有的资源文件放在src目录下面然后通过getClass().getResourceAsStream(name)这么简单就可以获取资源文件吗。3GEYE h$j nN4]4f2D8HK
答案是很肯定的。下面看看代码吧。3GEYE^ n!}_ V8b

importcom.google.android.samples.R;3GEYE5mDZ qsK Teu~
3GEYE-h4QC*} {k
importandroid.app.Activity;3GEYEZ,x |em-N(h%r*r:m
importandroid.os.Bundle;
&xM&C1_1\"a3
importandroid.widget.TextView;3GEYEP|e5H2qb
3GEYE7v6s ox/yH
importjava.io.IOException;3GEYE�T~Yk`D n YEu
importjava.io.InputStream;
(AK.nmQ2j%Hi33GEYEu@;K#[V'G Nx

5G;B5Px p-J3
/**3GEYETL/Zs-X7r\%d&V Vh
* Demonstration of styled text resources.
8z1pj ifgz:g+t8g Q#Fx3*/

c9B,D.{S PAq.p3
publicclassReadAssetextendsActivity
iO+j,TQ J x&V3
{
Z9H+j~"E'vdJ|3
@Override
&I]@{*fl0QF/\3
protectedvoidonCreate(Bundleicicle)3GEYEw&C3Z%@Wg%x1Kk
{
9|Mx Lw%y Y,d3
super.onCreate(icicle);
2_3Qi;Mf SK n]2J3
3ua:d;N PV3
// See assets/res/any/layout/styled_text.xml for this
1_a I X"^ k&pT3
// view layout definition.3GEYEX}$Vf8y9E$G X
setContentView
(R.layout.read_asset);
)x e ~(V~4t mE3
\Y9C,m-cI|J,F3
// Programmatically load text from an asset and place it into the3GEYEIa$hWB0H3GW5s
// text view. Note that the text we are loading is ASCII, so we
{:E~Z?H2T3
// need to convert it to UTF-16.
y\1~R9^ Yx3
try{
fi*l,Lp#T3
InputStreamis=getAssets().open("read_asset.txt");
.B `o�q+o t}3
Um4MG nt8p4k3
// We guarantee that the available method returns the total
aM7G;`U2Dt.h%px5|3
// size of the asset... of course, this does mean that a single
}d�F~$v __'t8}3
// asset can't be more than 2 gigs.3GEYE,O�@'PG)XO
intsize=is.available();
}$~4g Vf V3
H/Re%P6EX3
// Read the entire asset into a local byte buffer.3GEYE\-y#M.hh;~ ny{ DG
byte[]buffer=newbyte[size];
Z#x/U"G"kH3
is.read(buffer);
hfc6AwFxbg+]D3
is.close();3GEYE?�ht,b&u5x
3GEYE_lx [D9L q|7rs
// Convert the buffer into a Java string.
)k-_6d-I~sVR3
Stringtext=newString(buffer);
y7|4N-Q*a:c33GEYE(E*YSD:am wW$x5z
// Finally stick the string into the text view.
.}qktl|&V X\3
TextViewtv=(TextView)findViewById(R.id.text);3GEYE;V d MJbL X~(hT
tv
.setText(text);3GEYEx"jE"k q!V2UV,y�tlV
}catch(IOExceptione){3GEYE:{om A;o7s.pZ1@$IW
// Should never happen!
In2I ?[3
thrownewRuntimeException(e);
X4x%vo$h?W:r3
}
$A*pS8qR;}3
}3GEYEgA_s A |V
}3GEYE%aqVh.\T c

F�K@Fzn/s3_%zw3你只需要把你的资源文件放到assets目录下面。一切就是那么的简单,容易。我开始有点喜欢Android。3GEYE._g&A0bp\

o9k o+x-{x/g-jD3好了,我的J2ME的程序也逐步移植完成了。



爬虫工作室 -- 专业的手机软件开发工作室
3G视线 -- 专注手机软件开发

更多相关文章

  1. 获取Android崩溃crash信息并写入日志发送邮件
  2. Android配置文件(.properties文件)的使用
  3. Android(安卓)studio设置字体格式之Typeface(字型)
  4. Android学习笔记(五)第一个Android(安卓)程序----Hello world
  5. AdroidManifest文件介绍
  6. Android(安卓)Studio导入第三方类库的方法
  7. 【Android自动化打包】01. aapt的用法
  8. Android(安卓)使用selector设置button字体颜色无效
  9. Android实现文件的保存与读取功能示例

随机推荐

  1. AndroidMainifest标签使用说明3——<acti
  2. Shape使用
  3. Android(安卓)按钮添加单击事件
  4. Android官方入门文档[6]添加Action按钮
  5. Android(安卓)Gradle版本问题
  6. Android播放在线音乐文件
  7. Android——进程通信/ AIDL/Message相关
  8. android studio 添加项目修改gradle2.2.3
  9. 多线程实现更新android进度条。
  10. Android(安卓)4.0系统源码目录结构详解