J2ME 移植android 關於DAT文件的讀取

你想像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/"a3
importandroid.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.p3
publicclassReadAssetextendsActivity
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的程序也逐步移植完成了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章