安卓开发获取后端数据

首先在AndroidManifest.xml中设置下面几行

<!-- 允许用户访问网络,这一行要加在<manifest>的下一行 -->
<uses-permission android:name="android.permission.INTERNET" />
<!--这一行也是需要的,否则会报错,我的是这样,这行加在<application>标签内-->
android:usesCleartextTraffic="true"

然后是java部分

//post方式
//body传值
try {
    
    
	//要发送的json数据
	String json = "{}";
	//创建http客户端
    OkHttpClient client = new OkHttpClient();
    //创建http请求
    Request request = new Request.Builder()
    .url("http://localhost:9000/user/mine")
    .post(RequestBody.create(MediaType.parse("application/json"), json))
    .build();
    //执行发送的指令
    Response response = client.newCall(request).execute();
    //获取后端数据
    String res = response.body().string();
    //因为只有一条数据所以直接转换为对象
    JSONObject resData = new JSONObject(res);
    //在安卓studio控制台打印输出
    Log.d("code", "" + resData.getInt("code"));
    //如果又多条数据则需要做这一步处理,首先把获得的数据存进数组
    JSONArray jsonArray = new JSONArray(resData);
    //遍历数组,把每一条数组内容转换成json对象并打印输出
    for (int i =0;i<jsonArray.length();i++) {
    
    
    JSONObject jsonObject = jsonArray.getJSONObject(i);
    Log.d("code",""+jsonObject.getInt("id"));
    }
}

params传值相差不多,下面只列出不同的地方

//创建这两个东西,这是你url后面要传的参数
FormBody.Builder params = new FormBody.Builder();
params.add("", "");
//创建请求
Request request = new Request.Builder()
.url("http://112.124.7.23:9000/user/mine")
.post(params.build())
.build();

其他的代码是一样的,这就是post方式获取请求

猜你喜欢

转载自blog.csdn.net/qq_43511063/article/details/109408207