1、新建assets 文件夹(在main目录下)
2、创建test.json 格式的文件
3、获取文件流
public class FileUtils {
public static String getJson(Context context, String fileName){
StringBuilder stringBuilder = new StringBuilder();
AssetManager assetManager = context.getAssets();
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(
assetManager.open(fileName),"utf-8"));
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return stringBuilder.toString();
}
}
4、网络请求 OKHttp3
public void sendDataCompress() {
String path = Config.getDomain();
String fileName = "test.json";
String foodJson = FileUtils.getJson(getContext(), fileName);
OkHttpClient.Builder builder = new OkHttpClient().newBuilder();
builder.connectTimeout(60, TimeUnit.SECONDS);
RequestBody body = RequestBody.create(JSON, GzipRequestInterceptor.compress(foodJson));
Request okRequest = new Request.
Builder().
url(path).
post(body).
addHeader("Content-Encoding", "gzip").
build();
final Call call = builder.build().newCall(okRequest);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
deliverMessage(e.getMessage());
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String res = response.body().string();
deliverMessage(res);
}
});
}