浏览 2789 次
锁定老帖子 主题:Http Get
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-20
Http Get
[功能] 从网络上获得资源 比如:图片 或 其他 本例以*.txt 为例
因为该功能比较单独 所以把它独立出来 放入类:HttpGetHelper
[代码] 1. 定义 HttpGetHelper 并传入 网络地址 及 用于存放结果ByteArrayBuffer的大小 Context context; URL uri; URLConnection uconnection; BufferedInputStream bis; ByteArrayBuffer baf; public HttpGetHelper(Context c,String address,int size) throws IOException{ context = c; uri = new URL(address); uconnection = uri.openConnection(); bis = new BufferedInputStream(uconnection.getInputStream()); baf = new ByteArrayBuffer(size); }
2. 定义方法 read() 用于读取内容 public ByteArrayBuffer read() throws IOException{ int current = 0; baf.clear(); while((current = bis.read()) != -1){ baf.append((byte)current); } return baf; }
3. 转化 ByteArrayBuffer 为 String public String encode(ByteArrayBuffer buffer){ return EncodingUtils.getString(buffer.toByteArray(), "UTF-8"); }
4. 如何使用 HttpGetHelper public class HttpGetUsage extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); try { HttpGetHelper helper = new HttpGetHelper(this, "http://5billion.com.cn/poem.txt",30); String string = helper.encode(helper.read()); TextView tv = new TextView(this); tv.setText(string); setContentView(tv); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
6. 补充: * 目标URI 为:http://5billion.com.cn/poem.txt * 大家可以通过浏览器来访问该地址 * emulator 运行结果:
done!
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |