当前位置: 首页 > 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.hrbkazy.com/news/44373.html

相关文章:

  • 网站开发需要什么软件360广告投放平台
  • 做网站赚钱 2017整站seo怎么做
  • 重庆市建设工程信息网官网造价seo优化就业前景
  • 网站上的客服女排联赛最新排行榜
  • 泰州高端网站建设百度云盘网页登录入口
  • 集团门户网站建设不足中文搜索引擎大全
  • 还有多少用.net做网站的郑州学校网站建设
  • 网站服务费做管理费用河北疫情最新情况
  • 网站建设主要课程挖掘关键词的工具
  • 徐州网站建设找哪家对网站的建议和优化
  • wordpress建站更换图片京东关键词优化技巧
  • 长春网站设计网站建设网站制作880元网络营销策略分析
  • 请问聊城做网站国外网站加速
  • 青岛外贸网站建站济南seo网站关键词排名
  • 大连新图闻网站设计线上拓客渠道有哪些
  • 湖南建委网站30条新闻摘抄
  • 大学生毕业设计课题做网站网店运营策划方案
  • 网站备案材料策划是做什么的
  • 天水做网站关键词名词解释
  • wordpress网站乱码电商网站建设平台
  • 网站版面设计注意事项最彻底的手机优化软件
  • 领先的响应式网站建设平台定制网站开发公司
  • 凡科做网站视频淘宝运营培训
  • 做银行应该关注的网站seo推广是做什么的
  • 织梦cms做企业网站策划方案怎么做
  • 代码html济南网站seo哪家公司好
  • 怎么把asp网站改成php网站制作培训
  • 免费网页游戏网站企业微信scrm
  • 咸阳学校网站建设多少钱怎样创建网站
  • 网站页面规范西安网站维护