收藏 分享(赏)

基于Android的照片分享系统的开发与设计.doc

上传人:weiwoduzun 文档编号:2593104 上传时间:2018-09-23 格式:DOC 页数:40 大小:588.50KB
下载 相关 举报
基于Android的照片分享系统的开发与设计.doc_第1页
第1页 / 共40页
基于Android的照片分享系统的开发与设计.doc_第2页
第2页 / 共40页
基于Android的照片分享系统的开发与设计.doc_第3页
第3页 / 共40页
基于Android的照片分享系统的开发与设计.doc_第4页
第4页 / 共40页
基于Android的照片分享系统的开发与设计.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、 I A N G S U U N I V E R S I TY本 科 毕 业 论 文基于 Android 平台的照片分享系统的设计与实现Design and implementation of photo sharing systemon Android platform专 业: 班 级: 姓 名: 指导教师姓名: 指导教师职称: 基于 Androids 平台的照片分享系统的设计与实现摘要 当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉效果及用户体验,因此,也逐步的提高了对系统的要求。本文主要是在 Android 系统

2、上对照片分享应用程序的设计与实现进行讨论,通过这一过程来进一步学习与应用 Android 平台,这样对个人的未来发展也很有意义。本论文采用了 Android 开源系统技术,利用 Java 语言和 Eclipse 开发工具对播放器代码进行编写。同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该系统集照片浏览、分享,读取通讯录,发送邮件给通讯录好友等功能于一体,性能良好,在 Android 系统中能独立运行。由于本系统只限于应用层程序的探讨,所以对具体的压缩算法不做深究。实验证明,基于 Android 平台的软件开发简单,使用方

3、便简洁,可以给用户带来更方便更真实的体验。关 键 词 : Android,照片分享,java,EclipseDesign and implementation of photo sharing systemon Android platformAbstract Todays society increasingly fast pace of life, with more and more advanced hardware of mobile devices, mobile devices, people demand more and more from the previous purs

4、uit of technology to the current pursuit of visual effects and user experience, therefore, also gradually improve the system requirements. This article is in the Android system for photo sharing application design and implementation discussions, through this process to further study and application

5、of the Android platform, so that the future development of the individual is also meaningful.This paper uses the Android open source technology, the use of the Java language and Eclipse development tools player code be written. At the same time gives a detailed system design process, some screen sho

6、ts and major functional flow chart, the paper also encountered in the development process problems and solutions were discussed in detail, the system sets photo browsing, sharing, reading communication catalog, send email to friends and other functions in one book, good performance, the Android syst

7、em can operate independently. Because this system is limited to application layer discussion, so do go into the specific compression algorithm.Experiments show that, based on the Android platform software development is simple, easy to use and simple, the next few years will become the development d

8、irection of universal significance.Keyword: Android,photo sharing, java,Eclipse目 录第一章 绪论 .11.1 引言 11.2 论文研究背景 11.3 论文的目的、研究内容和意义 21.4 论文结构安排 2第二章 ANDROID 应用软件开发技术原理 .42.1 ANDROID应用软件开发的核心技术 42.3 用户界面 UI 设计技巧 102.4 ANDROID应用开发平台的搭建 .122.4 计算机配置 .122.5 ANDROID 模拟器中 SD卡的创建和文件的上传 14第三章 软件的应用需求分析及流程设计 16

9、3.1 功能需求 .163.1.1 软件的应用需求分析 .163.1.2 软件性能需求 .173.2 系统结构图和流程图 .183.3 系统友好性需求 .19第四章 照片分享系统的设计和实现 204.1 浏览图片界面说明 .204.1.1 照片分享主界面 204.1.2 照片列表的实现 204.2 照片分享的实现 .214.3 获得通讯录 .224.4 将照片发送给通讯录好友 .254.5 本章小结 .28第五章 软件测试 295.1 测试环境 .295.2 测试方案与结果 .295.3 测试结论 .30第六章 总结与展望 316.1 本文的研究工作 .316.2 进一步的工作 .31致 谢

