res/layout/main.xml的内容如下:
01 <?xmlversion="1.0"encoding="utf-8"?>
02 <LINEARLAYOUTandroid:layout_height="fill_parent"android:layout_width="fill_parent"android:orientation="vertical"xmlns:android="http://schemas.android.com/apk/res/android">
03
04 <TEXTVIEWandroid:layout_height="wrap_content"android:layout_width="fill_parent"android:text="网络连接测试"android:id="@+id/TextView01"/>
05
06 <BUTTONtype=submitandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:text="使用URLConnection访问GoogleWeatherAPI"android:id="@+id/Button01">
07 </BUTTON>
08
09 <BUTTONtype=submitandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:text="使用HttpClient访问GoogleWeatherAPI"android:id="@+id/Button02">
10 </BUTTON>
11
12 <SCROLLVIEWandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:id="@+id/ScrollView01">
13 <TEXTVIEWandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:id="@+id/TextView02">
14 </TEXTVIEW>
15 </SCROLLVIEW>
16 </LINEARLAYOUT>

3、MainActivity.java的内容如下:

001 package android.basic.lesson30;
002
003 import java.io.InputStreamReader;
004 import java.net.HttpURLConnection;
005 import java.net.URL;
006
007 import org.apache.http.client.ResponseHandler;
008 import org.apache.http.client.methods.HttpGet;
009 import org.apache.http.impl.client.BasicResponseHandler;
010 import org.apache.http.impl.client.DefaultHttpClient;
011
012 import android.app.Activity;
013 import android.os.Bundle;
014 import android.view.View;
015 import android.widget.Button;
016 import android.widget.TextView;
017 import android.widget.Toast;
018
019 public class MainActivity extendsActivity {
020
021 TextView tv;
022
023 String googleWeatherUrl1 ="http://www.google.com/ig/api?weather=zhengzhou";
024 String googleWeatherUrl2 ="http://www.google.com/ig/api?hl=zh-cn&weather=zhengzhou";
025
026 /** Called when the activity is first created. */
027 @Override
028 publicvoid onCreate(Bundle savedInstanceState) {
029 super.onCreate(savedInstanceState);
030 setContentView(R.layout.main);
031
032 // 定义UI组件
033 Button b1 = (Button) findViewById(R.id.Button01);
034 Button b2 = (Button) findViewById(R.id.Button02);
035 tv = (TextView) findViewById(R.id.TextView02);
036
037 // 设置按钮单击监听器
038 b1.setOnClickListener(newView.OnClickListener() {
039 @Override
040 publicvoid onClick(View v) {
041 // 使用URLConnection连接GoogleWeatherAPI
042 urlConn();
043 }
044 });
045
046 // 设置按钮单击监听器
047 b2.setOnClickListener(newView.OnClickListener() {
048 @Override
049 publicvoid onClick(View v) {
050 // 使用HttpCient连接GoogleWeatherAPI
051 httpClientConn();
052
053 }
054 });
055
056 }
057
058 // 使用URLConnection连接GoogleWeatherAPI
059 protectedvoid urlConn() {
060
061 try{
062 // URL
063 URL url =new URL(googleWeatherUrl1);
064 // HttpURLConnection
065 HttpURLConnection httpconn = (HttpURLConnection) url.openConnection();
066
067 if(httpconn.getResponseCode() == HttpURLConnection.HTTP_OK) {
068 Toast.makeText(getApplicationContext(),"连接Google Weather API成功!",
069 Toast.LENGTH_SHORT).show();
070 // InputStreamReader
071 InputStreamReader isr =new InputStreamReader(httpconn.getInputStream(),"utf-8");
072 inti;
073 String content ="";
074 // read
075 while((i = isr.read()) != -1) {
076 content = content + (char) i;
077 }
078 isr.close();
079 //设置TextView
080 tv.setText(content);
081 }
082 //disconnect
083 httpconn.disconnect();
084
085 }catch (Exception e) {
086 Toast.makeText(getApplicationContext(),"连接Google Weather API失败", Toast.LENGTH_SHORT)
087 .show();
088 e.printStackTrace();
089 }
090 }
091
092 // 使用HttpCient连接GoogleWeatherAPI
093 protectedvoid httpClientConn() {
094 //DefaultHttpClient
095 DefaultHttpClient httpclient =new DefaultHttpClient();
096 //HttpGet
097 HttpGet httpget =new HttpGet(googleWeatherUrl2);
098 //ResponseHandler
099 ResponseHandler<STRING> responseHandler =new BasicResponseHandler();
100
101 try{
102 String content = httpclient.execute(httpget, responseHandler);
103 Toast.makeText(getApplicationContext(),"连接Google Weather API成功!",
104 Toast.LENGTH_SHORT).show();
105 //设置TextView
106 tv.setText(content);
107 }catch (Exception e) {
108 Toast.makeText(getApplicationContext(),"连接Google Weather API失败", Toast.LENGTH_SHORT)
109 .show();
110 e.printStackTrace();
111 }
112 httpclient.getConnectionManager().shutdown();
113 }
114 }</STRING>

4、最后别忘了在AndroidManifest.xml中加入访问网络的权限,<uses-permission android:name="android.permission.INTERNET"></uses-permission>

深入了解

http://topmanopensource.iteye.com/blog/821964

更多相关文章

  1. Android软件更新
  2. Android(安卓)使用URL通过浏览器调用android app
  3. JNI在Android中的简单使用
  4. 使用ContentProvider时出现SecurityException: Permission Denia
  5. android WebView java与js相互调用
  6. 判断Android设备是否连接网络
  7. android 不使用布局文件,完全由代码控制布局实例
  8. Android(安卓)CheckBox控件使用OnClickListener和OnCheckedChang
  9. android 图片设置圆角

随机推荐

  1. [置顶] android 数据库版本升级
  2. Android上HDMI介绍(基于高通平台)
  3. Android机器调整屏幕方向
  4. Android(安卓)JNI 详解
  5. Android(安卓)3D系列之基本概念篇
  6. 分享几点Android(安卓)开发中的小技巧
  7. Android动态权限
  8. Android中读写文件
  9. Android的jCenter与Maven Central仓库
  10. android 根据屏幕大小自行选择图片