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

装修效果图网站推荐手机网站 程序

装修效果图网站推荐,手机网站 程序,wordpress 本地环境,文化品牌建设前言#xff0c;Android的网络通信的方式有两种#xff1a;使用Socket或者HTTP#xff0c;今天这一篇我们详细讲解使用HTTP实现的网络通信#xff0c;HTTP又包括两种方式编程方式#xff1a; #xff08;1#xff09;HttpUrlConnection#xff1b; #xff08;2#… 前言Android的网络通信的方式有两种使用Socket或者HTTP今天这一篇我们详细讲解使用HTTP实现的网络通信HTTP又包括两种方式编程方式 1HttpUrlConnection 2HttpClient    好了我们直接进行讲解当然之前也会有一部分有关Android网络通信的其他知识我们也应该了解。   一.获取网络状态的方法 1MainActivity.java中的关键代码 1 2 3 4 5 6 7 8 //网络管理类可以判断是否能上网以及网络类型             ConnectivityManager cm(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);             NetworkInfo infocm.getActiveNetworkInfo();             if(info!null){                 Toast.makeText(MainActivity.this, 连网正常info.getTypeName(), Toast.LENGTH_SHORT).show();             }else{                 Toast.makeText(MainActivity.this, 未连网, Toast.LENGTH_SHORT).show();             } 2注意一定要在主配置文件中增加这个权限    它是application的兄弟标签 1uses-permission android:nameandroid.permission.ACCESS_NETWORK_STATE/ 3OK我们看一下我们的设备的上网状态和类型吧   二.使用URL访问网页源码 1MainActivity.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 package com.example.l0903_urldata; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import android.app.Activity; import android.os.Bundle; /**  * 访问网页源码  * author asus  *  */ public class MainActivity extends Activity {     Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         try {             //访问百度的html文件的源码             InputStream isnew URL(http://www.baidu.com).openStream();             //读取数据的包装流             BufferedReader brnew BufferedReader(new InputStreamReader(is));             //str用于读取一行数据             String strnull;             //StringBuffer用于存储所欲数据             StringBuffer sbnew StringBuffer();             while((strbr.readLine())!null){                 sb.append(str);             }             System.out.println(sb.toString());         } catch (MalformedURLException e) {             e.printStackTrace();         } catch (IOException e) {             e.printStackTrace();         }     } } 2注意有关网络的操作都需要在主配置文件里添加下面这个权限 1uses-permission android:nameandroid.permission.INTERNET/   三.WebView 控件的简单使用     1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 package com.example.l0903_webview; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; /**  * 就是一个浏览器控件  * 其实没什么用  * author asus  *  */ public class MainActivity extends Activity {     private WebView wv;     Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         wv(WebView) findViewById(R.id.webView1);         //WebView控件的方法loadUrl用于加载指定的网络地址         wv.loadUrl(http://www.baidu.com);     } }    运行效果   四.使用HttpUrlConnection的编写方式实现Android的网络通信 1.首先自己先搭建一个服务器     2.下面是客户端的事了 (1)通过get方式    MainActivity.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 package com.example.l0903_httpurlcnectionget; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.TextView; /**  * 通过Get方法获取服务器的数据  * 直接在地址中用?键值value的方式来使用  * 所以传递的参数直接显示出来不安全  * author asus  *  */ public class MainActivity extends Activity {     private HttpURLConnection conn;     private URL url;     private InputStream is;     private TextView tv;     private EditText et;     private String name;     Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         tv(TextView) findViewById(R.id.textView1);         et(EditText) findViewById(R.id.editText1);         findViewById(R.id.button1).setOnClickListener(new OnClickListener() {                                                                                                                                                            Override             public void onClick(View v) {                 nameet.getText().toString();                 //定义访问的服务器地址10.0.2.2是Android的访问的本地服务器地址                 String urlDatehttp://10.0.2.2:8080/My_Service/webdate.jsp?namename;                 try {                     //封装访问服务器的地址                     urlnew URL(urlDate);                     try {                         //打开对服务器的连接                         conn(HttpURLConnection) url.openConnection();                         //连接服务器                         conn.connect();                         /**读入服务器数据的过程**/                         //得到输入流                         isconn.getInputStream();                         //创建包装流                         BufferedReader brnew BufferedReader(new InputStreamReader(is));                         //定义String类型用于储存单行数据                         String linenull;                         //创建StringBuffer对象用于存储所有数据                         StringBuffer sbnew StringBuffer();                         while((linebr.readLine())!null){                             sb.append(line);                         }                         //用TextView显示接收的服务器数据                         tv.setText(sb.toString());                         System.out.println(sb.toString());                     } catch (IOException e) {                         e.printStackTrace();                     }                 } catch (MalformedURLException e) {                     e.printStackTrace();                 }             }         });     } }    权限同上面第二个所有与网络有关的操作都需要添加下面的就不再赘述了    运行效果   2通过post方式安全 MainActivity.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 package com.example.l0903_httpurlconectionpost; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.TextView; /**  * 通过Post方法传递参数  * 安全  * author asus  *  */ public class MainActivity extends Activity {     private HttpURLConnection conn;     private URL url;     private InputStream is;     private OutputStream os;     private EditText et;     private TextView tv;     Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         et(EditText) findViewById(R.id.editText1);         tv(TextView) findViewById(R.id.tv);         findViewById(R.id.button1).setOnClickListener(new OnClickListener() {                                                                                                 Override             public void onClick(View v) {                 // TODO Auto-generated method stub                 String urlDatehttp://10.0.2.2:8080/My_Service/webdate.jsp;                 try {                     urlnew URL(urlDate);                     try {                         //打开服务器                         conn(HttpURLConnection) url.openConnection();                         //设置输入输出流                         conn.setDoOutput(true);                         conn.setDoInput(true);                         //设置请求的方法为Post                         conn.setRequestMethod(POST);                         //Post方式不能缓存数据则需要手动设置使用缓存的值为false                         conn.setUseCaches(false);                         //连接数据库                         conn.connect();                         /**写入参数**/                         osconn.getOutputStream();                         //封装写给服务器的数据这里是要传递的参数                         DataOutputStream dosnew DataOutputStream(os);                         //写方法name是key值不能变编码方式使用UTF-8可以用中文                         dos.writeBytes(nameURLEncoder.encode(et.getText().toString(), UTF-8));                         //关闭外包装流                         dos.close();                         /**读服务器数据**/                         isconn.getInputStream();                         BufferedReader brnew BufferedReader(new InputStreamReader(is));                         String linenull;                         StringBuffer sbnew StringBuffer();                         while((linebr.readLine())!null){                             sb.append(line);                         }                         tv.setText(sb.toString());                         System.out.println(sb.toString());                     } catch (IOException e) {                         e.printStackTrace();                     }                 } catch (MalformedURLException e) {                     e.printStackTrace();                 }             }         });                                                                                 } }     五.使用HttpClient的编写方式实现Android的网络通信 1.服务器同上 2.使用get的方式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 package com.example.l0903_http_get; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity {     private HttpGet get;     private HttpClient cliet;     private HttpResponse response;     private HttpEntity entity;     private InputStream is;     Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         getnew HttpGet(http://10.0.2.2:8080/My_Service/webdate.jsp?nameooooooo);         clietnew DefaultHttpClient();         try {             responsecliet.execute(get);             entityresponse.getEntity();             isentity.getContent();             BufferedReader brnew BufferedReader(new InputStreamReader(is));             String linenull;             StringBuffer sbnew StringBuffer();             while((linebr.readLine())!null){                 sb.append(line);             }             System.out.println(sb.toString());         } catch (ClientProtocolException e) {             e.printStackTrace();         } catch (IOException e) {             e.printStackTrace();         }                                                      } }   3.使用post的方式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 package com.example.l0903_http_post; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity {     //创建请求对象     private HttpPost post;     //创建客户端对象     private HttpClient cliet;     //创建发送请求的对象     private HttpResponse response;     //     private UrlEncodedFormEntity urlEntity;     //创建接收返回数据的对象     private HttpEntity entity;     //创建流对象     private InputStream is;     Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         //包装请求的地址         postnew HttpPost(http://10.0.2.2:8080/My_Service/webdate.jsp);         //创建默认的客户端对象         clietnew DefaultHttpClient();         //用list封装要向服务器端发送的参数         ListBasicNameValuePair pairsnew ArrayListBasicNameValuePair();         pairs.add(new BasicNameValuePair(name, llllllllll));         try {             //用UrlEncodedFormEntity来封装List对象             urlEntitynew UrlEncodedFormEntity(pairs);             //设置使用的Entity             post.setEntity(urlEntity);             try {                 //客户端开始向指定的网址发送请求                 responsecliet.execute(post);                 //获得请求的Entity                 entityresponse.getEntity();                 isentity.getContent();                 //下面是读取数据的过程                 BufferedReader brnew BufferedReader(new InputStreamReader(is));                 String linenull;                 StringBuffer sbnew StringBuffer();                 while((linebr.readLine())!null){                     sb.append(line);                 }                 System.out.println(sb.toString());             } catch (ClientProtocolException e) {                 e.printStackTrace();             } catch (IOException e) {                 e.printStackTrace();             }         } catch (UnsupportedEncodingException e) {             e.printStackTrace();         }                                                                                                 } }   4.实现HttpClient通信与AsyncTask异步机制的结合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 package com.example.l0903_http_asynctask_get; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import android.app.Activity; import android.app.ProgressDialog; import android.os.AsyncTask; import android.os.Bundle; import android.widget.TextView; /**  *  * author asus  *  */ public class MainActivity extends Activity {     private TextView tv;// 创建请求对象     private HttpGet httpGet;     // 创建客户端对象     private HttpClient httpClient;     // 发送请求的对象     private HttpResponse httpResponse;     // 接收返回数据     private HttpEntity httpEntity;     // 创建流     private InputStream in;     private ProgressDialog pd;     Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         tv (TextView) findViewById(R.id.tv);         AsyncTaskString, Void, String asyncTask  new AsyncTaskString, Void, String() {             Override             protected String doInString...  params) {                 String urlstr params[0];                 httpGet  new HttpGet(urlstr);                 httpClient  new DefaultHttpClient();                 try {                     // 向服务器端发送请求                     httpResponse httpClient.execute(httpGet);                     httpEntity httpResponse.getEntity();                     in httpEntity.getContent();                     BufferedReader br  new BufferedReader(                             new InputStreamReader(in));                     String line  null;                     StringBuffer sb  new StringBuffer();                     while ((line br.readLine()) ! null) {                         sb.append(line);                     }                     System.out.println(sb.toString());                     return sb.toString();                 } catch (ClientProtocolException e) {                     e.printStackTrace();                 } catch (IOException e) {                     e.printStackTrace();                 }                 return null;             }             Override             protected void onPostExecute(String result) {                 if (result ! null) {                     tv.setText(result);                     pd.dismiss();// 消除dialog                 }                 super.onPostExecute(result);             }         };         pd ProgressDialog.show(this, 请稍后。。。, 正在请求数据);         asyncTask.execute(http://10.0.2.2:8080/My_Service/webdate.jsp?namehahaagehh);     } } 运行效果   转载于:https://www.cnblogs.com/AceIsSunshineRain/p/5095137.html
http://wiki.neutronadmin.com/news/363801/