10、32参考文献: 331第一章 绪论1.1 引言2007 年 11 月 5 日,Google。公司与 33 家手机厂商(包括摩托罗拉、三星、宏达、LG 等)、手机芯片供应商、移动运营商建立了开放手机联盟 OHA(Open Handset Alliance),同时发布了名为 Android 的智能手机平台。自此,Android走进了人们的视线。同时其平台化的优势也大大丰富各种手段式设备软件的功能。本文着重对 Android 系统构架,Android 应用程序的开发环境配置及基本组件进行研究,最后在 Android 平台上实现了照片分享的功能。 1.2 论文研究背景如今,手机服务除了发送短信外,还提

11、供给你更多的功能,例如聊天、博客、手机照片上传等业务,许多新型的方法都可以用来分享你的照片。 Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于便携设备,如智能手机和平板电脑,主要支持手机。2005 年由 Google 收购注资,并组建开放手机联盟开发改良随后,逐渐扩展到平板电脑及其他领域。2008 年10 月第一步 Android 智能手机发布。2011 年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全球第一.2012 年 11 月数据显示,Android 占全球智能手机操作系统市场 76%的份额,中国市场占有率为 90%。搭载 Androi

12、d 智能系统的手机越来越不像“手机” ,更像是一台小型电脑。随着经济的发展,社会的进步,科学技术的不断提高,手机系统日渐成熟,智能手机越来越深入到我们日常的学习、工作及生活中,成为我们不可缺少的辅助工具。其强大的功能已为人们深刻认识,它已进入人类社会的各个领域,如炒股、娱乐、视频聊天以及上网冲浪等,在信息高速化的今天,智能手机将成为人类不可或缺的工具。Android 的手机一般都带有高分辨率的摄像头以提供用户进行拍照,相信朋友们的手机中一定有不少的照片,下面这个应用程序可以浏览手机中的照片,2还可以分享喜欢的照片给朋友。 一款专业的照片分享软件是手机中必不可少的要素,几乎市场上所有的手机都拥有

13、一个浏览图片软件,通过软件可以对照片中一些必要的元素进行人性化的设置,同时在操作的时候也能得到一定的便利,但是不能满足用户的所有要求,所以网上就出现了各种各样的照片分享软件,来满足不同用户的不同要求。不同手机平台的手机,所支持的照片分享软件也是各不相同,而现在最流行的手机平台就是 google 的 android 手机平台,所以本课题就致力于开发出一款基于 android 手机平台的照片分享软件,来满足用户的使用需求。1.3 论文的目的、研究内容和意义Android 的手机一般都带有高分辨率的摄像头以提供用户进行拍照,相信朋友们的手机中一定有不少的照片,下面这个应用程序可以浏览手机中的照片,还

14、可以分享喜欢的照片给朋友。 一款专业的照片分享软件是手机中必不可少的要素,几乎市场上所有的手机都拥有一个浏览图片软件,通过软件可以对照片中一些必要的元素进行人性化的设置,同时在操作的时候也能得到一定的便利,但是不能满足用户的所有要求,所以网上就出现了各种各样的照片分享软件,来满足不同用户的不同要求。不同手机平台的手机,所支持的照片分享软件也是各不相同,而现在最流行的手机平台就是 google 的 android 手机平台,所以本课题就致力于开发出一款基于 android 手机平台的照片分享软件,给大家分享生活的乐趣带来更多的方便。1.4 论文结构安排论 文 将 按 照 下 面 的 描 述 进

