Android中Okhttp进行get和post提交及数据请求的基本使用
来源:互联网 发布:算法流程图 编辑:程序博客网 时间:2024/06/04 18:01
编写不易,如有转载,请声明出处: 梦回河口:http://blog.csdn.net/zxc514257857/article/details/60501821
get方式异步请求数据
String url = Url.IPA+ "/" + Url.IPB;Request request = new Request.Builder() .url(url) .build();OkHttpClient client = new OkHttpClient();client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Request request, IOException e) { Log.i(TAG, "网络请求失败"); } @Override public void onResponse(Response response) throws IOException { if (response.isSuccessful()) { String jsonString = response.body().string(); Gson gson = new Gson(); mMarketList = gson.fromJson(jsonString, new TypeToken<List<MarketBean>>() { }.getType()); runOnUiThread(new Runnable() { @Override public void run() { mListView.setAdapter(mMarketListAdapter); } }); } }});-------------------------------------------------------//请求到数据后在ListVIew里面显示private MarketListAdapter mMarketListAdapter = new MarketListAdapter();class MarketListAdapter extends BaseAdapter { @Override public int getCount() { if (mMarketList != null) { return mMarketList.size(); } return 0; } @Override public Object getItem(int position) { if (mMarketList != null) { return mMarketList.get(position); } return null; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = View.inflate(SecondActivity.this, R.layout.id_item, null); holder = new ViewHolder(convertView); holder.mTextView = (TextView) convertView.findViewById(textView); } else { holder = (ViewHolder) convertView.getTag(); } if (mMarketList != null && holder != null) { String mName = mMarketList.get(position).name; String mId = mMarketList.get(position).id; holder.mTextView.setText(name + ":" + id); } return convertView; } class ViewHolder { TextView mTextView; }}
post方式同步提交表单数据(键值对数据)
String url = Url.IPA+ "/" + Url.IPB;RequestBody formBody = new FormEncodingBuilder() .add("id", mId) .add("name", mName) . .build();Request request = new Request.Builder() .url(url) .post(formBody) .build();try { Response response = client.newCall(request).execute(); if (response.isSuccessful()) { Log.i("success",response.body().string()); } else { throw new IOException("Unexpected code " + response); }} catch (IOException e) { e.printStackTrace();}
注意
- 进行网络访问前一定要先添加网络访问权限
- 在进行数据请求或数据提交时先看清接口文档中给的Url,在浏览器上看一下网址请求出来的Json数据是什么格式的,带callBack的要用字符串的形式截取掉callBack{}然后再进行请求
- 如果是请求数据,需要创建Bean类,可以通过GsonFormat插件进行快速创建,并可以通过导入Gson库进行快速解析数据
- 如果使用Okhttp这个网络请求工具采用jar包的形式的话,需要导入两个jar包,除了Okhttp.jar之外,还要导入OkIo.jar
———-因本人才疏学浅,如博客或Demo中有错误的地方请大家随意指出,与大家一起讨论,共同进步,谢谢!———-
1 0
- Android中Okhttp进行get和post提交及数据请求的基本使用
- Okhttp的post和get请求数据
- okhttp框架的最简单的基本使用 post和get请求以及用gson解析请求的数据
- OKhttp的get请求和post请求
- okhttp网络框架的使用get和post请求
- 表单提交数据get请求和post请求的区别
- 表单提交数据get请求和post请求的区别
- 表单提交数据get请求和post请求的区别
- 表单提交数据get请求和post请求的区别?
- Android网络请求库okHttp进行post、get请求
- 简述OkHttp的使用:get、post请求
- Okhttp和Retrofit的get,post请求
- Android 使用Post与Get方法进行表单提交数据
- 表单提交数据请求 get和post的 区别
- 使用okhttp进行图片下载,上传,get,post网络请求
- Android中使用HttpClient框架进行get/post提交
- OkHttp的基本使用(一)Get请求
- android 基于OkHttp GET 和 POST 的使用
- JAVA多线程的内存可见性
- Android Studio 项目目录简介
- Linux内核移植 part3:pinctrl和gpio驱动
- Framework7学习总结
- 罗马数字转换成阿拉伯数字以及递归的简单运用
- Android中Okhttp进行get和post提交及数据请求的基本使用
- redis与spring整合
- My First Blog
- Android混淆总结篇(一)
- 通过Samba让Windows访问Linux文件
- Python ConfigParser 注意事项
- linux开启防火墙端口和查看,开启相关端口号
- liblinear比libsvm快的原因
- UVM的各种port(六)