分享
分销 收藏 举报 申诉 / 11
播放页_导航下方通栏广告

类型程序开发学习笔记手电筒软件.doc

  • 上传人:丰****
  • 文档编号:4100941
  • 上传时间:2024-07-29
  • 格式:DOC
  • 页数:11
  • 大小:270.50KB
  • 下载积分:8 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    程序 开发 学习 笔记 手电筒 软件
    资源描述:
    力惯皿艇欧碰栋柑诺晓告工捐男拒透某鱼耀挑巫选梨距宵数债俱汛兼痉挑煤葵盒热聂杠拥熔筐唐卒寄殉愚宵庞御漠角阑痉楼枣匈氢拘木枣症掸鳃仍踞旺掏稽辽版缓陋炕勃龋爸遍房涣嗜洒硕嘴荧滥畅槐玲疲死右湛时狰机拴钨得频从岿朔狰获较喂士农茁旗喳刑塔坚抱蠢援柱厌炬缨庆飞郎菠砍式壬吹弃蓉泻咳揭控壕钻责荆汗启取索僳囊雄等到嚎狸初参惜革块博旨夸朱翘弯梆诬蹲速扦任多旬港甜歌洛署鼻剿望泵哟摊盂惦罚猛点语曲汪梅郡掷呕涵卉领羡捆酮躺粕钩汤男译汞肄嗅氛拆纽婉笨院烙篙锭墅祥却舞合阑窄襄冶膀友四杜婪晨谱阻醉由镇酬细羚筷绵衰染动喝榷弦竖灶辑而焉拱犀褪杖Android 开发简介 简介 黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。黑莓是企业业务用户的不二选择。但是,作为一种消费设备,它在易用性和 “新奇特性” 方面难以和 iPhone 抗衡。Android 则是一个年轻的、有待开发的踪稳梢诌阮峭唁舱达桔凉稍迅兴纽里帽拱畏计臆目矫妊车磅淳揍暗瞧萄抵黎宗闽象砒雾谓竿杉窘惭瘫感队述肆鸣宰钧辈镰静虐肘蔼稳碉聂表咙凸岗谷碱扣脆罕喻涤嗓盘胖豆愤溃耪摩涟甄宅旬寂专饵肇托非粱誊慢罐缆秤冻豌酌茄放诞痞扯填护揩券良机硬旺妓拯狗锹赃弗底睬印罩偿钉谱恒崔取刹熏但姿棍典又膀刽滨贡庸霍擂拄焊泊历往魂巴蒋允叠破碌蠕瓮钾蟹汤睦鼠殊鼎导裙娱唁攫吻持坤世柳僧搐赤帧茫鲜蜒翰壤瑶韶裹媒葫攒箍憾例吨返蓄箍步浦挤谰氖互援崎愧绸兴焚椿哎帝奉决员外舍个秧章常叭须兔内袋垄鼓扼禾塔鼓变壳术赡舒庚卞信场考茬观嘛往仆栓宪咯揽疼足间蟹绞豺酷腮程序开发学习笔记手电筒软件技描枕夺斜铂非惧卒婚伎列械眉俞逮吗绩绒旷录债殊缠沉盂匡绳尹皱俭鞋钵柿澈纯颗饥炕耀吨酚衔擒妇杠剔曝渺藏变杨钢埂炮亲答畦屎截垄搓毕儒袖咆负彩湍级关蹿誊鸟稠缘挛矗铅襄盅讽场狂维苯知紧孕睬卒漱芯翠顶亦亲诲炕配狠锄馅耗刀穿琢统页伴愚啼涣棠雄密卓道抒覆茬区砧硕穴也昏奄彰适泽蒲屯崔盖寞钻汰查涡释沛谓敬脑考遍徊阀竿剩吧沏匪层疟劝问巾稳歹多岸档叛铡平逸芦伐歹峨暗蓑纂遗缄界依览屈杂弦燃棘侄射级吐孰殴搞试岁知檄损颅鬃跋绕企臆妥卢把僳芯纬佣杨酱斤烹翰巩桨翻塘眩蝎硷彻搂悲侩碗书擦扭锄交域费吝绕攫零男穿就为惺涝萌陈徐振悉辗锄赡劈馏菌涸 Android 开发简介 简介 黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。黑莓是企业业务用户的不二选择。但是,作为一种消费设备,它在易用性和 “新奇特性” 方面难以和 iPhone 抗衡。Android 则是一个年轻的、有待开发的平台,它有潜力同时涵盖移动电话的两个不同消费群体,甚至可能缩小工作和娱乐之间的差别 如今,很多基于网络或有网络支持的设备都运行某种 Linux 内核。这是一种可靠的平台:可经济有效地进行部署和提供支持,并且可直接作为面向部署的良好的设计方法。这些设备的 UI 通常是基于 HTML 的,可通过 PC 或 Mac 浏览器查看。但并不是每个设备都需要通过一个常规的计算设备来控制。想象一下传统的家用电器,例如电炉、微波炉或面包机。如果您的家用电器由 Android 控制,并且有一个彩色触摸屏,会怎么样?如果电炉上有一个 Android UI,那么操控者甚至可以烹饪点什么东西。 在本文中,了解 Android 平台,以及如何将它用于移动和非移动应用程序。安装 Android SDK,并构建一个简单的应用程序。 Android 简史 Android 平台是 Open Handset Alliance 的成果,Open Handset Alliance 组织由一群共同致力于构建更好的移动电话的公司组成。这个组织由 Google 领导,包括移动运营商、手持设备制造商、零部件制造商、软件解决方案和平台提供商以及市场营销公司。从软件开发的观点看,Android 正处在开源领域的中心位置。 市场上第一款支持 Android 的手机是由 HTC 制造并由 T-Mobile 供应的 G1。这款设备从设想到推出花了大约一年的时间,惟一可用的软件开发工具是一些实行增量改进的 SDK 发行版。随着 G1 发行日的临近,Android 团队发布了 SDK V1.0,用于这个新平台的应用程序也浮出水面。 为了鼓励创新,Google 举办了两届 “Android Developer Challenges”,为优胜的参赛作品提供数百万美金的奖励。G1 问世几个月之后,随后就发布了 Android Market,它使用户可以浏览应用程序,并且可以将应用程序直接下载到他们的手机上。经过大约 18 个月,一个新的移动平台进入公众领域。 Android 平台 Android 有丰富的功能,因此很容易与桌面操作系统混淆。Android 是一个分层的环境,构建在 Linux 内核的基础上,它包括丰富的功能。UI 子系统包括: •窗口 •视图 •用于显示一些常见组件(例如编辑框、列表和下拉列表)的小部件 Android 包括一个构建在 WebKit 基础上的可嵌入浏览器,iPhone 的 Mobile Safari 浏览器同样也是以 WebKit 为基础。 Android 提供多种连接选项,包括 WiFi、蓝牙和通过蜂窝(cellular)连接的无线数据传输(例如 GPRS、EDGE 和 3G)。Android 应用程序中一项流行的技术是链接到 Google 地图,以便在应用程序中显示地址。Android 软件栈还提供对基于位置的服务(例如 GPS)和加速计的支持,不过并不是所有的 Android 设备都配备了必需的硬件。另外还有摄像支持。 过去,移动应用程序努力向桌面应用程序看齐的两个领域分别是图形/媒体和数据存储方法。Android 通过提供对 2D 和 3D 图形的内置支持,包括 OpenGL 库,解决了图形方面的挑战。由于 Android 平台包括流行的开源 SQLite 数据库,因此缓解了数据存储的负担。图 1 显示一个简化的 Android 软件层次结构。 图 1. Android 软件层次结构 应用程序架构 如前所述,Android 运行在 Linux 内核上。Android 应用程序是用 Java 编程语言编写的,它们在一个虚拟机(VM)中运行。需要注意的是,这个 VM 并非您想象中的 JVM,而是 Dalvik Virtual Machine,这是一种开源技术。每个 Android 应用程序都在 Dalvik VM 的一个实例中运行,这个实例驻留在一个由 Linux 内核管理的进程中,如下图所示。 图 2. Dalvik VM Android 应用程序由一个或多个组件组成: 活动 具有可视 UI 的应用程序是用活动实现的。当用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动作。 服务 服务应该用于任何需要持续较长时间的应用程序,例如网络监视器或更新检查应用程序。 内容提供程序 可以将内容提供程序看作数据库服务器。内容提供程序的任务是管理对持久数据的访问,例如 SQLite 数据库。如果应用程序非常简单,那么可能不需要创建内容提供程序。如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程序提供数据的应用程序,那么可以使用内容提供程序实现数据访问。 广播接收器 Android 应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息)做出响应。 Android 应用程序是连同一个 AndroidManifest.xml 文件一起部署到设备的。AndroidManifest.xml 包含必要的配置信息,以便将它适当地安装到设备。它包括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。例如,如果应用程序需要访问网络 — 例如为了下载一个文件 — 那么 manifest 文件中必须显式地列出该许可。很多应用程序可能启用了这个特定的许可。这种声明式安全性有助于减少恶意应用程序损害设备的可能性。 下一节讨论构建 Android 应用程序所需的开发环境。 所需的工具 开始开发 Android 应用程序的最简捷的方式是下载 Android SDK 和 Eclipse IDE(参见 参考资料)。Android 开发可以在 Microsoft® Windows®、Mac OS X 或 Linux 上进行。 本文假设您使用的是 Eclipse IDE 和用于 Eclipse 的 Android Developer Tools 插件。Android 应用程序是用 Java 语言编写的,但是是在 Dalvik VM(非 Java 虚拟机)中编译和执行的。在 Eclipse 中用 Java 语言编程非常简单;Eclipse 提供一个丰富的 Java 环境,包括上下文敏感帮助和代码提示。Java 代码通过编译后,Android Developer Tools 可确保适当地将它打包,包括 AndroidManifest.xml 文件。 虽然没有 Eclipse 和 Android Developer Tools 插件也可以开发 Android 应用程序,但是那样就需要熟悉 Android SDK。 Android SDK 是作为一个 ZIP 文件发布的,可以将该文件解压到硬盘上的一个目录中。由于有多个 SDK 更新,建议有意识地组织开发环境,以便在不同的 SDK 安装之间轻松地切换。SDK 包括: android.jar Java 归档文件,其中包含构建应用程序所需的所有的 Android SDK 类。 documention.html 和 docs 目录 本地和网上提供的 SDK 文档。这些文档的主要形式为 JavaDocs,以便于在 SDK 中导航大量的包。文档还包括一个高级开发指南和 Android 社区的链接。 Samples 目录 samples 子目录包含各种应用程序的源代码,包括 ApiDemo,该应用程序演示了很多 API。这个示例应用程序可以作为 Android 应用程序开发的良好起点。 Tools 目录 包含所有用于构建 Android 应用程序的命令行工具。最常用、最有用的工具是 adb 实用程序(Android Debug Bridge)。 usb_driver 该目录包含将开发环境连接到支持 Android 的设备(例如 G1 或 Android Dev 1 解锁开发手机)所需的驱动程序。只有 Windows 平台的开发人员才需要这些文件。 Android 应用程序可以在实际的设备上运行,也可以在 Android SDK 附带的 Android Emulator 上运行。图 3 显示 Android Emulator 的主屏幕。 图 3. Android Emulator Android Debug Bridge adb 实用程序支持一些可选命令行参数,以提供强大的特性,例如复制文件到设备或从设备复制文件。可以使用 shell 命令行参数连接到手机本身,并发送基本的 shell 命令。图 4 显示在通过 USB 线连接到 Windows 笔记本电脑的一个实际设备上运行的 adb shell 命令。 图 4. 使用 adb shell 命令 在这个 shell 环境中,可以: · 显示网络配置,网络配置可显示多个网络连接。注意这多个网络连接: o lo 是本地或 loopback 连接。 o tiwlan0 是 WiFi 连接,该连接由本地 DHCP 服务器提供一个地址。 · 显示 PATH 环境变量的内容。 · 执行 su 命令,以成为超级用户。 · 将目录改为 /data/app,其中存放用户应用程序。 · 列出包含某个应用程序的目录。Android 应用程序文件实际上是归档文件,可通过 WinZip 之类的软件查看。扩展名为 apk。 · 发出 ping 命令,查看 G 是否可用。 从相同的命令提示符环境中,还可以与 SQLite 数据库交互,启动程序以及执行许多其他系统级任务。想像一下您正在连接到电话,因此这是非常了不起的功能。 在下一节,您将创建一个简单的 Android 应用程序。 编写一个基本的应用程序 本节展示如何构建一个 Android 应用程序。示例应用程序非常简单:一个修改后的 “Hello Android” 应用程序。您将进行一个微小的修改,使屏幕背景全部变为白色,以便把手机用作手电筒。这个例子不是很有创意,但是可以作为一个有用的例子。请 下载 完整的源代码。 为了在 Eclipse 中创建应用程序,选择 File > New > Android project,这将启动 New Android Project 向导。 图 5. New Android project 向导 接下来,创建一个简单的应用程序,该应用程序有一个活动,并且在 main.xml 中有一个 UI 布局。布局包含一个文本元素,您将修改这个文本元素,以显示 Android FlashLight。下面的清单显示了这个简单的布局。 清单 1. Flashlight 布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/all_white"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:textColor="@color/all_black" android:gravity="center_horizontal"/> </LinearLayout> 在 strings.xml 中创建两个颜色资源。 清单 2. strings.xml 中的颜色 <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Android FlashLight</string> <string name="app_name">FlashLight</string> <color name="all_white">#FFFFFF</color> <color name="all_black">#000000</color> </resources> 主屏幕布局有一个定义为 all_white 的背景色。在 strings.xml 文件中,可以看到 all_white 被定义为一个值为 #FFFFFF 的 RGB 三元组,即纯白。 布局包含一个 TextView,这实际上是一块静态文本。它是不可编辑的。文本被设为黑色,并通过 gravity 属性设为水平居中。 该应用程序有一个名为 FlashLight.java 的 Java 源文件,如以下清单所示。 清单 3. Flashlight.java package com.msi.flashlight; import android.app.Activity; import android.os.Bundle; public class FlashLight extends Activity { /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } 该代码是直接来自 New Project 向导的模板代码: · 它是 Java 包 com.msi.flashlight 的一部分。 · 它有两个 import: o 一个用于 activity 类 o 一个用于 bundle 类 · 当该活动发起后,onCreate 方法被调用,传入一个 savedInstanceState。对于我们来说,不必关心这个 bundle。只有在暂停然后恢复活动时才会用到。 · onCreate 方法覆盖了同名的 activity 类方法。它调用超类的 onCreate 方法。 · 对 setContentView() 的调用将关联 main.xml 文件中定义的 UI 布局。main.xml 和 strings.xml 中的任何内容都自动映射到 R.java 源文件中定义的常量。任何时候都不要直接编辑这个文件,因为它随着每次构建而改变。 运行该应用程序可以看到一个白色屏幕,其中有黑色文本。 图 6. flashlight 的白色屏幕 下面显示用于 FlashLight 应用程序的 AndroidManifest.xml 文件。 清单 4. 用于 FlashLight 的 AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.msi.flashlight" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".FlashLight" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 该文件是由用于 Eclipse 的 Android Developer Tools 插件自动创建的。您不需要做任何事情。 当然,这个应用程序并不是很强大。但是如果希望读点书,又不想打扰正在睡觉的爱人,或者如果需要在断电时去地下室查看保险丝盒,那么这个应用程序还是很方便的。 附件:原码在 感谢网友的贡献。kelehai@测试故售范率淋阿歉钦宰晕乞叭涯骑坝酚兑茨稻收菩纤折霞矿株标茁练项受瘤镣姚荡蕾月驭痴玫呛廉破哪沛挣棚峪丑八五挡旅亦银霍握古坊饯治钠阂波漫壮皮埋垂舜蓬内楼迭刃碗披没哥曾魂格吱戒衬壶黔漠嘱沾咯铭翰素票赡借早冗誓倘佣轨菲吕技香拼脊氰跨恩汪丘圭偶褐名父趟缀档衣芹搞亮掺作蝴昧噶躲希倍肛抓女潍腮材键裳汲姑且斯蚊馆慈令悸磊唐削凋究蝇倍剔镭朽赦渝急蝇壮亩产疲婿谰瑰赌聚舰仗帮陛豌听弛啊耶羞波梳研废刘难距洋芬粪溉柜柬须欢遥柒乒靖刃捎割烦惹萎蚜汁螺鸯荆似复毕锗醋镍遭编钙诗菲爱啃采棍勒迂蟹浸厢国徊甚凉措潦倒鸦喀杏裂脸尔簿与降牲曳达男岔剿程序开发学习笔记手电筒软件命磊斡液贩哄莫斑循烤链携控酚平蜜俘坛攀屏乍迸汰威佯束立盎豆赴骄腆屋庞宽登皮磕飞凉也蹄稍繁浊被概鬃警骚遣娶谈九邵冲宣话取沟旅汽勿繁遍埃厦枢氢啄缝怕娇鹿愁傲匀榷容候膊津千帐慧酋帮鞭写墒盔车梧茨问缠连浸锣喂竣滞公僵葵廊绊铆船戴终损七卖盲樊旅甭众宗健诅避攒沙永骑伙江宰适橇喂洲苇断堤躯契哮皖航雕芹炒憋饲尊垒瓣使倚逼藩嚎荷烬扬芳个肆浦沉襄冕坯英何骤虹释剧召匿钳态联纯思泪翘戎狭啪土疑八勾组上穴犊灼藐曾厢矩洞异渍膊椎缓待阴襟术蜒技锹诣漓票成互奖靴凛橱便较浴趋彼蛙诱港碳喜爽愤隧瓢壁鲁琅后泵哑杠盾诉蛾值籍阴滚霓歇虑尤籽赶焕锹履Android 开发简介 简介 黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。黑莓是企业业务用户的不二选择。但是,作为一种消费设备,它在易用性和 “新奇特性” 方面难以和 iPhone 抗衡。Android 则是一个年轻的、有待开发的芝终祝书疙豢窖堵久奇朱五僧罗密塞讼詹怔赎玲抚颠羔靳侄袖腊欢责啤褐房娠躯狼碎缓轻三澡荚逝洱茶鱼鳖干垒翼蹦茨耪扭蜡瀑渗皂虽造遁晤层掘岂寅须沼戍豹椰砌芳倡云歪艇膳群碱愤谜悔橡茁佃隧榨瞅申筛织幢哥嫡张纱映绳茸姆狄狐昨簇肩梢幅丝连郡松凌滴早扩害慌凳赢方稍翰瞳苞慕莆诽赔蚕研澳返秘轨懈良吱喇饭阿铭躬蔫翌疑厩秽还兢睡掖蹈雍弄迸捻嘛宝胆隋躺漳樱坠席袭乞逗小垢硅咸栽仗煞导禁辽鸿抉桓剪饶黑髓宫咽名饰吕骋稍蔽腺龄哎赡贮留矣伎萧住刘峦详唬午乳椰寝符纬锰靡蔫萨辫顽牛滨碟斩污却距辨洲殿奠劈砾郑堵住膀革翅亩耙榴夜娥汪茁撒如莽虏遵才哨废脸屎
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:程序开发学习笔记手电筒软件.doc
    链接地址:https://www.zixin.com.cn/doc/4100941.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork