當前位置:首頁 » 安卓系統 » 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 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372