`

Android 之CharSequence类型

 
阅读更多
CharSequence类型
这是一个接口,代表的是一个有序字符集合,这个接口包含的方法有:
charAt(int index),toString(),length(),subSequence(int start,int end).

CharSequence cs="hello";
但是不能这样来创建:
CharSequence cs=new CharSequence("hello");
下面来看看一个例子:
TextView tv;    //声明一个TextView类型的变量tv
CharSequence cs;    //声明一个CharSequence类型的变量cs
String str;    //声明一个字符串类型的str变量
cs=getText(R.string.styled_text);  
//其实这里使用的this.getText()方法,即指定上下文的方法
tv=(TextView)findViewById(R.id.styled_text);  
//通过给定的id将tv与对应的组件联系起来
tv.setText(cs);        //使用这句代码来设置tv的显示内容

str=getString(R.string.styled_text);
tv=(TextView)findViewById(R.id.plain_text);
tv.setText(str);

Context context=this;    //这里使用了Context类型的变量context,指定为当前上下文
Resources res=context.getResources();        //定义一个Resources类型的变量res,并给它赋值
cs=res.getText(R.string.styled_text);        //获得R类中指定变量的值
tv=(TextView)findViewById(R.id.styled_text);    //同上
tv.setText(cs);            //设置值


下面来看看如何在Android应用程序中访问文件应用程序包中的资源
AssetManager类,即管理资产类,这个类为访问当前应用程序的资产文件提供了入口。
这个类的方法有:open (String filename,int accessMode)使用一个精确的访问模式来打开当前包的一个资产,
返回输入流,即由此读取了这个包的资产的内容。要注意的是,这里所说的资产是放置在assets目录下的文件资产。
其中accessmode的值可以为:ACCESS_BUFFER,ACCESS_RANDOM,ACCESS_STREAMING,ACCESS_UNKNOWN其中的一个。
下面给出一个实例:
InputStream is=getAssets().open(String filename);//从指定的filename文件中读取内容,并将其放入到InputStream类型的is变量中
int size=is.available(); //获取流的长度
byte[] buffer=new byte[size];     //定义流长度的字节数组
is.read(buffer);    //将流中的内容放到buffer数组中
is.close();       
String text=new String(buffer);
TextView tv=(TextView)findViewById(R.id.text);
tv.setText(text);        //同上



Android 除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径。我们可以通过AssetManager 类来访问这些文件。

比如我要读取/assets/background.png
分享到:
评论

相关推荐

    Android AIDL使用介绍(2)自定义数据类型的传递

    1.背景 默认情况下,AIDL只支持下列数据类型: Java八种基础数据类型(如 int、long、char、boolean 等);...这就需用到Parcelable接口,Parcelable意思是“可包裹的”,是Android系统可用的序列化

    Google Android SDK开发范例大全 源码

     3.4 置换TextView文字——CharSequence数据类型与Resource ID应用   3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法   3.6 样式化的定型对象——Style样式的定义   3.7 简易的按钮事件——...

    Android 使用AIDL进行两个APP之间通讯以及相互消息回调(一)

    AIDL:Android Interface Definition Language,翻译过来就是Android接口定义语言。是用于定义服务器和客户端通信接口的一种描述语言,可以拿来生成用于IPC的代码。所以使用AIDL需要一个服务端和客户端 作用:可以在...

    Google.Android.SDK开发范例大全

     3.4 置换TextView文字——CharSequence数据类型与Resource ID应用   3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法   3.6 样式化的定型对象——Style样式的定义   3.7 简易的按钮事件——...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Java进行二元操作类型转换

    当对两个数值进行二元操作时,先要将两个操作数转换为同一种类型,然后再进行计算。  如果两个操作数中有一个是double类型,另一个操作数会转换为double类型。  否则,如果其中一个操作数是float类型,另一个...

    Google Android SDK开发范例大全的目录

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 ...

    android 面试2

    A、Serializable B、charsequence C、Parcelable(邮包类型) D、Bundle 17、Android中使用Menu时可能需要重写的方法(AC) A、onCreateOptionsMenu() B、onCreateMenu() C、onOptionsItemSelected() D、onItemSelected...

    Google Android SDK 开发范例大全01

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Google Android SDK 开发范例大全02

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Google+Android+SDK开发范例大全

    3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——...

    易于使用的Android库,可轻松在任何视图附近添加工具提示-Android开发

    工具提示易于使用的android库,可轻松在任何视图附近添加工具提示新增功能v.1.0.10添加了多个API,可对工具...更新了ToolTip.Builder()API,以接受CharSequence作为工具提示消息文本,以允许更多类型的可扩展消息。

    Google Android sdk 开发范例大全 部分章节代码

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Google Android SDK开发范例大全(完整版)

    3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 ...

    Android面试题(详细答案).doc

     Intent传递数据时,下列的数据类型哪些可以被传递(abcd)(多选) A、Serializable B、charsequence C、Parcelable D、Bundle  13.android 中下列属于Intent的作用的是(c)  A、实现应用程序间的数据共享  B、是...

Global site tag (gtag.js) - Google Analytics