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的程序也逐步移植完成了。

 

 

 

你可能感兴趣的:(C++,c,android,F#,J#)