1、智能终端软件开发,浙江大学计算机学院/软件学院 2010.06.,6、网络连接,智能终端开发,2010.06.,浙江大学计算机学院,3,网络访问,使用网络,应该有相应使用允许。 文件AndroidManifest添加:,2010.06.,浙江大学计算机学院,4,以Get请求从Internet获取数据,建立HttpClient,选择post或get请求服务器而获得网页数据。,HttpClient client = new DefaultHttpClient();HttpGet get = new HttpGet(url);HttpResponse response = client.execut
2、e(get);HttpEntity entity = response.getEntity();/尝试读取entity的长度,返回-1表示长度未知long length = entity.getContentLength();InputStream is = entity.getContent();,2010.06.,浙江大学计算机学院,5,从Internet获取数据,利用HttpURLConnection对象,我们可以从网络中获取网页数据。,URL url = new URL(“http:/“); HttpURLConnection conn = (HttpURLConnection) ur
3、l.openConnection(); conn.setConnectTimeout(6* 1000);/设置连接超时 if (conn.getResponseCode() != 200) throw new RuntimeException(“请求url失败“); InputStream is = conn.getInputStream();/得到网络返回的输入流 String result = readData(is, “GBK“); conn.disconnect(); System.out.println(result);,2010.06.,浙江大学计算机学院,6,从Internet获
4、取数据,利用HttpURLConnection对象,我们可以从网络中获取文件数据。,URL url = new URL(“http:/ HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(6* 1000); if (conn.getResponseCode() != 200) throw new RuntimeException(“请求url失败“); InputStream is = conn.getInputStream(); readAsFile(is, “Im
5、gAndroid.jpg“);,2010.06.,浙江大学计算机学院,7,广播sendBroadcast(),Intent之间传递数据 广播Intent通过调用发送信息 Context.sendBroadcast() Context.sendOrderedBroadcast() Context.sendStickyBroadcast() 通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收。,2010.06.,浙江大学计算机学院,8,广播接收者BroadcastReceiver,第一步:继承BroadcastReceiver,并重写onReceive()方法。 第二步:订阅感兴趣的广播Intent: 方法一:使用代码 方法二:在AndroidManifest.xml文件中的节点里进行订阅。,