Android应用开发之获取网络数据
2011-12-28 11:46
639 查看
J2SE实现网络图片的获取
public static void main(String[] args) throws Exception {
String path = "http://res.img.ifeng.com/2011/1219/xes_bb10a1495fa8e7f76415023d177585d0.jpg";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5*1000);
InputStream inStream = conn.getInputStream();
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len=0;
while((len=inStream.read(buffer))!=-1){
outStream.write(buffer,0,len);
}
byte[] data = outStream.toByteArray();
File f = new File("pic.jpg");
FileOutputStream fos = new FileOutputStream(f);
fos.write(data);
fos.close();
}
Androd中获取网络图片
资源<string name="btn_text">显示网络图片</string> <string name="error">下载图片失败!!</string>
布局
<Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btn_text" android:id="@+id/showBtn" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" />
添加ImageService类
package cn.class3g.service; … public class ImageService { public static byte[] getImage(String path) throws Exception{ URL url = new URL(path); //get //post HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5*1000); InputStream inStream = conn.getInputStream(); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while( (len = inStream.read(buffer)) !=-1 ){ outStream.write(buffer, 0, len); } byte[] data = outStream.toByteArray();//图片的二进制数据 outStream.close(); inStream.close(); return data; } }
Activity
public void onClick(View v) { String path = "http://res.img.ifeng.com/2011/1221/xes_5a3a1d15ffb4b856a02237cdd79d4e41.jpg"; try { byte[] data = ImageService.getImage(path); Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); imgView.setImageBitmap(bitmap); } catch (Exception e) { // e.printStackTrace(); Log.e("TAG", e.toString()); Toast.makeText(this, R.string.error, 1).show(); } }
Androd中获取网页代码
布局
<Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btn_text" android:id="@+id/showBtn" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" />
代码:在前面的ImageService.getImage()方法基础上修改即可
HtmlService
public class HtmlService { /** * 获取给定路径的html代码 * @param path 网页路径 * @return * @throws Exception */ public static String getHtml(String path) throws Exception{ URL url = new URL(path); //get //post HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5*1000); InputStream inStream = conn.getInputStream(); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while( (len = inStream.read(buffer)) !=-1 ){ outStream.write(buffer, 0, len); } byte[] data = outStream.toByteArray();//网页的二进制数据 outStream.close(); inStream.close(); return new String(data, "gb2312"); } }
ShowHtmlActivity
public void onClick(View v) { String path = pathText.getText().toString(); try { String htmlcode = HtmlService.getHtml(path); resultView.setText(htmlcode); } catch (Exception e) { Log.e(TAG, e.toString()); Toast.makeText(ShowHtmlActivity.this, R.string.error, 1).show(); } }
相关文章推荐
- Android应用开发之获取网络数据
- android开发之获取网络数据
- Android开发17——获取网络资源之XML数据
- Android应用开发之获取web服务器xml数据
- 【Android应用开发】-(17)获取Google天气预报通过Xml和JSON解析数据
- 【Android前端】Bing每日图片列表应用制作记录——4.获取网络数据(下)
- Android应用开发之获取web服务器xml数据
- Android开发18——获取网络资源之json数据
- Android开发——获取应用数据/缓存大小并清理缓存
- 股票应用开发——网络数据的获取(一)
- Android开发——获取应用数据/缓存大小并清理缓存
- Android开发18——获取网络资源之json数据
- android开发之获取网络数据
- Android开发16――获取网络资源之基础应用
- Android网络开发之实时获取最新数据
- Android开发16——获取网络资源之基础应用 推荐
- android 开发利用 html5 JavascriptInterface 实现应用层与 native 互传参数并获取返回数据
- Android开发18——获取网络资源之json数据
- Android开发16——获取网络资源之基础应用
- Android网络开发之实时获取最新数据