思路:连接Internet资源-->分析XML资源-->使用Download Manager下载文件

Android的Internet连接模型和用于分析Internet数据源的Java技术。

Android的Internet连接模型和用于分析Internet数据源的Java技术。

胖客户端和瘦客户端(完全依靠基于Web的解决方案)的本地应用程序的区别和优点:

1. 上述胖客户端指非原生的Android应用程序(或基于Web的应用程序);瘦客户端指原生Android应用程序(或本地应用程序,或者是基于Internet的应用程序)。或者两者相互对调定义,名字只是一个称呼而已,关键是角度如何;

2. 带宽:对于带宽有限的设备而言,比如图片、布局和声音这样的静态资源可能是非常昂贵的带宽消费者。通过创建一个本地应用程序,可以把带宽需求仅限于进行数据更改;

3. 缓存:使用基于浏览器的解决方案时,一个不稳定的Internet连接可能会导致不持续的应用程序可用性。本地应用程序可以在没有实时连接的情况下通过缓存数据和用户操作来提供尽可能多的功能,并且在当连接重新建立时,能够与云进行同步;

4. 降低电源消耗:应用程序每次打开一个指向服务器的连接时,无线设备会就打开(或者保持打开)。本地应用程序可以捆绑与网络的连接,从而将启动的连接数降到最低。网络请求间隔的时间越久,无线设备可以保持关闭的时间就越久。

5. 本地功能:Android设备不仅仅是能够运行浏览器的简单平台。通过创建一个本地应用程序,可以把那些联机可用的数据和设备上可用的硬件功能结合起来,从而提供更加丰富的用户体验。

通过限制传输的数据量来优化用户体验,并确保应用程序足够健壮,以处理网络中断和带宽限制。

连接网络--> 请求数据 --> 解析数据

使用Download Manager,作为一个Service来优化长时间下载操作的处理。建议,最好在大多数场景下都使用Download Manager来管理下载任务。通过使用上述实例,可以对某个下载进行进一步的操作或者查询,包括查看状态或者取消下载;可以对下载条件进行设置,比如:确保只有连接到WIFI时才进行大文件的下载;可以自定义使用Download Manager Notification显示当前下载的进度和文件名。

下载数据(需获取到一个连接)而不会耗尽电量的最佳实践:

下载数据时,使用的时机和技术会对电池寿命有显著的影响。移动设备的无线电处于激活状态时会消耗大量的电量;每当创建一个新的连接来下载其他的数据时,可能会将无线电设备从待机状态唤醒到激活状态。一般情况下,最好将连接和相关的下载绑定以同时且不频繁地执行它们。相反,创建频繁、短暂的连接来下载少量的数据,会对电池有最显著的影响。

Android应用程序如何使用Internet资源?的更多相关文章

  1. 我的Android 4 学习系列之使用 Internet 资源

    目录 连接Internet资源 分析XML资源 使用Download Manager下载文件 查询Download manager 使用Account Manager 对 Google App Eng ...

  2. Android应用程序资源的查找过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8806798 我们知道,在Android系统中, ...

  3. Android应用程序资源的编译和打包过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8744683 我们知道,在一个APK文件中,除了 ...

  4. (Android UI)Android应用程序中资源:图片、字符串、颜色、布局等

    Android系统设计采用代码和布局分离的设计模式,因此在设计Android应用程序时需要遵循该设计模式. “把非代码资源(如图片和字符串常量)和代码分离开来始终是一种很好的做法.”---<An ...

  5. 使用 Eclipse PhoneGap 构建 Android 应用程序入门

    Eclipse 是一种支持多种技术的开源集成开发环境 (IDE),但本文重点介绍 Java 支持,这也是 Android 应用程序的“母语”.Android 是 Google 发布的开源移动操作系统. ...

  6. 在Android应用程序使用YouTube API来嵌入视频

    在Android版YouTube播放器API使您可以将视频播放功能到你的Android应用程序.该API允许您加载和播放YouTube视频(和播放列表),并自定义和控制视频播放体验. 您可以加载或暗示 ...

  7. Android应用程序组件Content Provider应用实例

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6950440 文简要介绍了Android应用程序 ...

  8. 与Android应用程序相关的文件目录都有哪些?(转载)

    与Android应用程序相关的文件目录都有哪些? | 浏览:1312 | 更新:2014-09-28 19:43 | 标签:android 一.方法介绍:   每个Android应用程序都可以通过Co ...

  9. android的程序运行数据存放在哪里?

    Android应用开发中,给我们提供了5种数据的存储方式1 使用SharedPreferences存储数据2 文件存储数据3 SQLite数据库存储数据4 使用ContentProvider存储数据5 ...

随机推荐

  1. JAVA集合1--总体框架

    JAVA集合是JAVA提供的工具包,包含了常用的数据结构:集合.链表.栈.队列.数组.映射等.JAVA集合工具包的位置是java.util.* JAVA集合主要可以分为4个部分:List.Set.Ma ...

  2. sleep、wait、notify、notifyAll的区别

    Sleep 和wait 1. sleep是Thread类的静态方法,wait是Object类中定义的方法2. Thread.sleep不会导致锁行为的改变,如果当前线程是拥有锁的,那么Thread.s ...

  3. 关于JDK1.7+中HashMap对红黑树场景的思考

    背景 在1.7之前的版本,当数组元素较多(几百.几千,或者更多)的时候,在这种前提扩容,涉及全量元素的遍历和坐标的重新定位,这个耗时会比较长.这是之前存在的一个弊端吧.那么引入红黑树之后就解决了问题, ...

  4. Mysql 层级、执行顺序、执行计划分析

    逻辑分层 下面是MySQL的逻辑分层图: 连接层:连接与线程处理,这一层并不是MySQL独有,一般的基于C/S架构的都有类似组件,比如连接处理.授权认证.安全等. 服务层:包括缓存查询.解析器.优化器 ...

  5. 关于微信emoji 表情数据库存不了,或者显示为???的问题

    必须我utf8mb4,数据库就可以存 2. 数据库连接也需要是utf8mb4

  6. “放到桌面”的Servlet实现

    复习下Servlet下载文件, 当response把ContentType设置成application/xxxx的时候呢,浏览器会默认启动下载,而不是试图打开. 通过给httpHeader里面加入内容 ...

  7. Py西游攻关之Socket网络编程

    新闻 管理   Py西游攻关之Socket网络编程   知识预览 计算机网络 回到顶部 网络通信要素: A:IP地址   (1) 用来标识网络上一台独立的主机 (2) IP地址 = 网络地址 + 主机 ...

  8. linux系统自动备份打包部署脚本

    1.使用jenkins配置任务 2.执行脚本放在/home/guard/目录下 #!/bin/sh #author wangxiangyu #当前时间 DATE=$(date +%Y%m%d) #环境 ...

  9. GYM 100608G 记忆化搜索+概率 2014-2015 Winter Petrozavodsk Camp, Andrew Stankevich Contest 47 (ASC 47)

    https://codeforces.com/gym/100608 题意: 两个人玩游戏,每个人有一个长为d的b进制数字,两个人轮流摇一个$[0,b-1]$的骰子,并将选出的数字填入自己的d个空位之中 ...

  10. Python IDLE配置清屏快捷键(Ctrl+L)

    1.在Python\Lib\idlelib下,新建一个ClearWindow.py文件(没有时就新建),内容如下: """ Clear Window Extension ...