15、行 内 容 的 安 排 。第 一 章 引 言 , 简 要 介 绍 了 Android 技 术 的 发 展 , 指 出 了 课 题 研 究 的 背景 、 意 义 和 主 要 内 容 。第 二 章 Android 应 用 软 件 开 发 的 核 心 技 术 及 搭 建 环 境 , 如 Android 应用 程 序 组 件 , 数 据 库 技 术 做 了 分 析 和 探 讨 。第 三 章 描 述 了 软 件 需 求 , 明 确 了 软 件 开 发 的 目 标 , 描 述 了 软 件 的 层 次 结3构 。第 四 章 照 片 分 享 系 统 的 设 计 与 实 现 , 介 绍 了 显 示 照 片 ,

16、分 享 照 片 , 读 取手 机 通 讯 录 部 分 功 能 以 及 发 送 到 指 定 邮 箱 的 实 现 。第 五 章 软 件 测 试 , 描 述 了 对 该 照 片 分 享 系 统 进 行 的 测 试 。 说 明 了 测 试 的测 试 环 境 、 测 试 方 法 并 记 录 了 测 试 结 果 。第 六 章 总 结 了 本 课 题 的 研 究 工 作 , 提 出 了 今 后 进 一 步 工 作 的 方 向 。4第二章 Android 应用软件开发技术原理2.1 Android 应用软件开发的核心技术2.1.1 Android 应用开发语言Java 是 Android 上 的 主 流 开

17、发 语 言 , 各 种 支 持 也 最 完 善 。 Android 发布 的 API 和 SDK 也 都 主 要 是 面 向 Java 开 发 人 员 的 。 我 们 的 照 片 分 享 也 是 用Java 开 发 的 。2.1.2 Android 应用程序组件Android 应用程序最大的一个特点就是每个应用都由若干组件构成。而且各个应用程序的组件还可以相互调用(需要在代码中设置相应权限)。例如假设我们需要编写一个内嵌有网页的程序,那么我们无需亲自编写浏览器,而是可以直接调用系统自带的 Chrome Lite 浏览器组件。又如假设我们编写了两个应用程序,其中一个程序中有列表显示图片的组件,那

18、么我们在另外一个应用程序中就可以使用该组件,而不需要再编写该功能。也就是说,不同于我们平常编写的程序,Android 的应用程序不是单一入口,而是可以从代码的不同位置启动。这就要依靠组件来实现。Android 应用程序的组件有以下四种:1.Activities 一个 activity 实际上表现出来的就是一个程序的界面。这个界面可能有许多种不同的形式,比如有列表形式,有文字形式,有图像格子等形式。一个应用程序也可能有不止一个 activity。比如一个短消息的程序,需要有列表显示所有消息的 activity,还至少需要一个编辑短消息的 activity(界面),还可能需要设置、菜单等界面。每个

19、 activity 都有一个默认的窗口用于绘制界面,一般情况下,它是充满全屏的,但是我们可以通过程序控制它,使其小于屏幕大小,也可以控制其浮动于其它窗口之上(如 Android 中的 Toast 信息),Activity 中显示出来的内容其实是由 view 堆叠形成的,view 是由 View 基类派生出来的各种形式的界面5元素,如 ListView,GridView 等等,通过组合这些 view,就形成了一个可见的activity。我们可以用 Activity.setContentView()方法来设置一个 activity中所要显示的 view。2.Services service 是一种

20、没有界面的组件,同我们平常在 Windows 或 Linux 系统中所理解的“服务”一样,Android 上的 service 也是运行在后台的,运行时间可以从系统启动到系统关闭为止。对于许多应用程序来说,service 组件是至关重要的。以下载管理器为例,用户肯定希望能够在切换到其它程序时仍然在后台进行下载,这就需要用到 service 完成下载工作。而显示下载进度、已下载文件等信息则由 activity 完成,同时我们还希望能控制下载过程,如停止、继续等,这就需要 activity 与 service 之间进行通信。 Android 允许 activity连接到或者绑定到 service

