网络作为android的数据存储的一种,那么极大的扩大了app的使用范围,因为任何信息我们都可以从网络上获取,试想一下我们自己搭建一个服务器,然后通过app向服务器请求数据,那么要修改显示数据的时候,我们只需要修改服务器上的数据,app只是一个显示载体。目前确实有很多app是这样开发的,在app内部可以嵌套一个浏览器,当然也可以使用android自带的webview,那么开发就可以分开了,android的做android的部分,网站的做网站的部分,极大的提高了开发效率,而且也增加了app的功能和多样性,是不是很赞。今天我们来简单介绍一下android通过网络来获取数据:


用作测试,我在自己机器上搭建了一个Tomcat7.0服务器,很简单,搭建可以参照其他博客搭建一个,用作自己测试很方便。然后创建了一个网站项目(Web1),在网站中放置了一个txt文件: android.txt. 然后我们看怎么通过网络来获取并读取它的内容。


这两个文件是相当于服务器上的文件:


我们来看看android的代码:

  getNetDataBtn.setOnClickListener(new View.OnClickListener() {   @Override   public void onClick(View v) {    try {     URL url = new URL(       "http://192.168.1.23:8080/Web1/android.txt");     URLConnection urlConn = url.openConnection();     InputStream is = urlConn.getInputStream();     byte[] buffer = new byte[is.available()];     is.read(buffer);     String words = EncodingUtils.getString(buffer, "UTF-8");     Log.e(TAG, "words:" + words);    } catch (IOException e) {     e.printStackTrace();    }   }  });

这里就没有贴出全代码了,Mainactivity里面就一个按钮,点击相应获取文件数据。

获取的结果:



注意:

1. http://192.168.1.23:8080/Web1/android.txt 这个地址中,192.168.1.23 是我在局域网中的IP地址,这里就android模拟器就不要使用127.0.0.1来访问本机上的服务器了,因为这个地址已经被android模拟器自己占用,所以要用局域网ip地址访问。 8080是端口号,根据你自己的服务器配置而定。

2. 我们在将字节流转化为string的时候,最好是指定编码格式,通常的做法就是使用 EncodingUtils来转换,UTF-8是一种编码格式,也可以使用GB2312等,自己去查看一些资料吧。这个格式应该是按照服务器上这个文件的格式来确定的。

3. android中访问网络需要权限: <uses-permission android:name="android.permission.INTERNET"/>



这个例子很简单,只是为了引导一下,以后再做详解!




更多相关文章

  1. android集成 ijkplayer Ijkplayer集成使用方案 + demo
  2. 证书番外篇之Android证书
  3. MAC查看某一so文件的cpu匹配
  4. Android(安卓)DOM方式解析XML文件
  5. Android(安卓)studio百度地图SDK开发 2020最新超详细的Android(
  6. [一步一步破解apk]破解1518占卜
  7. Android近期任务列表Recent List(Recents Screen)的实现方式
  8. Android时遇到R.java was modified manually! Reverting to gene
  9. android适配各种机型及其分辨率

随机推荐

  1. Android(安卓)学习笔记(5)—— ProgressBar
  2. Google主推-Android开发利器——Android(
  3. Android设计模式系列(0)--开篇
  4. 深入Android(安卓)【一】 —— 序及开篇
  5. Android(安卓)系统启动流程简析
  6. Android的init过程详解(一)
  7. 第十二章:Android数据存储(下)
  8. 如果没有 Android,世界会怎样?
  9. Android(安卓)设备管理API概览(Device Adm
  10. Android(安卓)Handler机制