一、前言
assets是Android資源文件夾,該文件夾可以存放的位置不同,獲取assets內容的方式也就不同。文件夾創建在app/src/main/assets目錄下,在此assets文件夾內可以存放一些資源文件,例如".json"的json文件、".jpg"的圖片文件及".html"的webview動態加載。本文就單講assets文件夾在app/src/main/assets目錄下的".json"的json文件創建和獲取指定assets資源內的string文本。
二、源碼細說
1、在app/src/main/目錄下創建assets文件夾
2、創建goods.json資源文件
[
{
"name": "筷"
},
{
"name": "碗"
},
{
"name": "碟"
},
{
"name": "杯"
},
{
"name": "勺"
}
]
3、簡易封裝從assets文件夾中獲取string文本的工具類KitIOUtil.java文件
public class KitIOUtil {
public static String getStringFromAssets(Context context, String fileName) {
String str = "";
try {
InputStreamReader inputStreamReader = new InputStreamReader(context.getAssets().open(fileName), "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
StringBuilder stringBuilder = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
bufferedReader.close();
inputStreamReader.close();
str = stringBuilder.toString();
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
}
4、創建一個對應goods.json文件的bean的java文件
public class CleanGoods {
/**
* name : 筷
*/
public String name;
public boolean isCheck;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
5、調用已封裝好的工具類,從assets文件夾中獲取指定的string文本
private List<CleanGoods> datas;
datas = new ArrayList<>();
String jsonData = KitIOUtil.getStringFromAssets(this, "goods.json");
三、有疑問請留言