21、上,这样就可以让用户在界面上控制后台 service的行为。3.Broadcast receivers Broadcast 意为广播消息,Android 系统自身会发出许多广播消息,如电量不足,用户修改了全局设置等,各个应用程序也以向整个系统广播消息,如文件下载完毕等。Broadcast receiver 则是程序中专门用来接收广播消息的组件,它没有界面显示,只负责监听、接收广播消息,然后根据程序逻辑,启动其它组件去处理广播消息。它可以启动一个 activity 来同用户交互,也可以使用NotificationManager 向用户发出通知。NitificationManager 的通知形式有

22、许多种,比如说振动、响铃、闪 LED 灯,还可以在 Android 界面的消息栏处显示信息。4.Content providers content provider 是一种为其它应用程序提供数据的组件。这些数据可以保存在文件中,也可以保存在 SQLite 数据库中,还可以以其它任何有效的方式保存。ContentProvider 类为我们提供了一系列保存数据的方法供我们调用,可以很方便地存储数据。其它应用程序在需要使用这些数据时,可以用ContentResolver 对象,使用其中的方法。ContentResolver 可以与任何6content provider 交互,获取其中的数据。只要需要

23、某个组件,Android 就会尽力保证它的可用:如果该组件还没启动,就启动它,如果该组件所属的应用程序还没拥有一个进程,则为它启动一个进程,如果系统资源不足以容纳一个新的进程,则将后台的某个进程杀死为新进程腾出资源。2.1.3 Intent 介绍Android 中提供了 Intent 机制来协助应用间的交互与通讯,Intent 负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android 则根据此 Intent 的描述,负责找到对应的组件,将 Intent 传递给调用的组件,并完成组件的调用。Intent 不仅可用于应用程序之间,也可用于应用程序内部的Activity/Servi

24、ce 之间的交互。因此,Intent 在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。2.1.4 AndroidManifest.xml 文件在 Android 启动某个程序之前,它得事先知道程序中有哪些组件。因此,apk 文件中需要有一些描述信息,告知 Android 系统,这个任务就由AndroidManifest.xml 文件完成。AndroidManifest.xml 文件是一个结构化的 XML 文件,它除了包含有各个组件的信息,还包括许多其它的信息,如声明该程序所需要用到的库、声明所需要的权限等。它的基本样式如下所示:. . .7在 An

25、droid 启动某个程序之前,它得事先知道程序中有哪些组件。因此,apk 文件中需要有一些描述信息,告知 Android 系统,这个任务就由AndroidManifest.xml 文件完成。AndroidManifest.xml 文件是一个结构化的 XML 文件,它除了包含有各个组件的信息,还包括许多其它的信息,如声明该程序所需要用到的库、声明所需要的权限等。它的基本样式如下所示:. . .不难看出,name,icon,lable 这些属性就分别指 activity 的名称、图标、标识。我们通过 manifest 描述程序的信息,Android 系统就能读取出来并产生相应的行为。在 Andro

26、id 启动某个程序之前,它得事先知道程序中有哪些组件。因此,apk 文件中需要有一些描述信息,告知 Android 系统,这个任务就由AndroidManifest.xml 文件完成。AndroidManifest.xml 文件是一个结构化的 XML 文件,它除了包含有各个组件的信息,还包括许多其它的信息,如声明该程序所需要用到的库、声明所需要的权限等。它的基本样式如下所示:8. . .不难看出,name,icon,lable 这些属性就分别指 activity 的名称、图标、标识。我们通过 manifest 描述程序的信息,Android 系统就能读取出来并产生相应的行为。2.2 数据库技术

