思路:连接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. macOS Mojave配置OpenGL开发环境

    ---恢复内容开始--- 前言: 本文写作目的: 是由于本人参考 csdn原文 的方法配置环境时踩了很多坑,所以在此写一篇文防止以后用到. 工具: Xcode CMake 步骤: 准备工作: Xcod ...

  2. Studio 5000编程:一种累计时间的编程方法

    前言:在很多项目中,需要累计设备的运行.停机.故障时间,当然实现该功能的编程方法也是多种多样,各有千秋,不过有的方法累计误差会越来越大,比如:在连续任务里用定时器来累计时间,就存在一定的误差.本文分享 ...

  3. selenium中的下拉框处理模块Select

    在UI自动化测试过程中,经常会遇到一些下拉框,如果我们基于Webdriver操作的话就需要click两次,而且很容易出现问题,实际上Selenium给我们提供了专门的Select(下拉框处理模块). ...

  4. AQS学习笔记之独占锁

    作用 参与 共享锁 acquireShared() 和 独占锁 acquire() 的抢锁逻辑, 具体的抢锁逻辑不作实现,只对第一次抢锁未抢到锁线程做处理,第一次抢锁就抢到的线程就不需要遇到AQS了 ...

  5. L1-Day5

    1.他偷了那个装满钱的书包. [我的翻译]He stole the bag full of money. [标准答案]He stole that school bag full of money. ( ...

  6. Win10蓝屏的一些解决办法

    请仔细回想这个错误是什么时候出现的: 第一次发生时你对系统做了哪些操作: 发生时正在进行什么操作: 从这些信息中找出可能的原因: 从而选择相应解决方案并尝试排除. 0x0000000A:IRQL_NO ...

  7. 使用Lottie将AE项目转换为 Web 原生动画

    使用Lottie转换AE项目为 Web 原生动画 首先打开链接https://github.com/airbnb/lottie-web/blob/master/build/extension/body ...

  8. 机器学习基石9-Linear Regression

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上节课,主要介绍了在有noise的情况下,VC Bound理论仍然是成立的.同 ...

  9. leveldb(ssdb)性能、使用场景评估

    最近有个业务场景存储压力很大,写远远大于读,读也集中在最近写入,想想这不很适合采用leveldb存储么.leveldb的话好像用ssdb比较多,花了两天时间就ssdb简单做下测试,以下总结. ssdb ...

  10. Union 与 Union all 的区别【坑】

    UNION操作符用于合并两个或多个SELECT语句的结果集 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必 ...