安卓通过OkHttp获取json数据
使用Http协议访问网络
OkHttp使用
可以很好的获取接口数据!json数据!
支持get和post提交方式!!!
1.引入模块
compile 'com.squareup.okhttp3:okhttp:3.4.1'
然后系统会自动引入模块
2.设置权限
<uses-permission android:name="android.permission.INTERNET" />
支持上网
3.布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/send_request" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Send Request" /> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/response_text" android:layout_width="match_parent" android:layout_height="wrap_content" /> </ScrollView> </LinearLayout>
4.实现功能
点击按钮,获取接口数据并展示
package demo.jq.com.networktest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.io.BufferedReader; import java.io.EOFException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import okhttp3.FormBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; /** * @author jim */ public class MainActivity extends AppCompatActivity implements View.OnClickListener{ TextView responseText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button sendRequest = (Button) findViewById(R.id.send_request); responseText = (TextView) findViewById(R.id.response_text); sendRequest.setOnClickListener(this); } @Override public void onClick(View v) { if (v.getId() == R.id.send_request) { sendRequestWithOkHttp(); } } private void sendRequestWithOkHttp() { // 开启线程来发起网络请求 new Thread(new Runnable() { @Override public void run() { HttpURLConnection connection = null; BufferedReader reader = null; try { OkHttpClient client = new OkHttpClient(); // post请求 RequestBody requestBody = new FormBody.Builder() .add("type","1") .build(); Request request = new Request.Builder() .url("http://devmg.yunlutong.com/api/test/testApi") .post(requestBody) .build(); Response response = client.newCall(request).execute(); String responseData = response.body().string(); showResponse(responseData); } catch (Exception e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } if (connection != null) { connection.disconnect(); } } } }).start(); } private void showResponse(final String response) { runOnUiThread(new Runnable() { @Override public void run() { responseText.setText(response); } }); } }
本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/7705446.html,如需转载请自行联系原作者
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
android drawable资源调用使用心得
1. 调用顺序 android 调用应用图片资源时,会优先选择当前手机屏幕dpi对应的的文件夹(如drawable-ldpi, drawable-mdpi, drawable-hdpi, drawable-xhdpi, drawable-xxhdpi等)。 如果对应dpi文件夹下没有需要的资源,则在最近的高dpi文件夹下进行查找,如当前dpi是hdpi,而drawable-hdpi下面没有找到需要的资源,则首先在drawable-xhdpi中查找,如果没有,则继续在drawable-xxhdpi文件夹下进行查找。 依此类推,如果在高dpi的文件夹下也找不到,则会到最近的低dpi文件夹下进行查找,先在drawable-mdpi下进行查找,如果没找到,则继续在drawable-ldpi下进行查找。 没有特别的需要,在支持最高dpi文件夹下存放一套资源,如果在所支持的所有API level运行正常,则只需要维护这一套资源即可,无须为应用的多个dpi生成多套资源文件。 2. 由低到高 drawable-ldpi drawable-mdpi drawable-hdpi drawable-xhdp...
- 下一篇
《Kotlin 程序设计》第一章 Kotlin简介
第一章 Kotlin简介 正式上架:《Kotlin极简教程》Official on shelves: Kotlin Programming minimalist tutorial 京东JD:https://item.jd.com/12181725.html 天猫Tmall:https://detail.tmall.com/item.htm?id=558540170670 科特林岛(Котлин)是一座俄罗斯的岛屿,位于圣彼得堡以西约30公里处,形状狭长,东西长度约14公里,南北宽度约2公里,面积有16平方公里,扼守俄国进入芬兰湾的水道。科特林岛上建有喀琅施塔得市,为圣彼得堡下辖的城市。[7] 此开篇第一章也。 我们这里讲的Kotlin,就是一门以这个Котлин岛命名的现代程序设计语言。其主要设计者是来自 Saint Petersburg, Russia JetBrains团队的布雷斯拉夫,( Andrey Breslav , 更多信息可以参考:https://www.linkedin.com/in/abreslav/ ),源码实现主要是JetBrains团队以及开源贡献者。 1. K...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16