android OKHttp3的使用
2导入okhttp3架包(在build.gradel(app)) 1
7. 在loginActivity.java添加回调函数 6
<!-- 用于访问网络,网络定位需要上网 --> |
2导入okhttp3架包(在build.gradel(app))
//网络请求的架包 |
public class Net { |
package com.example.a11699.sdsyu.utils;
|
这里假设有登录账号 name=admin 密码 password=123 //拼接网址 String url=Net.S_LOGIN+”?s_xuehao=”+name+”&password=”+password; //打印输出看下 Log.i(“zjc”,url);// http://111.211.207.1107:800/hh/?s_xuehao=admin&password=123 OkHttpClicent okHttpClient=new OkHttpClient(); Request request=new Request.Builder().url(url).build(); Call call=okHttpClient.newCall(request); call.enqueue(new Callback(){ @Override 这里请求失败的原因有两个
添加android:usesCleartextTraffic="true" */ Log.i("zjc","网络请求失败"); Log.i(“zjc”,”请求成功”); //拿到返回来的json串 String responseData=response.body().string();//注意这里一定要用.string try{ JSONbject jsonObject=new JSONObject(responseData); Log.i(“zjc”,responseData); /* 学校端返回的数据是: JSONObject jsonObject1=jsonObject.getJSONObject(“Firstlogin”); try{ String stu_id=jsonObject1.getString(“stu_id”); String password=jsonObject.getString(“token”); //在loginActivity定义了loginCallback方法 loginActivity.loginCallback(sti_id,password); }catch(Exception e){ //在loginActivity定义了loginlback方法 loginActivity.loginBack(); Log.i(“zjc”,”没有这项值”); } */ }catch(JSONException e){ Log.i(“zjc”,”失败”); } }); |
package com.example.a11699.sdsyu.dao.imp;
|
//成功的回调函数 重点: 注意在线程中调用Toast时要加上 Looper.prepare() Looper.loop(); |