OkHttp框架的简单使用
来源:互联网 发布:陈奕迅 阿猫阿狗 知乎 编辑:程序博客网 时间:2024/05/08 16:19
布局部分
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.lt.okhttppost.MainActivity"> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="StringClick" android:text="点我上传String类型"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="KeyValueClick" android:text="点我上传KeyValue类型"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="FileClick" android:text="点我上传File类型"/></LinearLayout>
mainactivity 部分
package com.lt.okhttppost;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import java.io.File;import java.io.IOException;import okhttp3.FormBody;import okhttp3.MediaType;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.RequestBody;import okhttp3.Response;import okhttp3.ResponseBody;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //构建json字符串 private String buildJson(String player1, String player2) { return "{'winCondition':'HIGH_SCORE'," + "'name':'Bowling'," + "'round':4," + "'lastSaved':1367702411696," + "'dateStarted':1367702378785," + "'players':[" + "{'name':'" + player1 + "','history':[10,8,6,7,8],'color':-13388315,'total':39}," + "{'name':'" + player2 + "','history':[6,10,5,10,10],'color':-48060,'total':41}" + "]}"; } // public void StringClick(View view) { try {//1. OkHttpClient okHttpClient = new OkHttpClient(); //5.type & json MediaType type = MediaType.parse("application/json;charset=utf-8"); String json = buildJson("Colin", "CHEN"); //4.生成一个requestBody对象 RequestBody requestBody = RequestBody.create(type, json); //3. Request request = new Request.Builder().url("需要我们上传的地址【服务器的地址】").post(requestBody).build(); //2. Response response = okHttpClient.newCall(request).execute(); if (response.isSuccessful()){ ResponseBody responseBody = response.body(); String result = responseBody.string(); Log.e("TAG","上传成功"+result); } } catch (IOException e) { e.printStackTrace(); } } // public void KeyValueClick(View view) { new Thread(new Runnable() { @Override public void run() { OkHttpClient okHttpClient = new OkHttpClient(); try { RequestBody body = new FormBody.Builder().add("_name","CHEN").add("_id","123").build(); Request request = new Request.Builder().url("").post(body).build(); Response response = okHttpClient.newCall(request).execute(); if (response.isSuccessful()){ String string = response.body().string(); Log.e("Tag","上传成功"+string); } } catch (IOException e) { e.printStackTrace(); } } }).start(); } // public void FileClick(View view) { OkHttpClient okHttpClient = new OkHttpClient(); try { MediaType type = MediaType.parse("text/*"); String path = Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"文件夹名"+File.separator + "文件名"; File file = new File(path); RequestBody body = RequestBody.create(type,file); Request request = new Request.Builder().url("").post(body).build(); Response response = okHttpClient.newCall(request).execute(); if (response.isSuccessful()){ String string = response.body().string(); Log.e("TAG", "成功了---" + string); } } catch (IOException e) { e.printStackTrace(); } }}
Constants
package com.lt.okhttppost;/** * Created by Administrator */public class Constant { // 最新 public final static String URL_LATEST0 = "http://lib.wap.zol.com.cn/ipj/docList.php?class_id=0&page=%d&vs=and380&retina=1"; public final static String URL_LATEST = "http://m2.qiushibaike.com/article/list/latest?page=%d";}
0 0
- OkHttp框架的简单使用
- okhttp网络请求框架的简单使用
- okhttp框架的使用
- OKHttp框架的使用
- Okhttp框架的使用
- OkHttp的简单使用
- OKHttp的简单使用
- OKHttp的简单使用
- OkHttp的简单使用
- okhttp的简单使用
- OkHttp的简单使用
- OkHttp的简单使用
- OkHttp的简单使用
- OkHttp的简单使用
- OkHttp 的简单使用
- okhttp的简单使用
- Okhttp的简单使用
- OKhttp的简单使用
- python核心编程学习笔记-2016-09-24-01-数据库编程(四)
- linux /dev/zero文件
- malloc/free和new/delete的区别
- Codeforces Round #373 (Div. 2)
- 面向对象的三大特征和五大原则
- OkHttp框架的简单使用
- AndroidStudio2.2遇到的运行时提示***.class,***.jar删不掉的问题
- 费曼学习法
- 本地环境配置
- 关于集成环信3.0之后,应用无法在安卓5.0以下使用的解决方法
- 第八课 SVM
- 获取文件MD5,MD5加密
- SpringMVC+IbatIS注解整合工程。
- [BZOJ1969][Ahoi2005]LANE 航线规划(树链剖分+并查集)