当前位置: 首页 > news >正文

印刷 网站源码中国建行个人登录入口

印刷 网站源码,中国建行个人登录入口,阿里建站服务,做甜品的网站网络操作 Android平台下的原生网络操作可以分为以下几步: 创建URL对象;通过URL对象获取HttpURLConnection对象;通过HttpURLConnection对象设置请求头键值对、网络连接超时时间等;通过HttpURLConnection对象的connect()方法建立网…

网络操作

Android平台下的原生网络操作可以分为以下几步:

  1. 创建URL对象;
  2. 通过URL对象获取HttpURLConnection对象;
  3. 通过HttpURLConnection对象设置请求头键值对、网络连接超时时间等;
  4. 通过HttpURLConnection对象的connect()方法建立网络连接;
  5. 通过响应码判断请求是否成功,如果成功的话获取输入流,对返回的结果进行处理并显示;
    这里要注意的是,网络请求操作不能直接放在ui线程中,需要另外开启一个线程去处理网络请求,因为网络请求操作是一个耗时的操作。

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"android:orientation="vertical"><Buttonandroid:id="@+id/btn_sendget"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="点击发送get请求"/><Buttonandroid:id="@+id/btn_sendpost"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="点击发送post请求"/><TextViewandroid:id="@+id/tv"android:layout_width="match_parent"android:layout_height="wrap_content"android:scrollbars="vertical"android:fadeScrollbars="false"/></LinearLayout>

GET请求

这里说一下用到的方法的作用:
setConnectTimeout:设置请求超时时间;
setRequestMethod:设置请求方法;
setRequestProperty:设置请求属性;
connect():建立网络连接;
getResponseCode():获取响应码;

 try {new Thread(new Runnable() {@Overridepublic void run() {try {URL url = new URL("http://www.imooc.com/api/teacher?type=2&page=1");HttpURLConnection connection = (HttpURLConnection)url.openConnection();connection.setConnectTimeout(30*1000);connection.setRequestMethod("GET");connection.setRequestProperty("Content-Type","application/json");connection.setRequestProperty("Charset","UTF-8");connection.setRequestProperty("Accept-Charset","UTF-8");connection.connect();int responseCode = connection.getResponseCode();//如果请求成功if (responseCode == HttpURLConnection.HTTP_OK) {//获取输入流InputStream inputStream = connection.getInputStream();byte[] bytes = new byte[1024];StringBuffer result = new StringBuffer();int len = 0;while ((len = inputStream.read(bytes)) != -1) {result.append(new String(bytes,0,len));}//不能直接在其它线程更新ui线程,可以使用此方法或者使用handlerrunOnUiThread(new Runnable() {@Overridepublic void run() {tv.setText(result);}});Log.d(TAG, "onClick: " + result);}}catch (Exception e) {e.printStackTrace();}}}).start();} catch (Exception e) {e.printStackTrace();}

POST请求

 new Thread(new Runnable() {@Overridepublic void run() {try {URL url = new URL("http://www.imooc.com/api/teacher?type=2&page=1");HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setConnectTimeout(30 * 1000);connection.setRequestProperty("Content-Type","application/json");connection.setRequestProperty("Charset","UTF-8");connection.setRequestProperty("Accept-Charset","UTF-8");connection.connect();int responseCode = connection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {InputStream inputStream = connection.getInputStream();int  len = 0;byte[] bytes = new byte[1024];StringBuffer result = new StringBuffer();while ((len = inputStream.read(bytes)) != -1) {result.append(new String(bytes,0,len));}Log.d(TAG, "responseCode: " + responseCode);Log.d(TAG, "result: " + result);runOnUiThread(new Runnable() {@Overridepublic void run() {tv.setText(result);}});} else {Log.d(TAG, "responseCode: " + responseCode);}} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}).start();

解析返回的json数据

 public List<Lesson> JsonToArray(String str) {List<Lesson> lessonList = new ArrayList<>();try {JSONObject jsonObject = new JSONObject(str);JSONArray jsonArray = jsonObject.getJSONArray("data");for (int i = 0; i < jsonArray.length(); i++) {JSONObject lesson = (JSONObject) jsonArray.get(i);int id = lesson.getInt("id");int learner = lesson.getInt("learner");String name = lesson.getString("name");String picSmall = lesson.getString("picSmall");String picBig = lesson.getString("picBig");String description = lesson.getString("description");Lesson lesson1 = new Lesson();lesson1.setId(id);lesson1.setDescription(description);lesson1.setLearner(learner);lesson1.setPicBig(picBig);lesson1.setPicSmall(picSmall);lesson1.setName(name);lessonList.add(lesson1);}} catch (JSONException e) {e.printStackTrace();}return lessonList;}

注意事项

Android9.0以后,使用http访问网络需要添加配置文件;首先在res目录下新建一个xml资源目录,然后创建配置文件,配置文件的名称必须是neteork_security_config.xml;
内容:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config><!--允许http请求的加载--><base-config cleartextTrafficPermitted = "true"/>
</network-security-config>
http://www.yayakq.cn/news/176311/

相关文章:

  • 长春做网站费用网站百度不收录了
  • 唐山建设公司网站wordpress 爱情主题
  • 青岛网站推广关键词阿里云虚拟主机免费版
  • 信誉好的企业网站开发制作广告网站的步骤
  • 贵阳网站设计报价素材下载解析接口网站开发
  • 企业网站案例公司重庆是哪个省份
  • 网站制作软件教程申请专利的网站
  • 做sorry动图的网站网站设计的目的和功能
  • 潍坊小企业网站建设岗巴网站建设
  • 创新的网站建站网站制作软件手机
  • 网站上传连接失败的原因快速仿站网站建设
  • seo免费优化网站公司网站备案必须是企业信息么
  • 哈密做网站哪种网站开发简单
  • 网站设计规划报告直播网站模板
  • 手机网站成功案例不关闭网站 备案
  • 手机网站建立免费平台企业邮箱地址怎么填
  • 做新标准大学英语网站关于网站开发的期刊
  • 潍坊网站开发公司百度视频推广
  • 餐饮网站 设计潜江资讯网电脑版
  • 南昌企业自助建站做头像的网站自己的名字
  • 企业网站建设哪家WordPress用七牛缩略图
  • 本地dedecms网站龙岗坪地网站建设公司
  • 网站开发多语言手机网站 优化
  • 优化推广网站淄博vs中的网站导航怎么做
  • 商城网站开发费用国外营销型网站
  • 网站建设 经营范围网站建设应用
  • 怎么做网站的营销西安的网页设计公司
  • 网站建设试卷学校网站建设具体分工
  • 如何制作淘宝客网站南山住房和建设局网站
  • 做网站怎样办营业执照广东狮山网站建设