效果图:
项目结构:
导入OkHttp依赖库:implementation 'com.squareup.okhttp3:okhttp:3.4.1’
OkHttp.java
public class OkHttp {
private static final MediaType JSON = MediaType.parse("application/json;charset=utf-8");
//服务器地址
private static final String URL = "http://192.168.1.789:8088/transportservice/action/";
public static JSONObject send(String action,JSONObject parmeter){
JSONObject jsonObject1 = null;
Response response = null;
OkHttpClient client = new OkHttpClient();
RequestBody requestBody = RequestBody.create(JSON, parmeter.toString());
Request request = new Request.Builder()
.url(URL + action)
.post(requestBody)
.build();
try {
response = client.newCall(request).execute();
if (response.isSuccessful()) {
String str = response.body().string(); //将请求头转换成JSON字符串
Log.e("Tag", "str:" + str);
jsonObject1 = new JSONObject(str); //转换回JSON数据并返回
} else {
Log.e("Tag", "失败");
}
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return jsonObject1;
}
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity"; //Log-Name
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
queryOkHttp();
}
//请求服务器数据
private void queryOkHttp() {
new Thread(new Runnable() {
@Override
public void run() {
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("UserName", "user1"); //提交数据给服务器-数据1
jsonObject.put("CarId",1); //提交数据给服务器-数据2
//参数一:服务器地址拼接
//参数二:提交数据
final JSONObject result = OkHttp.send("GetCarAccountBalance.do", jsonObject);
Log.i(TAG, "run: " + result); //拿到服务器返回的JSON数据后,打印结果
} catch (JSONException e) {
e.printStackTrace();
}
}
}).start();
}
}