zoukankan      html  css  js  c++  java
  • [转载]CharSequence类型

    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;
    //声明一个字符串类型的str变量
    String str;
    //使用this.getText()方法,即指定上下文的方法
    cs = getText(R.string.styled_text);    
    //通过给定的id将tv与对应的组件联系起来
    tv = (TextView)findViewById(R.id.styled_text);
    //使用这句代码来设置tv的显示内容
    tv.setText(cs);        
    
    str = getString(R.string.styled_text);
    tv = (TextView)findViewById(R.id.plain_text);
    tv.setText(str);
    
    //这里使用了Context类型的变量context,指定为当前上下文
    Context context = this;
    //定义一个Resources类型的变量res,并给它赋值
    Resources res = context.getResources();
    //获得R类中指定变量的值
    cs = res.getText(R.string.styled_text);
    //同上
    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其中的一个。
    下面给出一个实例:

    //从指定的filename文件中读取内容,并将其放入到InputStream类型的is变量中
    InputStream is = getAssets().open(String filename);
    //获取流的长度
    int size = is.available(); 
    //定义流长度的字节数组
    byte[] buffer = new byte[size];
    //将流中的内容放到buffer数组中
    is.read(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

     

     

    Bitmap bgImg = getImageFromAssetFile( "background.png" );
    
    Bitmap bgImg = getImageFromAssetFile("background.png");

     

    private  Bitmap getImageFromAssetFile(String fileName){  
        Bitmap image = null ;  
        try {  
            AssetManager  am = context.getAssets();  
            InputStream is = am.open(fileName);  
            image = BitmapFactory.decodeStream(is);  
            is.close();  
        }catch (Exception e){  
              
        }  
        return  image;  
    } 
    1.  
  • 相关阅读:
    949. Largest Time for Given Digits
    450. Delete Node in a BST
    983. Minimum Cost For Tickets
    16. 3Sum Closest java solutions
    73. Set Matrix Zeroes java solutions
    347. Top K Frequent Elements java solutions
    215. Kth Largest Element in an Array java solutions
    75. Sort Colors java solutions
    38. Count and Say java solutions
    371. Sum of Two Integers java solutions
  • 原文地址:https://www.cnblogs.com/carbs/p/2569823.html
Copyright © 2011-2022 走看看