场景
很多时候项目周期比较赶,而服务端和客户端差不多同步进行,客户端需要服务端提供的接口获取数据展示UI效果,很明显不能等服务端开发完后提供接口才进行联调测试ui,所以就有了模拟数据,而模拟数据我们可以将其写在res/raw/文件夹下面,通过读取到的文件(文件内容为模拟json),渲染UI。
代码
/**
* 从raw包下读取数据
* @param context
* @param rawName R.raw.jx
* @return
*/
public static String readFileFromRaw(Activity context,int rawName) {
try {
InputStreamReader inputReader = new InputStreamReader(context.getResources().openRawResource(rawName));
BufferedReader bufReader = new BufferedReader(inputReader);
String line = "";
String result = "";
while ((line = bufReader.readLine()) != null)
result += line;
return result;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
image.png
读取Asserts下面的数据。
/**
* @param activity
* @param fileName main.json
* @return
*/
private static String getFileStremFromAsserts(Activity activity,String fileName) {
try {
//从assets获取json文件
InputStreamReader isr = new InputStreamReader(activity.getClass().getClassLoader().getResourceAsStream("assets/" + fileName));
//字节流转字符流
BufferedReader bfr = new BufferedReader(isr);
String line;
StringBuilder stringBuilder = new StringBuilder();
while ((line = bfr.readLine()) != null) {
stringBuilder.append(line);
}//将JSON数据转化为字符串
return stringBuilder.toString();
} catch (Exception e) {
e.printStackTrace();
}
return "";
}