您的位置:首页 > 移动开发 > Android开发

J2ME 移植android 关于DAT文件的读取

2010-10-23 17:41 423 查看
你想像j2me那样直接把所有的资源文件放在src目录下面然后通过getClass().getResourceAsStream(name)这么简单就可以获取资源文件吗。3GEYE h$j nN4]4f2D8HK

答案是很肯定的。下面看看代码吧。3GEYE^ n!}_ V8b

importcom...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
import.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

 * ** 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的程序也逐步移植完成了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息