相关文章:

  • 海珠免费网站建设手把手教 个人网站开发
  • 随州制作网站做淘宝联盟网站
  • 后盾网原创实战网站建设教程1-15广州网站建设与网页设计
  • 网站控制板面个人手机网站开发
  • 怎么阐述自己做的网站医院网站建设方案策划书
  • 网站建设是由什么组成的泰安市齐鲁人才网
  • html网站标题怎么做的最近的重要新闻
  • 工程建设信息网站资质公告网站申请备案要多久
  • 门户网站的首页模板店铺设计图片
  • 怎样创建网站品牌设计需要多少钱
  • 网站收录手机网页编辑器中文版
  • 网站必须做诚信认证吗网站建设要固定ip网络吗
  • 网站加强阵地建设与管理弄个app要花多少钱
  • 网站模版设计小程序开发公司网
  • 怎么把自己做的网站上传到网上黑龙江省建设协会网站
  • 盐城市住房和城乡建设局门户网站包装设计是什么
  • 网站建设教程书籍免费下载网站源码分享
  • 做的图怎么上传到网站阜宁哪家专业做网站
  • 衡水购物网站制作wordpress 媒体路径
  • 课程培训网站模板下载找哪个公司做网站推广最好
  • 网站做交互设计如何提高网站访问速度的文章
  • 怎样将视频放在网站里做公司做网站需要准备什么
  • 招工做的网站宁波网站建设服务公司电话
  • wordpress 表格 链接seo新手教程
  • 网站建设 需要ae吗网站后台用户管理系统
  • 有哪些做数据分析的网站教做甜品的网站
  • 做个网站出来要多少钱ui交互设计做什么
  • 怎么做谷歌这样的网站台州制作网站软件
  • 做家居的网站win xp 个人网站免费建设
  • 建设投资公司网站昆明行业网站建设