原文 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\"a3importandroid.widget.TextView;3GEYEP|e5H2qb
3GEYE7v6sox/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&VVh
* Demonstration of styled text resources.
8z1pjifgz:g+t8gQ#Fx3 */
c9B,D.{S PAq.p3publicclassReadAssetextendsActivity
iO+j,TQJx&V3{
Z9H+j~"E'vdJ|3 @Override
&I]@{*fl0QF/\3 protectedvoidonCreate(Bundleicicle)3GEYEw&C3Z%@Wg%x1Kk
{
9|MxLw%y Y,d3 super.onCreate(icicle);
2_3Qi;Mf SKn]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);
)xe ~(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+ot}3
Um4MGnt8p4k3 // 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();
}$~4gVf 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;Vd MJbL
X~(hT
tv.setText(text);3GEYEx"jE"kq!V2UV,y�tlV
}catch(IOExceptione){3GEYE:{omA;o7s.pZ1@$IW
// Should never happen!
In2I ?[3 thrownewRuntimeException(e);
X4x%vo$h?W:r3 }
$A*pS8qR;}3 }3GEYEgA_sA |V
}3GEYE%aqVh.\Tc
F�K@Fzn/s3_%zw3你只需要把你的资源文件放到assets目录下面。一切就是那么的简单,容易。我开始有点喜欢Android。3GEYE._g&A0bp\
o9k
o+x-{x/g-jD3好了,我的J2ME的程序也逐步移植完成了。