Android应用数据一键拉取方案.doc

仅供专利申请使用 第 PAGE 9 页 共 NUMPAGES 9 页 confidential 专利申请技术交底书 一、 基本信息 发明名称:Android应用数据一键拉取方案 二、 技术信息 1. 所属技术领域 在Android应用程序开发和调试过程中我们经常会存将数据进行存储操作。Android系统应用程序所有数据都是存储在应用程序的包名下,每个应用程序的包名是唯一确定的。应用程序数据默认是存储在data分区下,而data分区的数据在非root手机上是没有权限进行查看的。但是我们在开发和调试阶段需要经常查看应用程序具体的存储数据,这样给调试和开发带来非常多的麻烦。 本方案提出了一套能够快速将应用数据拉取到电脑上然后查看的方法。无论手机是否是具有root权限,本方案都可以将数据拉取到电脑上然后进行查看应用数据信息。这样能够很大程度上提高应用程序的开发效率,极大的提高了开发人员开发人员的便携性和开发效率。 2. 名词解释 包名:通常是一个字符串,是一个应用程序的唯一标示符。 Data分区:Android手机的内核是linux系统,在linux系统中文件系统是被划分为很多区域的,data分区是文件系统中的一个分区,这个分区通常用于存储应用程序相关的数据信息等。 Root:Android手机的权限管理,root代指Android手机的最高控制权限 API:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 Byte:字节(Byte /bait/ n. [C])是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。 Adb:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。 3. 本发明技术方案详细描述,必要时应结合附图进行说明 本方案主要提供了一套将应用程序数据同步拉取到电脑上的方法,无论手机是否具有root权限,本方案都能够正常对数据进行同步拉取。由于开发过程中我们经常需要查看应用的数据信息,在root手机上由于data分区数据无法进行查看,导致开发者获取数据会变得非常麻烦。本方案很好的解决了这个问题,能够将Android应用程序的数据拉取到电脑上,这样开发人员就能够很方便的查看手机中的数据信息了。 本方案的具体实施框架图如下所示: 本方案主要实施步骤是将文件正确的拷贝到SD卡上,然后再通过adb工具来将SD卡上的数据拉取到电脑上。 接下来我们详细分析每一步的具体实施流程: 整个程序的入口,开始执行 检查SD卡存储空间是否是满的,检测方式如下: SD卡存储空间检测流程如下所述: 具体分析一下SD卡存储空间检测流程: 通过Android系统提供的API函数Environment.getExternalStorageDirectory();来获取SD卡的路径信息。其中Environment.是Android系统提供的一个全局可用的环境获取入口,通过其内部方法getExternalStorageDirectory就能够获取到外边SD卡存储的路径信息。 通过StatFs类(Java提供的获取目录下目录信息的类),将SD卡的存储路径传递进去,这样就能够获取到SD卡存储路径下的目录信息了,我们将目录信息保存在变量sf中(sf是一个变量,代指目录相关信息)。 通过sf中的getBlockSize(获取单个数据块大小的方法)方法能够获取到单个数据块的大小,单位是byte,使用blockSize来标记单个数据块大小; 通过sf中的getAvailableBlocks(获取空闲数据块的数量)方法能够获取SD卡路径下文件夹的可用数据块的数量,我们使用freeBlocks来标记空闲数据块的数量。 获取空闲空间大小,计算方式是blockSize * freeBlocks,单个数据块的大小乘以空间数据块的数量,就能够获取到剩余空间容量,我们标记为freeSpace。 如果我们获取到的freeSpace(SD卡剩余空间)为0,也就是SD卡满了这个时候我们无法将数据拷贝到SD卡上,只能提示用户“SD卡数存储空间满,清删

文档评论(0)

1亿VIP精品文档

相关文档