`
helpbs
  • 浏览: 1161566 次
文章分类
社区版块
存档分类
最新评论

android CharSequence类、AssetManager类、Context类、Resources类

 
阅读更多
CharSequence类型
这是一个接口,代表的是一个有序字符集合,这个接口包含的方法有:charAt(int index),toString(),length(),subSequence(int start,int end).
这里需要说的一点就是,对于一个抽象类或者是接口类,不能使用new来进行赋值,但是可以通过以下的方式来进行实例的创建:
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); //同上

上面演示了CharSequence类,Context类,Resource类,AssetManager类的使用实例,如此一来,你就可以去写
自己的这几个类的实例了,继续吧!
分享到:
评论

相关推荐

    Android UI开发专题

     对于Android平台的资源类android.content.res.Resources可能很多网友比较陌生,一起来看看SDK上是怎么介绍的吧,Contains classes for accessing application resources, such as raw asset files, colors, ...

    Android很全常用工具类源码

    Android系统下载管理DownloadManager增强方法,可用于包括获取下载相关信息,如: getStatusById(long) 得到下载状态 getDownloadBytes(long) 得到下载进度信息 getBytesAndStatus(long) 得到下载进度信息和状态 ...

    Android代码-NotifyUtil

    notification工具类,最简化api 示例图 API Application里的初始化 public static void init(Context appContext) 第一步: buildSimple(int id,int icon,CharSequence contentTitle ,CharSequence contentText,...

    java CharSequence、String、StringBuffer、StringBuilder详解

    NULL 博文链接:https://hui-jing-880210.iteye.com/blog/2173150

    CharSequence接口简述[java](csdn)————程序.pdf

    CharSequence接口简述[java](csdn)————程序

    Android TextView显示Html类解析的网页和图片及自定义标签用法示例

    本文实例讲述了Android TextView显示Html类解析的网页和图片及自定义标签。分享给大家供大家参考,具体如下: Android系统显示HTML网页的最佳控件为WebView,有时候为了满足特定需求,需要在TextView中显示HTML网页...

    【Android Studio代码】获取输入文本值

    用Android Studio 2.3.3做的获取输入文本值例子,主要用到的代码有:mEditText = (EditText)findViewById(R.id.EditText_Input);CharSequence charSequence = mEditText.getText();。

    android 省市二级联动数据

    ArrayAdapter<CharSequence> aAdapter = ArrayAdapter.createFromResource(this, R.array.province, android.R.layout.simple_spinner_item); aAdapter.setDropDownViewResource(android.R.layout.simple_spinner_...

    Java进行二元操作类型转换

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

    Android代码-android-ClipboardManagerCompat

    Related post: 再谈 Android API 兼容性处理 ABOUT ME / 关注我: Github | twitter | 微博 Interface public interface ClipboardManagerCompat { void addPrimaryClipChangedListener...

    Google Android SDK开发范例大全 源码

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

    【Android Studio代码】获取单选框

    用Android Studio 2.3.3做的单选框例子,主要用到的代码有:mRadioButton_01 = (RadioButton)findViewById(R.id.RadioButton_01);、boolean b01 = mRadioButton_01.isChecked();、CharSequence charSequence01 = ...

    android 的类似于QQ分组的二级列表

    * @see android.app.ExpandableListActivity#onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo) */ @Override public void onCreateContextMenu...

    Android代码-ExToast

    我们在Android应用开发中经常会需要在界面上弹出一个对界面操作无影响小提示框来提示用户一些信息,一般都会使用Android原生的Toast类 Toast.makeText(mContext, "消息内容", Toast.LENGTH_SHORT).show(); 一开始...

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

    7.2 绘制几何图形——使用android.graphics类 7.3 手机屏幕保护程序——FadeIn/FadeOut特效与运行线程 7.4 用手指移动画面里的照片——onTouchEvent事件判断 7.5 加载存储卡的Gallery相簿——FileArrayList 7.6 取得...

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

    7.2 绘制几何图形——使用android.graphics类 7.3 手机屏幕保护程序——FadeIn/FadeOut特效与运行线程 7.4 用手指移动画面里的照片——onTouchEvent事件判断 7.5 加载存储卡的Gallery相簿——FileArrayList 7.6 取得...

    Android代码-TypeBuilder

    TypeBuilder 一个用于生成泛型的简易Builder Example for List Type type = TypeBuilder .newInstance(List.class) ... .addTypeParamExtends(CharSequence.class) .build(); Example for Map<Str

    Android代码-phrase

    Phrase - Android string formatting CharSequence formatted = Phrase.from("Hi {first_name}, you are {age} years old.") .put("first_name", firstName) .put("age", age) .format(); Send your phrase ...

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

    7.2 绘制几何图形——使用android.graphics类 7.3 手机屏幕保护程序——FadeIn/FadeOut特效与运行线程 7.4 用手指移动画面里的照片——onTouchEvent事件判断 7.5 加载存储卡的Gallery相簿——FileArrayList 7.6 取得...

    Android应用开发I实验指导书.doc

    《Android应用开发I》实验指导书 计算机科学及技术系 目 录 实验一 :第一个应用程序 3 实验二 :基本控件 1 实验三 :高级控件 4 实验四 :菜单和对话框 7 实验五 :数据存储 8 实验六 :后台处理及获取网络数据 9 ...

Global site tag (gtag.js) - Google Analytics