当前位置: 代码迷 >> Android >> Android处置非res资源的例子
  详细解决方案

Android处置非res资源的例子

热度:19   发布时间:2016-05-01 14:09:13.0
Android处理非res资源的例子

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

?

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

importcom.google.android.samples.R;3GEYE5mDZqsKTeu~
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;NPV3? ? ? ?
// See assets/res/any/layout/styled_text.xml for this
1_aIX"^k&pT3? ? ? ?
// view layout definition.3GEYEX}$Vf8y9E$G X
? ? ? ? setContentView
(R.layout.read_asset);
)x e ~(V~4tmE3
\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 MJbLX~(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\

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

?

?

?

  相关解决方案