基于Android的照片分享系统的开发与设计毕业论文.doc_第1页
基于Android的照片分享系统的开发与设计毕业论文.doc_第2页
基于Android的照片分享系统的开发与设计毕业论文.doc_第3页
基于Android的照片分享系统的开发与设计毕业论文.doc_第4页
基于Android的照片分享系统的开发与设计毕业论文.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I A N G S U U N I V E R S I TY 本本 科科 毕毕 业业 论论 文文 基于 Android 平台的照片分享系统的 设计与实现 Design and implementation of photo sharing system on Android platform 专 业 班 级 姓 名 指导教师姓名 指导教师职称 基于 Androids 平台的照片分享系统的设计与实现 摘要 当今社会的生活节奏越来越快 随着硬件移动设备的越来越先进 人们 对移动设备的要求也越来越高 从以前的追求技术到现在的追求视觉效果及用 户体验 因此 也逐步的提高了对系统的要求 本文主要是在 Android 系统上 对照片分享应用程序的设计与实现进行讨论 通过这一过程来进一步学习与应 用 Android 平台 这样对个人的未来发展也很有意义 矚慫润厲钐瘗睞枥庑赖 本论文采用了 Android 开源系统技术 利用 Java 语言和 Eclipse 开发工具 对播放器代码进行编写 同时给出了详细的系统设计过程 部分界面截图及主 要的功能流程图 本文还对开发过程中遇到的问题和解决方法进行了详细的讨 论 该系统集照片浏览 分享 读取通讯录 发送邮件给通讯录好友等功能于 一体 性能良好 在 Android 系统中能独立运行 由于本系统只限于应用层程 序的探讨 所以对具体的压缩算法不做深究 聞創沟燴鐺險爱氇谴净 实验证明 基于 Android 平台的软件开发简单 使用方便简洁 可以给用 户带来更方便更真实的体验 关键词 Android 照片分享 java Eclipse Design and implementation of photo sharing system on Android platform Abstract Today s 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 pursuit 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 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 shots 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 system 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 direction of universal significance 彈贸摄尔霁毙攬砖卤庑 Keyword Android photo sharing java Eclipse 目 录 第一章 绪论 1謀荞抟箧飆鐸怼类蒋薔 1 1 引言 1厦礴恳蹒骈時盡继價骚 1 2 论文研究背景 1茕桢广鳓鯡选块网羈泪 1 3 论文的目的 研究内容和意义 2鹅娅尽損鹌惨歷茏鴛賴 1 4 论文结构安排 2籟丛妈羥为贍偾蛏练淨 第二章 ANDROID 应用软件开发技术原理 4預頌圣鉉儐歲龈讶骅籴 2 1 ANDROID应用软件开发的核心技术 4渗釤呛俨匀谔鱉调硯錦 2 3 用户界面 UI 设计技巧 10铙誅卧泻噦圣骋贶頂廡 2 4 ANDROID应用开发平台的搭建 12擁締凤袜备訊顎轮烂蔷 2 4 计算机配置 12贓熱俣阃歲匱阊邺镓騷 2 5 ANDROID 模拟器中SD卡的创建和文件的上传 14坛摶乡囂忏蒌鍥铃氈淚 第三章第三章 软件的应用需求分析及流程设计软件的应用需求分析及流程设计 1616蜡變黲癟報伥铉锚鈰赘 3 1 功能需求 16買鲷鴯譖昙膚遙闫撷凄 3 1 1 软件的应用需求分析 16綾镝鯛駕櫬鹕踪韦辚糴 3 1 2 软件性能需求 17驅踬髏彦浃绥譎饴憂锦 3 2 系统结构图和流程图 18猫虿驢绘燈鮒诛髅貺庑 3 3 系统友好性需求 19锹籁饗迳琐筆襖鸥娅薔 第四章 照片分享系统的设计和实现 20構氽頑黉碩饨荠龈话骛 4 1 浏览图片界面说明 20輒峄陽檉簖疖網儂號泶 4 1 1 照片分享主界面 20尧侧閆繭絳闕绚勵蜆贅 4 1 2 照片列表的实现 20识饒鎂錕缢灩筧嚌俨淒 4 2 照片分享的实现 21凍鈹鋨劳臘锴痫婦胫籴 4 3 获得通讯录 22恥諤銪灭萦欢煬鞏鹜錦 4 4 将照片发送给通讯录好友 25鯊腎鑰诎褳鉀沩懼統庫 4 5 本章小结 28硕癘鄴颃诌攆檸攜驤蔹 第五章 软件测试 29阌擻輳嬪諫迁择楨秘騖 5 1 测试环境 29氬嚕躑竄贸恳彈瀘颔澩 5 2 测试方案与结果 29釷鹆資贏車贖孙滅獅赘 5 3 测试结论 30怂阐譜鯪迳導嘯畫長凉 第六章 总结与展望 31谚辞調担鈧谄动禪泻類 6 1 本文的研究工作 31嘰觐詿缧铴嗫偽純铪锩 6 2 进一步的工作 31熒绐譏钲鏌觶鷹緇機库 致 谢 32鶼渍螻偉阅劍鲰腎邏蘞 参考文献 33纣忧蔣氳頑莶驅藥悯骛 1 第一章 绪论 1 1 引言 2007 年 11 月 5 日 Google 公司与 33 家手机厂商 包括摩托罗拉 三星 宏达 LG 等 手机芯片供应商 移动运营商建立了开放手机联盟 OHA Open Handset Alliance 同时发布了名为 Android 的智能手机平台 自此 Android 走进了人们的视线 同时其平台化的优势也大大丰富各种手段式设备软件的功 能 本文着重对 Android 系统构架 Android 应用程序的开发环境配置及基本 组件进行研究 最后在 Android 平台上实现了照片分享的功能 颖刍莖蛺饽亿 顿裊赔泷 1 2 论文研究背景 如今 手机服务除了发送短信外 还提供给你更多的功能 例如聊天 博 客 手机照片上传等业务 许多新型的方法都可以用来分享你的照片 濫驂膽閉驟羥闈詔寢賻 Android 是一种基于 Linux 的自由及开放源代码的操作系统 主要使用于便 携设备 如智能手机和平板电脑 主要支持手机 2005 年由 Google 收购注资 并组建开放手机联盟开发改良随后 逐渐扩展到平板电脑及其他领域 2008 年 10 月第一步 Android 智能手机发布 2011 年第一季度 Android 在全球的市场 份额首次超过塞班系统 跃居全球第一 2012 年 11 月数据显示 Android 占全球 智能手机操作系统市场 76 的份额 中国市场占有率为 90 搭载 Android 智能 系统的手机越来越不像 手机 更像是一台小型电脑 随着经济的发展 社会 的进步 科学技术的不断提高 手机系统日渐成熟 智能手机越来越深入到我 们日常的学习 工作及生活中 成为我们不可缺少的辅助工具 其强大的功能 已为人们深刻认识 它已进入人类社会的各个领域 如炒股 娱乐 视频聊天 以及上网冲浪等 在信息高速化的今天 智能手机将成为人类不可或缺的工具 銚銻縵哜鳗鸿锓謎諏涼 2 Android 的手机一般都带有高分辨率的摄像头以提供用户进行拍照 相信 朋友们的手机中一定有不少的照片 下面这个应用程序可以浏览手机中的照片 还可以分享喜欢的照片给朋友 挤貼綬电麥结鈺贖哓类 一款专业的照片分享软件是手机中必不可少的要素 几乎市场上所有的手 机都拥有一个浏览图片软件 通过软件可以对照片中一些必要的元素进行人性 化的设置 同时在操作的时候也能得到一定的便利 但是不能满足用户的所有 要求 所以网上就出现了各种各样的照片分享软件 来满足不同用户的不同要 求 不同手机平台的手机 所支持的照片分享软件也是各不相同 而现在最流 行的手机平台就是 google 的 android 手机平台 所以本课题就致力于开发出一 款基于 android 手机平台的照片分享软件 来满足用户的使用需求 赔荊紳谘侖驟 辽輩袜錈 1 3 论文的目的 研究内容和意义 Android 的手机一般都带有高分辨率的摄像头以提供用户进行拍照 相信 朋友们的手机中一定有不少的照片 下面这个应用程序可以浏览手机中的照片 还可以分享喜欢的照片给朋友 塤礙籟馐决穩賽釙冊庫 一款专业的照片分享软件是手机中必不可少的要素 几乎市场上所有的手 机都拥有一个浏览图片软件 通过软件可以对照片中一些必要的元素进行人性 化的设置 同时在操作的时候也能得到一定的便利 但是不能满足用户的所有 要求 所以网上就出现了各种各样的照片分享软件 来满足不同用户的不同要 求 不同手机平台的手机 所支持的照片分享软件也是各不相同 而现在最流 行的手机平台就是 google 的 android 手机平台 所以本课题就致力于开发出一 款基于 android 手机平台的照片分享软件 给大家分享生活的乐趣带来更多的 方便 裊樣祕廬廂颤谚鍘羋蔺 1 4 论文结构安排 论文将按照下面的描述进行内容的安排 第一章引言 简要介绍了 Android 技术的发展 指出了课题研究的背 景 意义和主要内容 3 第二章 Android 应用软件开发的核心技术 及搭建环境 如 Android 应 用程序组件 数据库技术做了分析和探讨 仓嫗盤紲嘱珑詁鍬齊驁 第三章描述了软件需求 明确了软件开发的目标 描述了软件的层次结 构 第四章照片分享系统的设计与实现 介绍了显示照片 分享照片 读取 手机通讯录部分功能以及发送到指定邮箱的实现 绽萬璉轆娛閬蛏鬮绾瀧 第五章软件测试 描述了对该照片分享系统进行的测试 说明了测试的 测试环境 测试方法并记录了测试结果 第六章总结了本课题的研究工作 提出了今后进一步工作的方向 4 第二章 Android 应用软件开发技术原理 2 1 Android 应用软件开发的核心技术 2 1 1 Android 应用开发语言 Java 是 Android 上的主流开发语言 各种支持也最完善 Android 发 布的 API 和 SDK 也都主要是面向 Java 开发人员的 我们的照片分享也是用 Java 开发的 骁顾燁鶚巯瀆蕪領鲡赙 2 1 2 Android 应用程序组件 Android 应用程序最大的一个特点就是每个应用都由若干组件构成 而且 各个应用程序的组件还可以相互调用 需要在代码中设置相应权限 例如假 设我们需要编写一个内嵌有网页的程序 那么我们无需亲自编写浏览器 而是 可以直接调用系统自带的 Chrome Lite 浏览器组件 又如假设我们编写了两个 应用程序 其中一个程序中有列表显示图片的组件 那么我们在另外一个应用 程序中就可以使用该组件 而不需要再编写该功能 也就是说 不同于我们平 常编写的程序 Android 的应用程序不是单一入口 而是可以从代码的不同位 置启动 这就要依靠组件来实现 瑣钋濺暧惲锟缟馭篩凉 Android 应用程序的组件有以下四种 1 Activities 一个 activity 实际上表现出来的就是一个程序的界面 这个界面可能有许 多种不同的形式 比如有列表形式 有文字形式 有图像格子等形式 一个应 用程序也可能有不止一个 activity 比如一个短消息的程序 需要有列表显示 所有消息的 activity 还至少需要一个编辑短消息的 activity 界面 还可 5 能需要设置 菜单等界面 鎦诗涇艳损楼紲鯗餳類 每个 activity 都有一个默认的窗口用于绘制界面 一般情况下 它是充满 全屏的 但是我们可以通过程序控制它 使其小于屏幕大小 也可以控制其浮 动于其它窗口之上 如 Android 中的 Toast 信息 Activity 中显示出来的内 容其实是由 view 堆叠形成的 view 是由 View 基类派生出来的各种形式的界面 元素 如 ListView GridView 等等 通过组合这些 view 就形成了一个可见的 activity 我们可以用 Activity setContentView 方法来设置一个 activity 中所要显示的 view 栉缏歐锄棗鈕种鵑瑶锬 2 Services service 是一种没有界面的组件 同我们平常在 Windows 或 Linux 系统中所 理解的 服务 一样 Android 上的 service 也是运行在后台的 运行时间可 以从系统启动到系统关闭为止 对于许多应用程序来说 service 组件是至关 重要的 以下载管理器为例 用户肯定希望能够在切换到其它程序时仍然在后 台进行下载 这就需要用到 service 完成下载工作 而显示下载进度 已下载 文件等信息则由 activity 完成 同时我们还希望能控制下载过程 如停止 继 续等 这就需要 activity 与 service 之间进行通信 Android 允许 activity 连接到或者绑定到 service 上 这样就可以让用户在界面上控制后台 service 的行为 辔烨棟剛殓攬瑤丽阄应 3 Broadcast receivers Broadcast 意为广播消息 Android 系统自身会发出许多广播消息 如电量 不足 用户修改了全局设置等 各个应用程序也以向整个系统广播消息 如文 件下载完毕等 峴扬斕滾澗辐滠兴渙藺 Broadcast receiver 则是程序中专门用来接收广播消息的组件 它没有界 面显示 只负责监听 接收广播消息 然后根据程序逻辑 启动其它组件去处 理广播消息 它可以启动一个 activity 来同用户交互 也可以使用 NotificationManager 向用户发出通知 NitificationManager 的通知形式有许 多种 比如说振动 响铃 闪 LED 灯 还可以在 Android 界面的消息栏处显示 信息 詩叁撻訥烬忧毀厉鋨骜 4 Content providers 6 content provider 是一种为其它应用程序提供数据的组件 这些数据可以 保存在文件中 也可以保存在 SQLite 数据库中 还可以以其它任何有效的方式 保存 ContentProvider 类为我们提供了一系列保存数据的方法供我们调用 可以很方便地存储数据 其它应用程序在需要使用这些数据时 可以用 ContentResolver 对象 使用其中的方法 ContentResolver 可以与任何 content provider 交互 获取其中的数据 则鯤愜韋瘓賈晖园栋泷 只要需要某个组件 Android 就会尽力保证它的可用 如果该组件还没启动 就启动它 如果该组件所属的应用程序还没拥有一个进程 则为它启动一个进 程 如果系统资源不足以容纳一个新的进程 则将后台的某个进程杀死为新进 程腾出资源 胀鏝彈奥秘孫戶孪钇賻 2 1 3 Intent 介绍 Android 中提供了 Intent 机制来协助应用间的交互与通讯 Intent 负责对 应用中一次操作的动作 动作涉及数据 附加数据进行描述 Android 则根据 此 Intent 的描述 负责找到对应的组件 将 Intent 传递给调用的组件 并完 成组件的调用 Intent 不仅可用于应用程序之间 也可用于应用程序内部的 Activity Service 之间的交互 因此 Intent 在这里起着一个媒体中介的作用 专门提供组件互相调用的相关信息 实现调用者与被调用者之间的解耦 鳃躋峽 祷紉诵帮废掃減 2 1 4 AndroidManifest xml 文件 在 Android 启动某个程序之前 它得事先知道程序中有哪些组件 因此 apk 文件中需要有一些描述信息 告知 Android 系统 这个任务就由 AndroidManifest xml 文件完成 稟虛嬪赈维哜妝扩踴粜 AndroidManifest xml 文件是一个结构化的 XML 文件 它除了包含有各个组件 的信息 还包括许多其它的信息 如声明该程序所需要用到的库 声明所需要 的权限等 它的基本样式如下所示 陽簍埡鲑罷規呜旧岿錟 7 在 Android 启动某个程序之前 它得事先知道程序中有哪些组件 因此 apk 文件中需要有一些描述信息 告知 Android 系统 这个任务就由 AndroidManifest xml 文件完成 钡嵐縣緱虜荣产涛團蔺 AndroidManifest xml 文件是一个结构化的 XML 文件 它除了包含有各个组件 的信息 还包括许多其它的信息 如声明该程序所需要用到的库 声明所需要 的权限等 它的基本样式如下所示 懨俠劑鈍触乐鹇烬觶騮 不难看出 name icon lable 这些属性就分别指 activity 的名称 图标 标识 我们通过 manifest 描述程序的信息 Android 系统就能读取出来并产生相应的行 8 为 在 Android 启动某个程序之前 它得事先知道程序中有哪些组件 因此 apk 文件中需要有一些描述信息 告知 Android 系统 这个任务就由 AndroidManifest xml 文件完成 呙铉們欤谦鸪饺竞荡赚 AndroidManifest xml 文件是一个结构化的 XML 文件 它除了包含有各个组件 的信息 还包括许多其它的信息 如声明该程序所需要用到的库 声明所需要 的权限等 它的基本样式如下所示 莹谐龌蕲賞组靄绉嚴减 不难看出 name icon lable 这些属性就分别指 activity 的名称 图标 标识 我 们通过 manifest 描述程序的信息 Android 系统就能读取出来并产生相应的行为 2 2 数据库技术納畴鳗吶鄖禎銣腻鰲锬 2 2 1 创建数据库 Android 提供了标准的数据库创建方式 继承 SQLiteOpenHelper 实现 onCreate 和 onUpgrade 两个方法 有个好处就是便于数据库版本的升级 连 接数据库的算法如下 風撵鲔貓铁频钙蓟纠庙 public DBHelper Context context 创建数据库 super context DATABASE NAME null DATABASE VERSION 灭嗳骇諗鋅猎輛觏馊藹 9 public void onCreate SQLiteDatabase db 创建时调用 db execSQL DATABASE CREATE public void onUpgrade SQLiteDatabase db int oldVersion int newVersion 铹鸝饷飾镡閌赀诨癱骝 版本更新时调用 db execSQL DROP TABLE IF EXISTS File Table onCreate db Override 在 ContextProvider 运行时自动创建数据库 public boolean onCreate dbOpenHelper new DBHelper getContext return true 数据库如果创建不成功则抛出 FIleNotFoundException 异常 2 2 2 操作数据库 Android 对数据库的操作主要有插入 删除 更新 查询操作 在进行任何 操作时都必须指定一个 Uri 才能对相应的表进行数据操作 攙閿频嵘陣澇諗谴隴泸 数据库删除操作 Override public int delete Uri arg0 String arg1 String arg2 趕輾雏纨颗锊讨跃满賺 SQLiteDatabase db dbOpenHelper getWritableDatabase 夹覡闾辁駁档 驀迁锬減 try Db delete FileColumn TABLE arg1 arg2 catch Exception ex ex printStackTrace 10 return 1 Override 数据库插入操作 public Uri 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 数据库更新操作 Override public int update Uri uri ContentValues 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 游标类指向数据表中的某一项 然后进行查询数据 用 11 Log 日志显示出来 Override 数据库查询操作 public 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 null null sortOrder return cur 嵝硖贪塒廩袞悯倉華糲 2 3 用户界面 UI 设计技巧 2 3 1 关注用户 1 了解你的用户 年龄 技能 文化 对你的应用需求 使用的设备 以及何时何地如火热使用设备 2 用户优先 的设计心态 用户通常是任务导向的行为模式 在做 设计以前一定要做大量的调查 只有这样才能真正了解用户的行为 才能在 设计的时候以用户为中心 该栎谖碼戆沖巋鳧薩锭 3 更早更频繁地由真实用户来测试 一个 UI 设计的好坏最终的评价者 还是用户 所以 在你设计完成以后 一定要尽快一些实际的用户来帮助你 测试一下你的 UI 然后 可以根据用户的反馈更好的改进UI 劇妆诨貰攖苹 埘呂仑庙 2 3 2 显示正确的内容 1 最常用的操作需要最快地被用户看到并且可用 2 不太常用的功能可以放到菜单里 在大多情况下 在做UI 设计的时 候 总是觉得哪一个功能都是有用的 这时候 应该去咨询一下你的用户 询问一下看看他们的常用功能是什么 然后在结合UI 的美观设计出一个 12 优秀的 UI 来 臠龍讹驄桠业變墊罗蘄 图 2 1 2 3 3 给予用户适当的回馈 1 交互式的 UI 元素最少需要反应出 4 种不同的状态 default disabled focused pressed 这样会使用户在使用 UI 元素的时候 知道元素的状态 并根据当前状态做进一步的操作 鰻順褛悦漚縫冁屜鸭骞 2 保证操作的结果是清晰可见的 这条准则告诉我们 必须在用户做完一个 或者相继的几个操作后给出操作结果 想想看 如果你现在正在看本书 然后 你翻了一页 没有什么结果 这是在你原先那一页上 有什么感受呢 穑釓虚绺滟 鳗絲懷紓泺 3 多给用户进度提示 但是不要干扰他们当前的操作 这条原则也很重要 简单地说 在用户不熟悉的过程中 要多给用户相关操作的提示 在用户熟悉 的情况下 所给提示的方式又不会影响他 隶誆荧鉴獫纲鴣攣駘賽 2 3 4 有章可循的行为模式 1 行为模式遵循用户的期望 这条准则就要求我们在设计 UI 的时候要注意 13 让 UI 的设计元素形象化 要注意通用符号的含义 不要更改人们已经设定的标 准 比如说红十字不要用来表示可选按钮 浹繢腻叢着駕骠構砀湊 2 使用合适的方式来加强功能可见性 这条准则是显而易见的 可点击的一 定要做的像可点击的元素 不要非把一个按钮做成一个可以编辑文本的 UI 元素 鈀燭罚櫝箋礱颼畢韫粝 3 如果用户完成一项任务需要复杂的操作 重新思考你的设计 这条准则说 明 一定要清楚简单地完成用户的主要任务 但是对于一些对系统有威胁的操 作除外 惬執缉蘿绅颀阳灣熗鍵 如果设计的UI能够符合大部分的准则 那么这个UI 就是个很优秀的设计 2 4 Android 应用开发平台的搭建 2 4 1 计算机配置 开发 Android 应用所用到的开发工具较占内存 尤其是模拟器 官方并未 给出最低配置要求 根据个人实际体会 在本人 Intel corei5 双核及 2G 内存的 情况 基本上能流畅使用 另外还需有 600MB 以上的剩余磁盘空间 官方文 档中的说明 贞廈给鏌綞牵鎮獵鎦龐 2 4 2 下载 SDK 初始包 初始包中有开发 Android 程序所要用到的工具 这些工具包括了从编 译到运行 Android 应用程序所需要的各种工具 因此 事实上最基本的开 发环境至此就已经搭建完整 SDK 的下载地址为 本来官方网站为 但是经常被封锁 该链接更为稳定 嚌鲭级厨胀鑲铟礦毁蕲 2 4 3 安装 ADT 按照 2 2 2 安装完 SDK 初始包后 就可以开始开发Android 应用程序 了 但是为了更高效地进行开发 Android 团队推出了 Android Development Tools ADT ADT 是目前开发 Android 应用最有效的工 具 它是一个 Eclipse 插件 支持 Eclipse 3 4 及 3 4 以上的版本 以 14 Eclipse 3 5 Galileo 为例 安装过程如下 薊镔竖牍熒浹醬籬铃騫 1 打开 Eclipse 选择 Help Install New Softare 2 在 Available Software 对话框中 点击 Add 3 在弹出的 Add Site 对话框中 任意填写一个名字到Name 一栏 https dl 果在后续的步骤中发现无法安装插件 可以试着把URL 中的 https 换成 http 齡践砚语蜗铸转絹攤濼 4 返回到 Available Software 窗口后 就能看到列表中出现了 Developer Tools 选中它前面的复选框 再点击 Next 就会开始下 载安装 ADT 的各种组件了 绅薮疮颧訝标販繯轅赛 5 安装完毕后将弹出窗口显示ADT 相关的各种信息以及许可协议 点 击 Finish 即可完成安装 6 重新启动 Eclipse 2 4 4 设置 Eclipse 1 选择 Window Preferences 打开偏好设置 2 从左侧边栏中选择 Android 一栏 3 单击 SDK Location 一栏边的 Browse 按钮 选择刚刚下载的 SDK 保存的 路径 4 点击 Apply OK 设置生效 至此 Android 的开发环境就已经搭建完毕 可以使用了 2 5 Android 模拟器中 sd 卡的创建和文件的上传 1 创建一个 SDCard 镜像文件 打开 cmd 进入 Android SDK 安装路径下的 tools 目录下 如你的安装路 径是 E android sdk windows tools 那就输入如下命令 饪箩狞屬诺釙诬苧径凛 15 E 回车 cd android sdk windows tools 回车 mksdcard 1024M sdcard img 该命令会在当前目录下生成一个 sdcard img 文件 该文件是 Android 模拟 器的 SD 卡镜像文件 1024M 表示 SD 卡有 1024M 大小 即 1G 容量 目前 Android 支持 8M 128G 的 SD 卡 烴毙潜籬賢擔視蠶贲粵 2 运行带有 SD 卡的模拟器 创建了 SD 卡镜像文件 只是创建了一个文件 还不能在模拟器中直接使用 要在模拟器加载该 SD 卡 方法 新建模拟器的时候 指定 SD 卡镜像文件的路 径 并且加入对 SD 卡的支持选项打开 eclipse 进入 window android SDK and AVD manager 如下图 鋝岂涛軌跃轮莳講嫗键 在创建的时候 在 SD card 那一栏 选择 file 并将其设置为 sdcard 镜像 文件的路径 点击 hardware 一栏中的 new 选择 SD Card surport 点击 创建 AVD OK 撷伪氢鱧轍幂聹諛詼庞 3 向该 SD 卡中上传文件 16 在 cmd 中 进入 Android SDK 的安装路径下的 tools 目录中 运行命令 adb push E test 3gp sdcard test 3gp 其中 E test 3gp 是本地要上传 的文件 sdcard test 3gp 为上传到 SD 卡中的路径 注意 adb push 电脑路 径 模拟器路径在电脑路径中 必须使用 在模拟器路径中必须使用 并且模拟器的根路径是只读的 踪飯梦掺钓貞绫賁发蘄 4 使用该 SD 卡中的文件 第一种方式 安装文件浏览器可以查看 SD Card 中的内容 浏览器下载地 址 mContext context getContentResolver Override Public void bindView View view Context CONTEXT Cursor sursor 医涤侣綃 噲睞齒办銩凛 获得通讯录人员名字 TextView view setText cursor getString cursor getColumnIndexOrThrow Contacts People NA ME 舻当为遙头韪鳍哕晕糞 Override Public View newView Context context Cursor sursor ViewGroup parent 鸪凑鸛齏嶇烛罵奖选锯 设置通讯录的显示样式 Final LayoutInflater inflater LayoutInflater from context 筧驪鴨栌怀鏇颐嵘悅废 23 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 Override Public String convertToString Cursor cursor Return cursor getString cursor getColumnIndexOrThrow Contacts People NAME 涛 貶騸锬晋铩锩揿宪骟 Override Public Cursor runQueryOnBackgroundThread CharSequence constraint 钿蘇饌華檻杩鐵样说泻 查询通讯录 If getFilterQueryProvider null Return getFilterQueryProvider runQuery constraint 戧礱風熗浇鄖适泞嚀贗 StringBuilder buffer null String args null If constraint null 24 Buffer new StringBuilder Buffer append UPPER Buffer append Contacts ContactMethods NAME Buffer append GLOB Args new String constraint toString toUpperCase 返回查询结果 Return mContent query Contacts People CONTENT URI myshaarePicture PEOPLE PROJECTION buffer null null buffer toString 購櫛頁詩燦戶踐澜襯鳳 args Contacts People DEFAULT SORT ORDER 当然 为了访问网络和读取通讯录 我们必须添加访问网络的权限和访问 通讯录的权限 虚龉鐮宠確嵝誄祷舻鋸 與顶鍔笋类謾蝾纪黾廢 結释 鏈跄絞塒繭绽綹蕴 25 餑诎鉈鲻缥 评缯肃鮮驃 爷缆鉅摯騰 厕綁荩笺潑 4 4 将照片发送给通讯录好友 这里实现的分享照片的控件逻辑 主要是打开图片夹浏览图片和通过邮 件分享图片 还有进行的得到手机上通讯录的信息和发送通讯录到指定的邮 箱的操作 那么怎么实现发送邮件呢 这里使用了第三方的几个包来做了一 个 GMailSender 类 其定义在 GMailSendre java 文件中 代码如下锞炽 邐繒萨蝦窦补飙赝 Public class GMailSendre extends javax mail Authenticator 曠戗輔 鑽襉倆瘋诌琿凤 邮件的服务器 Private String mailhost 邮箱用户名 Private String user 密码 Private String password 事务 Private Session session Public GMailSenfer String user String password 输入用户名和密码 This user user This password password 26 定义一个属性对象 Properties props new Properties 设置属性中的发邮件协议 Props setProperty mail transport protocol smtp 轉厍蹺佥诎脚 濒谘閥糞 设置邮箱主机域名 Props setProperty mail host true 设置认证方式 Props put mail stmp auth true 发起事务 Session Session getDefaultInstance props this 嬷鯀賊沣謁麩 溝赉涞锯 Protected PasswordAuthentication getPasswordAuthentication 讯鎬謾蝈贺綜枢辄锁廪 验证密码 Return new PasswordAuthentication user password 兒躉讀闶 軒鲧擬钇標藪 Public synchronized void sendMail String subject String body String sender String recipienta Throws Exception 发送的消息头 MimeMessage handler new MimeMessage session 设置邮件正文的格式 DataHandler handler new DataHandler New ByteArrayDataAource body getBytes text plain 繅藺詞 嗇适篮异铜鑑骠 指定邮箱地址 sender Message setSender new InternetAddress sender 设置邮箱主题 Message setSubject subject 设置辅助方法 Message setDataHandler handler If recipients index0f 0 Message setRecipients Message RecipientType T0 InternetAddress parse recipients 发送邮件 Transport send message Public class ByteArrayDataSource implements DataSource 鮒簡觸癘鈄 27 餒嬋锵户泼 邮件格式设置类 Private byte data Private string type mySharePicture 类是进行逻辑控制的主类 此类不仅可以浏览图片集 中的图片 还可以分享他们 并且我们还采集了通讯录信息 眯毆蠐謝银癩唠 阁跷贗 Public class mySharePicture extends Activity 要获得通讯录的字段 Public static final String PEOPLE PROKECTTION new String 闵屢螢馳鑷隽劍颂崗鳳 Contacts People ID Contacts People PRIMARY PHONE ID 檁 傷葦开阈灯伞馑諧粮 Contacts People TYPE Contacts People NUMBER Contacts People LABEL Contacts People NAME 联系人记录指针 Private Cursor contactCursor 适配器 Privat ContactsAdapter myContactsAdapter 图片的 Uri Uri uri 隐藏信息的 String hidemsg this is the five contacttres n 鄭饩腸绊頎鎦鹧鲕嘤錳 计数 Int count 0 定义一个新的意图 Intent intent new Intent 打开 Picture 画面 Type 设置为 image Intent setType image 使用 Intent ACTION GET CONTENT 这个 Action Intent setAction Intent ACTION GET CONTENT 获得图片后返回本画面 startActicityForResult intent 1 为分享按钮添加监听借口以及消息处理函数 myButton02 seetOnClickListener new Button onClickListener 弃铀 縫迁馀氣鰷鸾觐廩 public void onClick View arg0 定义一个发送意图 28 Intent it new Intent9Intent ACTION SEND 添加附件 It putExtra Intent EXTRA STREAM uri 添加主题 It putExtra Intent EXTRA SUBJECT 设置类型 It setType audio mp3 悬着客户端软件 startActivity Intene createChooser it 请选择 Email 客户端 软件 调谇續鹨髏铖馒喪劉薮 取得 ContentResolver ContentResolver content getContentResolver 取得通讯录的 Cursor contactCursorcontent query Contacts People CONTENT URI 厲耸紐楊鳝晋 頇兗蓽驃 PEOPLE PROJECTION null null Contacts People DEFAULT SORT ORDER 将 Cursor 传入自己实现的 ContactsAdapter myContactAdapter new ContactsAdapter getBaseContext 苧瑷籮藶 黃邏闩巹东澤 contactCursor 取得 Cursor Cursor c myContactsAdapter getCursor If count c getCount 移到所点击的位置 c moveToPosition count String number c getString c getColumnIndexOrThrow Contacts People NUMBER 鴿摄 禱鋅儀憚銼嚕缗赞 当找不到电话时显示无输入电话 Number number null 无输入电话 number String name c getString c getColumnIndexOrThrow Contacts People NUMBER 箪啬 癲剀净赶钩嬙鳄凫 发送的隐藏信息 Hidemsg hidemsg 联系人 name 电话号码 number n els

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论