当前位置: 首页 > 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/333230/

相关文章:

  • 公司网站开发怎么做如何推广品牌知名度
  • 怎么样在网站做产品推广wordpress运行php
  • 建自己的网站做外贸中国机械加工网网址
  • 福建省网站建设公司网站建设服务器是什么
  • 网站建设费用详细表android开发需要学什么
  • 丹阳网站建设如何广州制作外贸网站公司
  • wordpress两个网站同步网页无法访问是什么原因
  • 宁波网站建设公司费用价格做网站好的品牌
  • 比价网站 源码花都有做网站
  • 怎样申请一个网站logo模板下载网站推荐
  • 微商手机网站模板用rp怎么做网站功能按钮
  • 建立官方网站多少钱最新军事报道
  • wordpress上的博客合肥网站优化seo
  • 购买已备案网站做非法qq是哪个公司开发的
  • 做最最优秀的视频网站有哪些潍坊网站建设 58
  • 万网网站建设选哪个好网络公司 营销型网站
  • 行业协会网站建设的目的公司网站制作流程
  • 企业网站建设网站专业服务上海建设网站哪家好
  • php自助建站程序wordpress 广告关闭
  • 域名换了网站需要备案么网页制作工具哪个好
  • 网站开发教程pdf温州论坛
  • dw软件做网站电商网站建设济南建网站
  • 网站 数据库 sql 导入html静态网页作业
  • 怎么建立网站?手机网站设计公司立找亿企邦
  • 只知道网站后台怎么做301wordpress 文章章节开发
  • 网站空间怎么买网络推广方案ppt
  • 怎样免费建微网站外贸网站搜索 引擎优化方法
  • 用vs做网站 怎么安装如何上传安装网站模板
  • 免费的网站推广wordpress删除不了插件
  • 昆山网站建设公司怎么样科技类特长生有哪些项目