当前位置:首页 » 安卓系统 » android获取assets

android获取assets

发布时间: 2022-06-12 00:30:52

Ⅰ android读取assets下的文件需要权限吗

AndroidStudio中放置assets文件夹需要手动创建,我以存放一张图片为例说明。新建一个项目,切换到当前的Mole,在main文件夹下新建一个名为“assets”文件夹如下图:复制资源(这里以图片为例),粘贴到“assets”文件夹下,如下图:在AndroidStudio里以
输入流
的方式读取资源,部分代码如下://从assets中读取图片,其它资源读取方式类似AssetManager
am
=
res.getAssets();try
{
is
=
am.open("pic_assets.png");}
catch
(IOException
e)
{
e.printStackTrace();}Bitmap
bmp
=
BitmapFactory.decodeStream(is);

Ⅱ android 怎么读取assets文件

  1. getResources().getAssets().open(fileName)

  2. 上面红色的都是读取的函数

Ⅲ android 怎么读assets取资

可以通过这个方法来找到是否有你要的那个文件: String[] list = null; list = getResources().getAssets().list("abc"); 它返回的是在assets文件夹下abc文件夹中文件的文件名的列表。再去检查list中是否有你需要的文件。 读取abc文件夹中的文件的时候只需: InputStream in = getResources().getAssets().open("abc/yan.txt");//不需要加“assets” ......

Ⅳ Android读取assets目录下的视屏资源

在Android
应用中使用assets目录下存放的
资源文件
,assets目录下存放的资源代表应用无法直接访问的原生资源,应用程序通过AssetManager以二进制流的形式来读取资源。

Ⅳ Android获取资源文件的几种方法

1.打包时,将资源放在asset文件夹内,通过AssetsManager获取指定资源:

目标应用和jar中的assets文件夹会合并,所以可以通过获取该应用的此类文件夹来获取目标资源
2.使用library项目
此类方法不能混淆代码,也就是说发布时需要提供library源项目.在引用此lib的目标项目中会看到一个包含已经编译成class.dex的jar文件,这个文件反编译以后仍然是只有代码部分。
3.使用双重library项目
提供一种双层library项目的方法,可以混淆代码,但是xml与图片资源仍然是暴露的,且发布时需要提供二级引用项目,操作上复杂度较高,不如直接提供jar包和资源
4.直接提供jar包和资源(分开)
依然是反射R文件,资源会被暴露给开发者。

Ⅵ android studio怎么读取assets

android studio读取assets资源,其实适合eclipse一样的,只需要执行以下代码:
private String[] names={"songhuiqiao.jpg","zhangzetian.jpg","songqian.jpg","hangxiaozhu.jpg","jingtian.jpg"
,"liuyifei.jpg","kangyikun.jpg","dengziqi.jpg"};

声明完之后,就可以读取了,是用下面的代码完成的
//获取Assets目录下的文件
is=context.getClass().getClassLoader().getResourceAsStream("assets/"+names[i]);

下面是我的这边的截图:

Ⅶ Android如何获取asset目录下所有文件的路径

package com.hangcheng.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.content.res.AssetManager;

public class GetfilesFromAssets {
private Activity activity;
private String[] files;

public GetfilesFromAssets(Context context) {
this.activity = (Activity) context;

}

// public void deepFile(Context ctxDealFile, String path) {
// try {
// String str[] = ctxDealFile.getAssets().list(path);
// if (str.length > 0) {// 如果是目录
// File file = new File("/data/" + path);
// file.mkdirs();
// for (String string : str) {
// path = path + "/" + string;
// System.out.println("zhoulc:\t" + path);
// // textView.setText(textView.getText()+"\t"+path+"\t");
// deepFile(ctxDealFile, path);
// path = path.substring(0, path.lastIndexOf('/'));
// }
// } else {// 如果是文件
// InputStream is = ctxDealFile.getAssets().open(path);
// FileOutputStream fos = new FileOutputStream(new File("/data/"
// + path));
// byte[] buffer = new byte[1024];
// int count = 0;
// while (true) {
// count++;
// int len = is.read(buffer);
// if (len == -1) {
// break;
// }
// fos.write(buffer, 0, len);
// }
// is.close();
// fos.close();
// }
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }

public String[] getfileFromAssets(String path) {
AssetManager assetManager = activity.getAssets();
// String[] files;
try {
files = assetManager.list(path);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return files;

}

public List listHtmlOfAssets() {
List list = new ArrayList();
files = getfileFromAssets("html");
for (int i = 0; i < files.length; i++) {
HashMap map = new HashMap();
map.put("htmlname", files[i]);
list.add(map);
}
return list;
}
}

Ⅷ android数据存储怎么去读assets

  1. 以流的操作读取Assets文件,获取Assets文件夹下的文件内容,teachcourse得到输入流:

  2. InputStream is=getResources().getAssets().open("msgbean.xml")

  3. 例如:读取一个msgbean.xml文件,然后解析里面的xml数据

  4. /**
    *读取assets指定的xml文件,返回List
    *@paramfileName文件名称
    *@returnList
    */
    publicListgetFromAssetsPath(StringfileName){
    InputStreamis=null;
    AssetManagermanager=getAssets();
    try{
    is=manager.open("newsbean.xml");
    Listlist=NewsService.getNewsBean(is);
    Messagemsg=newMessage();
    msg.obj=list;
    msg.what=0x110;
    handler.sendMessage(msg);
    returnlist;
    }catch(Exceptione){
    e.printStackTrace();
    }finally{
    try{
    if(is!=null)
    is.close();
    }catch(IOExceptione){
    e.printStackTrace();
    }
    }

    returnnull;
    }

Ⅸ 如何得到android项目assets目录中的内容

assets文件夹是android程序中存放相关外部文件的一个目录,Android官方提供了相应的方法去访问该文件夹中的内容,故此我们并不需要进行相关的路径判断等代码操作,直接调用相关方法打开文件并得到一个字节输入流(InputStream);
然后通过相应的字符编码方式读取字节解码为字符输入流(InputStreamReader);再通过BufferReader对字符输入流读取文本并将字符存入缓冲区以便能提供字符、数组和线段的高效读取;最后我们就能逐行对文件内容进行读取了;
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

try {
InputStream inputStream = getResources().getAssets().open("info.txt");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String info = "";
while ((info = bufferedReader.readLine()) != null) {
Log.i("fff", info);
Toast.makeText(MainActivity.this, info, 1000).show();
}
} catch (IOException e) {
e.printStackTrace();
}

}

}

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:333
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:374
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:610
java用什么软件写 发布:2025-05-18 03:56:19 浏览:31
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:940
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:738
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:802
网卡访问 发布:2025-05-18 03:35:04 浏览:510
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:371