27、2.2.1 创建数据库Android 提供了标准的数据库创建方式。继承 SQLiteOpenHelper ,实现onCreate 和 onUpgrade 两个方法,有个好处就是便于数据库版本的升级,连接数据库的算法如下:public DBHelper(Context context) / 创建数据库super(context, DATABASE_NAME,null, DATABASE_VERSION);public void onCreate(SQLiteDatabase db) / 创建时调用db.execSQL(DATABASE_CREATE);public void onUpgrade(

28、SQLiteDatabase db, int oldVersion, int newVersion) / 版本更新时调用db.execSQL(“DROP TABLE IF EXISTS File_Table“);onCreate(db);Override / 在 ContextProvider 运行时自动创建数据库 9public boolean onCreate() dbOpenHelper= new DBHelper(getContext();return true;数据库如果创建不成功则抛出 FIleNotFoundException 异常2.2.2 操作数据库Android 对数据库的

29、操作主要有插入、删除、更新、查询操作,在进行任何操作时都必须指定一个 Uri,才能对相应的表进行数据操作。/数据库删除操作Overridepublic int delete(Uri arg0, String arg1, String arg2) SQLiteDatabase db = dbOpenHelper.getWritableDatabase();try Db.delete(FileColumn.TABLE, arg1, arg2); catch (Exception ex) ex.printStackTrace();return 1;Override/数据库插入操作public Uri

30、 insert(Uri uri, ContentValues values) SQLiteDatabase db = dbOpenHelper.getWritableDatabase();long count = 0;try count = db.insert(FileColumn.TABLE, null, values); catch (Exception ex) ex.printStackTrace(); if (count 0) return uri;else return null;10/ 数据库更新操作Overridepublic int update(Uri uri, Conten

31、tValues values, String selection,String selectionArgs) SQLiteDatabase db = dbOpenHelper.getWritableDatabase();int i = 0;try i = db.update(FileColumn.TABLE, values, selection, null);return i; catch (Exception ex) return 0;2.2.3 数据显示程序是利用 Cursor 游标类指向数据表中的某一项,然后进行查询数据,用Log 日志显示出来Override/数据库查询操作public

32、 Cursor query(Uri uri, String projection, String selection,String selectionArgs, String sortOrder) SQLiteDatabase db = dbOpenHelper.getWritableDatabase();/ 依次参数为:表名,查询字段, where语句,替换,group by(分组),having(分组条件),order by(排序)Cursor cur = db.query(FileColumn.TABLE, projection, selection,selectionArgs, nul

33、l, null, sortOrder);return cur;2.3 用户界面 UI 设计技巧2.3.1 关 注 用 户( 1) 了 解 你 的 用 户 ( 年 龄 ,技 能 , 文 化 , 对 你 的 应 用 需 求 , 使 用 的 设 备 ,以 及 何 时 何 地 如 火 热 使 用 设 备 )( 2) “用 户 优 先 ”的 设 计 心 态 ( 用 户 通 常 是 任 务 导 向 的 行 为 模 式 ) 。 在 做11设 计 以 前 一 定 要 做 大 量 的 调 查 , 只 有 这 样 才 能 真 正 了 解 用 户 的 行 为 , 才 能 在设 计 的 时 候 以 用 户 为 中 心

34、 。( 3) 更 早 更 频 繁 地 由 真 实 用 户 来 测 试 。 一 个 UI 设 计 的 好 坏 最 终 的 评 价 者还 是 用 户 , 所 以 , 在 你 设 计 完 成 以 后 , 一 定 要 尽 快 一 些 实 际 的 用 户 来 帮 助 你测 试 一 下 你 的 UI, 然 后 , 可 以 根 据 用 户 的 反 馈 更 好 的 改 进 UI。2.3.2 显 示 正 确 的 内 容( 1) 最 常 用 的 操 作 需 要 最 快 地 被 用 户 看 到 并 且 可 用 。( 2) 不 太 常 用 的 功 能 可 以 放 到 菜 单 里 。 在 大 多 情 况 下 , 在 做

35、 UI 设 计 的 时候 , 总 是 觉 得 哪 一 个 功 能 都 是 有 用 的 。 这 时 候 , 应 该 去 咨 询 一 下 你 的 用 户 ,询 问 一 下 看 看 他 们 的 常 用 功 能 是 什 么 。 然 后 在 结 合 UI 的 美 观 设 计 出 一 个优 秀 的 UI 来 。 图 2.12.3.3 给予用户适当的回馈(1)交互式的 UI 元素最少需要反应出 4 种不同的状态(default,disabled,focused,pressed) 。这样会使用户在使用 UI 元素的时候12知道元素的状态,并根据当前状态做进一步的操作。(2)保证操作的结果是清晰可见的。这条准则

36、告诉我们,必须在用户做完一个或者相继的几个操作后给出操作结果。想想看,如果你现在正在看本书,然后你翻了一页,没有什么结果,这是在你原先那一页上,有什么感受呢。(3)多给用户进度提示,但是不要干扰他们当前的操作。这条原则也很重要,简单地说,在用户不熟悉的过程中,要多给用户相关操作的提示,在用户熟悉的情况下,所给提示的方式又不会影响他。2.3.4 有章可循的行为模式(1)行为模式遵循用户的期望。这条准则就要求我们在设计 UI 的时候要注意让 UI 的设计元素形象化,要注意通用符号的含义,不要更改人们已经设定的标准,比如说红十字不要用来表示可选按钮。(2)使用合适的方式来加强功能可见性。这条准则是显

37、而易见的,可点击的一定要做的像可点击的元素,不要非把一个按钮做成一个可以编辑文本的 UI 元素。(3)如果用户完成一项任务需要复杂的操作,重新思考你的设计。这条准则说明,一定要清楚简单地完成用户的主要任务,但是对于一些对系统有威胁的操作除外。如果设计的UI能够符合大部分的准则,那么这个UI 就是个很优秀的设计。2.4 Android 应用开发平台的搭建2.4.1 计算机配置开发 Android 应用所用到的开发工具较占内存,尤其是模拟器。官方并未给出最低配置要求,根据个人实际体会,在本人 Intel corei5 双核及 2G 内存的情况,基本上能流畅使用。另外还需有 600MB 以上的剩余磁

38、盘空间(官方文档中的说明) 。2.4.2 下载 SDK 初始包13初 始 包 中 有 开 发 Android 程 序 所 要 用 到 的 工 具 , 这 些 工 具 包 括 了 从 编译 到 运 行 Android 应 用 程 序 所 需 要 的 各 种 工 具 。 因 此 , 事 实 上 最 基 本 的 开发 环 境 至 此 就 已 经 搭 建 完 整 。 (SDK 的 下 载 地 址 为http:/ , 本 来 官 方 网 站 为, 但 是 经 常 被 封 锁 , 该 链 接 更 为 稳 定 。 )2.4.3 安装 ADT按 照 2.2.2 安 装 完 SDK 初 始 包 后 , 就 可

39、以 开 始 开 发 Android 应 用 程 序了 , 但 是 为 了 更 高 效 地 进 行 开 发 , Android 团 队 推 出 了 Android Development Tools (ADT) 。 ADT 是 目 前 开 发 Android 应 用 最 有 效 的 工具 , 它 是 一 个 Eclipse 插 件 , 支 持 Eclipse 3.4 及 3.4 以 上 的 版 本 。 以Eclipse 3.5 (Galileo)为 例 , 安 装 过 程 如 下 :1.打 开 Eclipse, 选 择 Help Install New Softare。2.在 Available

40、 Software 对 话 框 中 , 点 击 Add.。3.在 弹 出 的 Add Site 对 话 框 中 , 任 意 填 写 一 个 名 字 到 Name 一 栏 。 “https:/dl- 然 后 确 认 返 回 。 ( 注 意 : 如果 在 后 续 的 步 骤 中 发 现 无 法 安 装 插 件 , 可 以 试 着 把 URL 中 的 https 换 成http。 )4.返 回 到 Available Software 窗 口 后 , 就 能 看 到 列 表 中 出 现 了“Developer Tools“ , 选 中 它 前 面 的 复 选 框 , 再 点 击 “Next”, 就

41、会 开 始 下载 安 装 ADT 的 各 种 组 件 了 。5.安 装 完 毕 后 将 弹 出 窗 口 显 示 ADT 相 关 的 各 种 信 息 以 及 许 可 协 议 , 点击 “Finish“即 可 完 成 安 装 。6.重 新 启 动 Eclipse。2.4.4 设置 Eclipse1.选择“Window Preferences. “打开偏好设置2.从左侧边栏中选择“Android“一栏。143.单击 SDK Location 一栏边的 Browse 按钮,选择刚刚下载的 SDK 保存的路径。4.点击 Apply,OK ,设置生效。至此,Android 的开发环境就已经搭建完毕,可以使

42、用了 。2.5 Android 模拟器中 sd 卡的创建和文件的上传1. 创建一个 SDCard 镜像文件打开 cmd,进入 Android SDK 安装路径下的 tools 目录下,如你的安装路径是 E:android-sdk-windowstools 那就输入如下命令:E:回车cd android-sdk-windowstools 回车mksdcard 1024M sdcard.img该命令会在当前目录下生成一个 sdcard.img 文件,该文件是 Android 模拟器的 SD 卡镜像文件。1024M 表示 SD 卡有 1024M 大小,即 1G 容量。目前Android 支持 8M1

43、28G 的 SD 卡。2.运行带有 SD 卡的模拟器创建了 SD 卡镜像文件,只是创建了一个文件,还不能在模拟器中直接使用,要在模拟器加载该 SD 卡,方法:新建模拟器的时候,指定 SD 卡镜像文件的路径,并且加入对 SD 卡的支持选项打开 eclipse,进入:window-android SDK and AVD manager 如下图:15在创建的时候,在 SD card 那一栏,选择 file,并将其设置为 sdcard 镜像文件的路径。点击 hardware 一栏中的 new,选择 SD Card surport。点击创建 AVD,OK。3.向该 SD 卡中上传文件在 cmd 中,进入

44、 Android SDK 的安装路径下的 tools 目录中,运行命令:adb push E:test.3gp /sdcard/test.3gp 其中,E:test.3gp 是本地要上传的文件,sdcard/test.3gp 为上传到 SD 卡中的路径。注意:adb push 电脑路径 模拟器路径在电脑路径中,必须使用“” ,在模拟器路径中必须使用“/” ,并且模拟器的根路径是只读的。 4、使用该 SD 卡中的文件第一种方式:安装文件浏览器可以查看 SD Card 中的内容(浏览器下载地址:http:/ = context.getContentResolver();OverridePublic

45、 void bindView(View view, Context CONTEXT, Cursor sursor)/获得通讯录人员名字(TextView) view).setText(cursor.getString(cursor.getColumnIndexOrThrow(Contacts.People.NAME);OverridePublic View newView(Context context, Cursor sursor, ViewGroup parent)/设置通讯录的显示样式Final LayoutInflater inflater = LayoutInflater.from(

46、context);Final TextView view = (TextView) inflater.inflate(Android.R.layout.simple_dropdown_item_lline, parent, false);View.setText(cursor.getString(cursor.getColumnIndexOrThrow(Contacts.People.NAME);Return view;23OverridePublic String convertToString(Cursor cursor)Return cursor.getString(cursor.get

47、ColumnIndexOrThrow(Contacts.People.NAME);OverridePublic Cursor runQueryOnBackgroundThread(CharSequence constraint)/查询通讯录If (getFilterQueryProvider() != null)Return getFilterQueryProvider().runQuery(constraint);StringBuilder buffer = null;String args = null;If (constraint != null)Buffer = new StringBuilder();Buffer.append(“UPPER(“);Buffer.append(Contacts.ContactMethods.NAME);Buffer.append(“) GLOB ?”);Args = new String

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报