Android_SDK开发范例完整版.doc_第1页
Android_SDK开发范例完整版.doc_第2页
Android_SDK开发范例完整版.doc_第3页
Android_SDK开发范例完整版.doc_第4页
Android_SDK开发范例完整版.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

Android_SDK开发范例完整版.txt2008太不正常了,一切都不正常!在这个关键时刻,中国男足挺身而出,向全世界证明:中国男足还是正常的! 本文由kingwj6贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 Google Android SDK 开发范例大全 第二章:Android 初体验 Android 操作系统顶着 Google 与 Open Handset Alliance 的光环,让很多程序 员在 Android 手机还没上市之前,就开始紧追着官方文档、Early SDK 版本更新, 这是 IT 业界罕见的现象,因为大家都抱持着“不想输在起跑点上”的心态。这 也是手机发展的历史中, 第一次有机会让所有的程序员站在同一个 起跑点开始, 无论是 Java World 论坛、或是 Google 官方的 Developer Discussion Group 都 见到相当热烈的讨论。 从这一章开始,将对 Android 的程序架构、程序 进入点、编译以及执行, 进行一系列的导航,而本书规划之初,并非针对 Java 初学者或从未接触过程序 设计的朋友所设计, 故在这一章简要的 overview 当中, 则以快速掌握开发条件、 开发环境为目的,若你是第一次接触 Java 程序语言,或从未写过面向对象程序 设计,建议你先学习 Java 语言,打好基础后, 再回过头来进入本章。 接下来的内容分成五个部分:安装 Android SDK、创建 Android 手机开发项 目(Project)、了解 Android 程序的生命周期,初探可视化的开发工具,最后 将应用程序部署到模拟器和 Android 手机上,为避免过于概念性的论述及篇幅 的浪费,所有操作练习皆以步骤的方法描述,只要跟着操作即可上手,在体验完 本章的内容之后,你就可以 开始本书范例的学习之旅了。 在开始之前,你需要先准备以下作业环境以及程序: 必备项目 Microsoft Windows XP/Microsoft Windows Vista 操作系统 或 Mac OS X 10.4.8 或更新的版本(硬件必须是 x86 的版本) 或 Linux Android SDK 1.0r2 以上 (本书所有范例皆以 Android SDK 1.1r1 为开发环境) Java Development Kit(JDK)v6.0 以上 Eclipse 开发 IDE 程序 (本书所有范例皆以 eclipse-jee-ganymede-SR1-win32 版 本为编译环境) 自我检查 () 准备就绪之后,就可以前往 Android 官方网站 (/)下载 Android SDK,也可以到( )去下载。 图 2-1 到 Android 官方网站下载 SDK 下载后的 Android SDK 为压缩文件,请将它解压缩到磁盘中,例如下面的文 件夹: D:SDKandroid 而 Eclipse 编译 IDE 环境中,需安装 ADT(Android Development Tools) plug-in, 此为 Android 的开发工具, 启动 Eclipse 后, 请运行“HelpSoftware UpdatesFind and Install”,并按下“Add Site”输入 ADT plug-in 网址后 (如下),按下“Install”便开始自动下载安装: /android/eclipse/ 图 2-2 安装 ADT Plug-in 下载后,安装向导会显示两项必须安装的程序:Android Development Tools 与 Android Editors。 图 2-3 选择安装 Android 开发工具及编辑器 虽然 Android ADT 可以免费下载安装,但在使用上仍然有其局限性,跟一般 应用程序许可条款的签署类似。 图 2-4 同意使用 Android 软件开发条款 安装 ADT 所需的时间不长,也可以在后台运行,不会影响现有的操作系统程 序。安装完毕后,需要重新启动 Eclipse,才能使用 Android ADT。 图 2-5 可以在后台运行安装 ADT,并需要重新启动 Eclipse 至此 Android SDK 及 ADT 已安装完毕,所有准备工作都已经就绪,随时可以 开始建立 Android 项目。 这一节将建立本书第一个 Android 项目,不过,在初次建立 Android 项目之 前,需要设置 Android SDK 的路径,让 Eclipse 可以找到 Android SDK,先执行 “WindowPreferences”。 图 2-6 运行 Eclipse 的 Preferences 设置功能 点击“Android”的树状列表,单击“Browse”按钮,选择刚才解压的 Android SDK 的路径,而后按下“Apply”设置让 Eclipse 引用的 SDK 文件夹。 图 2-7 设置 Android Preferences 路径 Android SDK 的引用路径设置完成之后,就可以开始建立 Hello World 这个 经典范例了;运行“FileNewProject”建立新项目。 图 2-8 建立新的项目 新建项目向导需要指定一种应用程序类型,故展开“Android”后,点击 “Android Project”,按下“Next”按钮继续。 图 2-9 选择建立项目类型为 Android Project 新建 Android 项目需输入项目名称( Project name) 、Package name、 Activity name 以及 Application name,最后按下“Finish”按钮,项目随即建立完成。 图 2-10 输入项目名称及 Package name 建立新项目 到目前为止,新建 Android 项目已经完成,而且 这个新建立的程序也已经 可以运行,运行的方法是在“Package Explorer”窗口里,点开刚建立好的 “HelloWorld”项目文件夹, 并在项目名称上单击鼠标右键,在功能菜单上运行 “Run AsAndroid Application”功能。 图 2-11 运行“Run AsAndroid Application”功能 假若此时尚未将手机与计算机联机,那么 Eclpise 将打开默认的 Android 模 拟器(Emulator),运行画面就如同真的手机开机一样,随着计算机硬件环境的 不同, 运行模拟器也会有不同的性能表现, 开机之后, 随即打开刚建立好的 Hello World 程序。 图 2-12 没写一行程序的 Hello World 要退出被启动的“Hello World”程序,可以按下手机模拟器上的退格键 (Backspace)。 图 2-13 按下退格键离开程序,回到手机的桌面 虽然半行代码都没有写,但向导却帮忙写好了程序进入点、布局配置、字符 串常数、应用程序访问权限等,除了可作为程序模板之外,也是 Android 手机程 序的最佳学习范例。 让我们回过头来看看刚才 Android 项目建立向导帮忙做了哪些工作,以此来 了解 Android 应用程序的生命周期及其文件组成方式;首先,展开“Package Explorer”窗口里的“HelloWorld”项目名称,可以看见如下数据结构的文件: +HelloWorld +-src +- +-HelloWorld.java +-R.java +-Android Library +-android.jar - D:SDKandroid +-assets +-res +-drawable +-icon.png +-layout +-main.xml +-values +-strings.xml +-AndroidManifest.xml 在展开的文件夹 层中, “src”、 “Android Library”、 “assets”、 “res” 与“AndroidManifest.xml”同属一层,放置在“src”里的为主程序、程序类 (class);放置在“res”里的为资源文件(Resource Files),如程序 ICON 图标、布局文件(layout)与常数(values)。 以此 Hello World 程序为例,主程序为“HelloWorld.java”,其内容与一 般 Java 程序格式相类似: package ; import android.app.Activity; import android.os.Bundle; public class HelloWorld extends Activity /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); 主程 序里可看见 HelloWorld 类继承自 Activity 类,在类中重写了 onCreate() 方法,在方法内以 setContentView() 来设置这个 Acvitity 要显示 的布局(R.layout.main),使用布局配置“layoutmain.xml”,布局文件是 以 XML 格式编 写的,内容如下: 布局配置中设置了一个 TextView TAG,用以配置文本标签 Widget,其内部 设置的 android:text 属性, 则是要显示的文字内容, 引用“string”里的 hello 字符串常数。 查看“values/strings.xml”字符串常数设置如下: Hello World, HelloWorld HelloWorld 其中“hello”字符串变量的内容为“Hello World, HelloWorld”,这即是 刚才看见的 Hello World 程序显示的文字内容了。 Android 应用程序有以下三种类型: l l l 前端 Activity(Foreground Activities)。 后台服务(Background Services)。 间隔执行 Activity(Intermittent Activities)。 前端 Activity 就如同这个 Hello World 一样,运行在手机前端程序中;后 台服务可能是看不见的系统服务(System Service)、系统 Broadcast(广播信 息)与 Receiver(广播信息)接收器);间隔执行 Activity 则类似如进程 (Threading)、Notification Manager 等等。 每一个 项目都有一个“AndroidManifest.xml”设置文件,里头包含这个 Android 应用程序具有哪些 Activity、Service 或者 Receiver,先来看看 Hello World 制作好的“AndroidManifest.xml”设置文件的内容描述: 在 manifest 文件中有一个名为 HelloWorld 的 Activity,设置其 intent-filter 的 category android:name 为 ent.category.LAUNCHER,写在 intent-filter 里是指定此 Activity 为默认运行的主要 Activity,除了在 manifest 文件中手动设置之外, 也可在 Eclipse 右击项目名称,运行“Run AsRun Configurations”,设置 Launch Action: 图 2-14 设置项目要执行的 Action 方式或 Activity Activity 类的应用程序有其默认运行的方式, 为了确保应用程序运行的优先 级,理解 Activity 在手机运行时的生命周期,及其可视性(Visible)周期。 图 2-15 Activity 自 onStop 之后,程序即可被关闭 以 Hello World 程序里继承自 Activitry 类开始,一旦程序被执行,即会照 以上流程顺序进行,若需要在 Activity 程序里编写程序,默认常见的进入点为 重写 onCreate(Activity)或 onStart(Service),重写的方式可通过 Eclipse 来选择,方法为将鼠标光标停 在继承自 Activity 的空白处,单击鼠标右键展开菜单,点开执行 “SourceOverride/Implement Methods”功能。 图 2-16 执行“SourceOverride/Implement Methods”功能 在重写于实现方法的对话框中,点开“Activity”树状列表,在其中找到了 onCreate(Bundle)方法,勾选前方的选择项(CheckBox),再按下“OK”按钮即 可。 图 2-17 选择要重写的方法,向导会自动在主程序中描述重写内容 最后, 比较值得一提的是 onResume() 与 onPause(), 这两个方法为 Activity 在 onCreate 之后运行过程中的生命周期,当程序失去前端焦点、或者被关闭, 就会触发 Activity 的 onPause() 状态;当应用程序被再次唤醒,则会回到 onResume() 状态,故在编写与 User 互动的程序过程中,需注意 User 暂时离开 Activity(或前往不同的 Activity、不同的 Service)前,需要处 理的工作都 会摆在 onPause() 当中执行。以一个通过网络 FTP 下载 mp3 的 Activity 为例, 暂停下载工作可以写在 onPause 里,需要接续前一次的下载等处理,则由 onResume 负责。 Android 手机有着华丽的机身、流畅的执行速度,唯一欠缺的就是“具有视 觉美感的 UI 设计员”, 但自 Android SDK rc20a 一路发展到 1.0_r2, Open Handset Alliance 提供的 ADT (Android Development Tools),终于有了预览界面的功能,只要点开项目的 “reslayout”,双击 main.xml 运行“Android Layout Editor”,或在其上 单击鼠标右键展开菜单单,执行“Open WithAndroid Layout Editor”。 图 2-18 单击 XML 布局配置文件,选择以 Android Layout Editor 编辑 Android Editor 的功能虽然阳春,但至少还算齐备,具有文字模式与 UI 配 置模式可供切换,如下图的“Layout”与“main.xml”页签切换所示。 图 2-19 Android Layout Editor 具有文字模式与 UI 配置模式可供切换编辑 目前的 ADT 版本,虽然提供了预览接口功能,但没有 提供类似 Microsoft Visual Studio 的拖拉界面组件开发工具,所以布局的配置虽然直观,但还是不 够自然,所幸,在 Google 还未完整推出 GUI 的拖拉工具之前,已有网友以 Java 写出了好用的可视化 GUI 布局拖拉工具程序:DroidDraw。 DroidDraw 目前是一个公开的 Google Code,除了可以在线免费下载 (http:/code.google .com/p/droiddraw/)使用到计算机端执行之外,也提供在线直接使用的版本 (http:/www ./);DroidDraw 同时还提供了源代码(Source Code),可供程 序员自行参考或修改。 图 2-20 DroidDraw 提供了可视化拖拉组件的方式设计布局期待未来 Google 能将拖拉布局的功能纳入 Android Editor 当中,如此一来 更能整合 Android SDK 以及开发环境的功能,且让我们拭目以待吧! 要部署程序在模拟器上运行,在先前 Hello World 的程序已经看过了,在项 目名称上单击右键执行 Android 应用程序即可,但事实上,要将 Android 程序, 部署在手机环境中进行测试,方法也是相同的,同样调用“Run AsAndroid Application”的方式执行, 不同的是,需要事先安装好 Android 的 USB Driver, 并且通过 USB 联机至手机,在与手机联机的状况下,就可以让 Eclipse 在运行 Android 程序时,直接将程序部署于实机环境中执行。 Android USB 驱动程序是随着 Android SDK 所提供的,每一个版本的 SDK 都 可能有不同版本的 USB Driver Version,其存放在以下 Android SDK 解开后的 参考位置,如: D:SDKandroidusb_driver 安装的步骤是先将手机以 USB 与计算机连接,操作系统会找到名为 Android Phone 的设备,但是却在装置管理员当中无法正确被识别,如下所示。 图 2-21 操作系统找到名为 Android Phone 的装置,但无法正确被识别 接着画面会跳出添加硬件向导,选择“从列表或指定位置安装(高级)”来 自行挑选驱动程序位置。 图 2-22 选择“从列表或指定位置安装”自己安装驱动程序 在“搜索和安装选项”的画面中,选择“不要搜索,我要自己选择要安装的 驱动程序”选项,选择“显示所有设备”后,按下“下一步”。 图 2-23 选择不要搜索系统数据,改以自行挑选硬件的方式 利用浏览按钮选择复制源为 Android USB Driver 程序路径: 图 2-24 选择 Android SDK 里所附的 USB Driver 选择驱动程序后,于显示兼容硬件列表中选择“HTC Dream Composite ADB Interface”,程序将 Android 手机的 USB ADB Interface 安装完成。 图 2-25 安装 Android USB ADB Interface 完成 设备管理器会自动新增一项 ADB Interface 的项目,表示已经顺利安装了 Android 手机与计算机的联机。 图 2-26 顺利安装了 Android 手机与计算机的联机 安装完 ADB Interface 之后,暂时还无法通过 Eclipse 将 Android 项目程序 部署至手机上,必须先将手机上的 USB 调试(Debug)模式打开,在手机上执行 “应用程序设置开发USB 调试”。 图 2-27 将手机的 USB 调式模式打开 在 Eclipse 执行项目时,若程序发现先前已打开的模拟器与手机同时并存, 那么将会跳出 Device Chooser 的窗口让开发者选择要部署的设备,下图为选择 Android G1 手机之后,于 Console 里显示正确执行的 Log 纪录。 图 2-28 上图中的警告为开发使用的是 SDK 1.1 但手机是 SDK 1.0 的警告 部署程序到手机上测试是最适合的方法,因为许多功能皆需要手机才能进行 测试,如 WiFi 驱动程序、平衡感应器、电池剩余计量等等。 看完了本章介绍的内容,相信各位已快速掌握了 Android SDK 的安装方法、 Eclipse 开发环境的设置、使用可视化布局开发工具,以及试写了一个 Android Hello World 的应用程序(咳虽然一行程序都没写),最后将程序部署于实 机上运行,这是每一位 Android 程序员都必须快速掌握的重点,也是进入本书范 例必须要具备的基本操作能力。 接下来将是丰富精彩的范例系列,相信通过边学 边操作,你将获得更多宝贵的实战经验,祝大家学习愉快! 第三章:用户人机界面 范例说明 前一章写了 Hello World 之后,一直觉得没有写半行代码对不起自己,所以在本章人机 界面一开始,则延续 Hello Wolrd 的气势,进行与 TextView 文字标签的第一次接触。在此范 例中,将会在 Layout 中创建 TextView 对象,并学会定义 res/values/strings.xml 里的字符串 常数,最后通过 TextView 的 setText 方法,在预加载程序之初,更改 TextView 文字。 运行结果 图 3-1 认识 TextView.setText 更改默认 Layout 里定义的文本字符串 范例程序 src/irdc.ex03_01/EX03_01.java 主程序示范以 setText 方法,输出 String 类型的字符串变量。 package irdc.ex03_01; import android.app.Activity; import android.os.Bundle; /*必须引用 widget.TextView 才能在程序里声明 TextView 对象*/ import android.widget.TextView; public class EX03_01 extends Activity /*必须引用 widget.TextView 才能在程序里声明 TextView 对象*/ private TextView mTextView01; /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); /* 载入 main.xml Layout,此时 myTextView01:text 为 str_1 */ setContentView(R.layout.main); /* 使用 findViewBtId 函数,利用 ID 找到该 TextView 对象 */ mTextView01 = (TextView) findViewById(R.id.myTextView01); String str_2 = 欢迎来到 Android 的 TextView 世界; mTextView01.setText(str_2); res/layout/main.xml 以 android:id 命名 TextView 的 ID 为 mTextView01;在较旧的版本写法与 1.0 的不同, 请特别留意。 扩展学习 TextView 里的 setText 方法支持以下多态构造方法: public final void setText(CharSequence text) public final void setText(int resid) public void setText(CharSequence text, TextView.BufferType type) public final void setText(int resid, TextView.BufferType type) public final void setText(char text, int start, int len) 在此,以最后 setText(char text, int start, int len) 为例,第一个参数为 char 数组作为输 出依 据,第二个参数为从哪一个元素索引开始选取,第三个参数则为要取出多少个元素,请看以 下的例子: char char_1 = new char5; char_10 = D; char_11 = a; char_12 = v; char_13 = i; char_14 = d; mTextView01.setText(char_1,1,3); 如上述程序所示,输出的结果是“avi”,因为从第 1 个元素索引开始,共取 3 个元素; 最 后则要提醒你,TextView.setTextView 不支持 HTML TAG 的输出,所以即便写成这样: mTextView01.setText(戴维 的博客); 实际 输出时, 也就是纯文本而已,并不会作 HTML TAG 的转换。但若撇开 HTML TAG 之外(如“”开头的标记) ,在 TextView 里加上了 android:autoLink=all,那么正文中若有网 址 (http:/) ,是可以被显示的,以下这个范例就交给你自己实现看看。 范例说明 在之前的范例运行结果,窗口的底色一律是“深黑色”,这是 SDK 默认的颜色,要更改 Activity 里的窗口底色有许多方法, 最简单的方法就是将颜色色码事先定义在 drawable 当中, 当程序 onCreate 创建的同时,加载预先定义的画面颜色。 此范例程序的设计方式是在 drawable 里指定 Layout 的背景色(BackGround)为白色, 但这里的“白色”(颜色色码为#FFFFFFFF)预先定义在 drawable 当中,当程序运行时,背景 就会变为白色。 这是指定 Activity Layout 背景颜色最简单的方法,在范例最末,则将示范如何创建色彩 板(color table) ,让 Android 手机程序可以像使用“常数”般直接取用,并反应在应用程序的 运行阶段。 运行结果 图 3-2 使用 drawable 设置颜色常数,应用于程序运行时的结果 范例程序 src/irdc.ex03_02/EX03_02.java 程序继承自 Activity 类, 并在重写 onCreate 创建之初, 直接显示 R.layout.main main.xml) ( 这个页面安排的布局配置。 package irdc.ex03_02; import android.app.Activity; import android.os.Bundle; public class EX03_02 extends Activity /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); res/layout/main.xml 在页面布局上,使用了 2 个 TextView 对象,以及 2 个 EditText 对象,关键在于 android: background=drawable/white 让程序背景变成了白色,而 android:textColor=drawable/ darkgray 将 TextView 里 的 文 字 颜 色 ( textColor ) 设 为 灰 色 , 当 中 “drawable/white”及 “drawable/darkgray” 的 写 法 则 是 参 考 事 先 于 drawable 里 定 义 好 的 颜 色 常 数 , 将 在 res/values/color.xml 里看见颜色的定义描述。 扩展学习 事先将 定义好的颜色代码(color code)以 drawable 的名称(name)存放于 resources 当中,这是开发 Android 程序的好习惯,正如同字符串常数一样,颜色也是可 以事先定义 好的。在本范例中学会了使用 drawable 的 resource 的定义方法: color_value 定义好的 drawable name 常数,必须存放于 res/values 下面,作为资源取用,但定义好的 背景颜色并非只能当作是“默认”颜色声明使用, 在程序的事件里, 是可以通过程序来更改的, 如以下程序所示: Resources resources = getBaseContext().getResources(); Drawable HippoDrawable = resources.getDrawable(R.drawable.white); TextView tv = (TextView)findViewByID(R.id.text); tv.setBackground(HippoDrawable); 范例说明 上一个范例通过 Drawable 来定义颜色常数,但实际设计中最常用的方法,则是使用程 序控制 TextView 或其它对象的背景色(setBackgroundDrawable 方法) 如判断对象被点击时 , 的背景色亮起、当失去焦点时,又恢复成原来的背景色等等。 以下的范例,将扩展前一个范例的实现,预先在 Layout 当中设计好两个 TextView,并 在 onCreate 同时, 通过两种程序描述方法, 实时更改原来 Layout 里 TextView 的背景色以 及 文字颜色,最后学会使用 Android 默认的颜色常数(graphics.Color)来更改文字的前景色。 运行结果 图 3-3 通过 setBackgroundDrawable 方法更改 TextView 的背景色以及 graphics.Color 更改前景色 范例程序 src/irdc.ex03_03/EX03_03.java 程序里新建两个类成员变量: mTextView01 与 mTextView02,这两个变量在 onCreate 之初,以 findViewById 方法使之初始化为 layout(main.xml)里的 TextView 对象。在当中 使用了 Resource 类以及 Drawable 类,分别创建了 resources 对象以及 HippoDrawable 对象, 并 将 前 一 个 范 例 中 所 创 建 的 R.drawable.white 以 getDrawable 方 法 加 载 , 最 后 则 调 用 了 setBackgroundDrawable 来更改 mTextView01 的文字底纹。更改 TextView 里的文字,则使用 了 setText 方法。 在 mTextView02 当中,使用了 graphics.Color 里的颜色常数,接着,再利用 setTextColor 更改文字的前景色。 package irdc.ex03_03; import android.app.Activity; import android.content.res.Resources; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.widget.TextView; public class EX03_03 extends Activity private TextView mTextView01; private TextView mTextView02; /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); mTextView01 = (TextView) findViewById(R.id.myTextView01); mTextView01.setText(我是应用 Drawable 背景色的戴维文本。); Resources resources = getBaseContext().getResources(); Drawable HippoDrawable = resources.getDrawable(R.drawable.white); mTextView01.setBackgroundDrawable(HippoDrawable); mTextView02 = (TextView) findViewById(R.id.myTextView02); /*下使用 Color.MAGENTA 指定文本的颜色为紫红色*/ mTextView02.setTextColor(Color.MAGENTA); 扩展学习 Resources resources = getBaseContext().getResources(); Drawable HippoDrawable = resources.getDrawable(R.drawable.white); 上述这 2 行代码,在前一版本中的写法是这样的: Resources.resources = getDrawable(R.drawable.solid_red); Drawable HippoDrawable = resources.getDrawable(R.drawable.white); 但 是在 1.0 之 后的版本, Resources 不 再支持直接使用 .getDrawable 方 法直接取 用 drawable,而必须先取得基类的 Context 才行。 此外,在程序里使用了 Color.MAGENTA 让 TextView 里的文字变成了粉红色,事实上, 在 Android 里还有以下 12 种常见的颜色: Color.BLACK Color.BLUE Color.CYAN Color.DKGRAY Color.GRAY Color.GREEN Color.LTGRAY Color.MAGENTA Color.RED Color.TRANSPARENT Color.WHITE Color.YELLOW 这些颜色常数是定义在 android.graphics.Color 里的: 类型 int int int int int int int int int int int int 常数 BLACK BLUE CYAN DKGRAY GRAY GREEN LTGRAY MAGENTA RED TRANSPARENT WHITE YELLOW 值 -16777216 -16776961 -16711681 -12303292 -7829368 -16711936 -3355444 -65281 -65536 0 -1 -256 色码 0xff000000 0xff0000ff 0xff00ffff 0xff444444 0xff888888 0xff00ff00 0xffcccccc 0xffff00ff 0xffff0000 0x00000000 0xffffffff 0xffffff00 范例说明 从一开始自 Layout 里通过 Resource 初始 化 TextView 的文字,到程序中动态更 改 TextView 文字,但要如何在代码里取得 Resource 的字符串呢?在 Android 里,确实是有些 方 法可以直接以 R.strin

温馨提示

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

评论

0/150

提交评论