android assets的使用

1.加载assets下的网页

//加载assets/win8_Demo/目录下的index.html网页

webView.loadUrl("file:///android_asset/win8_Demo/index.html");


2.访问资源文件

AssetManager.open(String filename),返回的是一个InputSteam类型的字节流,这里的filename必须是文件比如(aa.txt;img/semll.jpg),而不能是文件夹。


3.获取文件和目录名


//获取assets目录下的所有文件及目录名,content(当前的上下文如Activity,Service等ContextWrapper的子类的都可以)

String fileNames[] =context.getAssets().list(path);


4.复制到sd卡上

/**
  *  从assets目录中复制整个文件夹内容
  *  @param  context  Context 使用CopyFiles类的Activity
  *  @param  oldPath  String  原文件路径  如:/aa
  *  @param  newPath  String  复制后路径  如:xx:/bb/cc
  */
public void copyFilesFassets(Context context,String oldPath,String newPath) {                   
          try {
         String fileNames[] = context.getAssets().list(oldPath); //获取assets目录下的所有文件及目录名
         if (fileNames.length > 0 ) { //如果是目录
             File file = new File(newPath);
             file.mkdirs(); //如果文件夹不存在,则递归
             for (String fileName : fileNames) {
                copyFilesFassets(context,oldPath + "/" + fileName,newPath+ "/" +fileName);
             }
         } else { //如果是文件
             InputStream is = context.getAssets().open(oldPath);
             FileOutputStream fos = new FileOutputStream( new File(newPath));
             byte [] buffer = new byte [ 1024 ];
             int byteCount= 0 ;              
             while ((byteCount=is.read(buffer))!=- 1 ) { //循环从输入流读取 buffer字节       
                 fos.write(buffer, 0 , byteCount); //将读取的输入流写入到输出流
             }
             fos.flush(); //刷新缓冲区
             is.close();
             fos.close();
         }
     } catch (Exception e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
         //如果捕捉到错误则通知UI线程
                    MainActivity.handler.sendEmptyMessage(COPY_FALSE);
     }                          
}


5.使用图片 

InputStream is=getAssets().open( "wpics/0ZR424L-0.jpg" );
Bitmap bitmap=BitmapFactory.decodeStream(is);
imgShow.setImageBitmap(bitmap);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值