Android第二讲
Android Studio开发实战:从零基础到App上线(

15.1地图SDK
15.3支付SDK
15.5实战项目:仿 滴滴打车
15.4语音SDK
15.6小结
16.1布局文件优化 16.2内存泄漏处理
16.3线程池管理 16.4省电模式
16.5实战项目: 络图片缓存框 架
16.6小结
附录一仿流行 App的常用功能
附录二 Android各版 本的新增功能
说明
附录三手机硬 件与App开发的
关联
附录四专业术 语索引
作者介绍
这是《Android Studio开发实战:从零基础到App上线(第2版)》的读书笔记模板,暂无该书作者的介绍。
精彩摘录
这是《Android Studio开发实战:从零基础到App上线(第2版)》的读书笔记模板,可以替换为自己的精 彩内容摘录。
6.6实战项目: 手机安全助手 Nhomakorabea6.7小结
7.1标签栏 7.2导航栏
7.3横幅条 7.4增强型列表
7.5材质设计库
7.6实战项目:仿支 付宝的头部伸缩特效
7.7实战项目:仿淘 宝主页
7.8小结
1
8.1调试工作
2
8.2准备上线
3
8.3安全加固
4
8.4发布到应 用商店
5
8.5小结
9.1摄像头 9.2麦克风
目录分析
1.1 Android Studio简介
1.2 Android Studio的安装
1.3运行小应用 Hello World
1.4 App的工程结构
1.5准备开始
1.6小结
2.2简单布局
2.1屏幕显示
2.3简单控件
2.5实战项目:简 单计算器
Android开发学习之Log的使用

Android开发学习之Log的使⽤Log(android.util.log)是Android Studio中的⽇志⼯具类,熟练使⽤log会对你以后的Android开发之旅有很⼤的帮助。
* log类有五个⽅法,分别是(级别由低到⾼):根据⾸字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。
1.Log.v():打印⼀些最为繁琐、意义不⼤的⽇志信息2.Log.d():打印⼀些调试信息(logd+tab)3.Log.i():打印⼀些⽐较重要的数据,可帮助你分析⽤户⾏为数据(logi+tab)4.Log.w():打印⼀些警告信息,提⽰程序该处可能存在的风险(logw+tab)5.Log.e():打印程序中的错误信息(loge+tab)(这五个⽅法都可以进⾏重载)注意:不同的打印⽅法在使⽤时都是某个⽅法带上(String tag, String msg)参数,tag表⽰的是打印信息的标签,msg表⽰的是需要打印的信息。
Android Studio中查看logAndroid Studio为开发者提供了良好的log查看⼯具,开发者可以通过如下⽅式打开log视图:View > Tool Windows > Logcat,或者⽤默认的快捷键 Alt+6 打开/隐藏 Logcat视图。
下⾯简单介绍⼀下该⼯具的使⽤。
1、Logcat中选择筛选条件如下截图中,标注了Android Studio中使⽤Logcat视图的常⽤功能,开发者可以根据实际情况选择过滤条件。
2、Log信息颜⾊设置查看log的时候,有⼀个⼩技巧,为了便于查看不同等级的log,Android Studio对不同等级的log信息设置了不同的颜⾊。
开发者也可以根据⾃⼰的爱好,⾃⾏设置颜⾊或者其他属性,这样,在查看log的时候,就容易对log等级进⾏区分,查看的时候就⽐较有层次感。
设置路径为:File > Settings > Editor > Colors & Fonts > Android Logcat。
新博讲师及课程体系

Android初中级课程体系:1年Android项目开发经验,成功开发了 环卫APP,智能中控APP,视频监控App.半年Android讲师经验,熟悉 Android相关知识体系,擅长利用场景化教学深入浅出的授课方式, 赢得广大学员的一致好评.
IOS整个课程体系:硕士研究生、高级程序员、2年高校教学经验, 3年的iOS/iPad开发经验,擅长用通俗易懂的语言讲解iOS开发知 识。 IOS初中级课程体系:1.5年Android讲师经验,0.5年IOS讲师经验 。 熟悉IOS知识体系,擅长结合现实例子,深入浅出,举一反三,使 用通俗易懂的语言讲解Android开发知识,注重逻辑思维的锻炼, 幽默诙谐的上课风格也深受广大学员的好评
IOS高级课程体系:可以根据自己所承担的教学任务、教学内容及 学生的身心特点等采取具体的教学方法和手段,富有激情和感染力 、授课有条理、讲解知识深入浅出。 PMP课程体系:研究企业IT项目管理学多年,从实践中总结出一套 有效实用教程,研发了《总裁执行力提升系统》,帮助企业打造系 统的力量,并配套提供《企业管理工具箱》,包括《效率管理》、 《会议体系》、《制度管理》、《卷宗管理》等管理工具,落地管 理咨询项目,是国内企业项目管理、团队执行力培训专家。
台湾Android论坛主席/架构师 新博顾问,不定期在新博开展Android前沿沙龙。
履历
1、曾任达内科技Android课程设计师、达内Android课程首席讲师 曾任深圳华为项目经理、某创业公司技术主管 2、企业内训客户包括中国工商银行北京研发总部、福州兴业证券研发中心、中国电信珠海研发中心、上 海惠普、中国移动中山分公司、厦门网中网软件有限公司等 3、10年软件研发项目管理经验,6年Android项目经验,4年企业内训和就业培训经验 带领团队成功开发了天福茗茶Pad版App、电信版好铃声(原悦动音乐)、51CTO论坛App、宠物情缘、微 盟、国内首款平板软件商店、平板桌面等十余款应用 1、51CTO论坛App(Android版) 51CTO技术论坛移动版,致力于面向中国广大IT专业人群,改善传统技术交流论坛的局限性,为IT专业人 群提供便捷的技术交流环境,实现技术高效传播交流 2、掌潮App(Android版) 消费者到微盟联盟商家消费,付钱时向商家提供微盟相应注册账号(注册手机号码),商家通过登录微盟 后台,在商家后台进行“积分操作”,可以返回一定积分给消费者。消费者到微盟联盟商家消费时可以用 积分进行抵扣。 3、宠信App 1、环卫App 环卫App是一款能够帮助政府相关部门更好的管理城市环境卫生的App,保证环卫工作的正确有序的进行, 换城市一片干净与整洁. 2、智能中控App 智能中控App是一款通过手机远程遥控汽车系统的App.车辆定位,异常提醒,远程控制,为有车一族解放钥匙, 更加舒适,安全的享受驾驶的乐趣. 3、视频监控App 视频监控APP是一款通过手机屏幕获取服务器云端的实时视频,了解监控画面的实时动态.
Android(五)-消息机制、列表控件、首选项文件

Android培训讲解(五)列表控件、消息机制、首选项文件文档修改记录版权申明:本文档的版权属于北京软件系统有限公司,任何人或组织未经许可,不得擅自修改、拷贝或以其它方式使用本文档中的内容。
Android的列表控件:列表控件用于显示数据集合,在讲listview,girdview之前,先提一下适配器,适配器是用来管理数据的,给子视图提供数据,先展示一段简单的代码1、ArrayAdapter// 找到ListViewListViewlistView = (ListView) findViewById(R.id.listView01);// 定义数组String[] data = { "Android开发基础篇第一讲", "Android开发基础篇第二讲", "Android开发基础篇第三讲", "Android开发基础篇第四讲"};// 为ListView提供数组适配器listView.setAdapte r(new ArrayAdapter(this,yout.simple_list_item_1, data));// 为ListView设置列表项点击监听器listView.setOnItemClickListener(newOnItemClickListener() { @OverridepublicvoidonItemClick(AdapterView<?> parent, View view, intposition, longid) {Toast.makeText(getApplicationContext(), "您点击的是:"+ ((TextView) view).getText(), Toast.LENGTH_SHORT).show();});这里就是用一个叫做ArrayAdapter的适配器给ListView的每一项填充data数组中的值,红色加粗的一段就是适配器初始化,蓝色加粗的一段就是把这个适配器应用的listview上,效果如图这里一个数组利用ArrayAdapter填充到ListView中,其中显示方式为系统自带的yout.simple_list_item_12、SimpleAdapter一个数组利用SimpleAdapter填充到ListView中,其中显示方式为系统自带的yout.simple_list_item_2// 找到ListViewListViewlistView = (ListView) findViewById(R.id.listView01);List<Map<String, String>> data = newArrayList<Map<String, String>>(); Map<String, String> item = newHashMap<String, String>();item.put("name", "刘备");item.put("address", "刘备是三国时期的著名政治家");data.add(item);item = newHashMap<String, String>();item.put("name", "关羽");item.put("address", "忠义神武灵佑仁勇威显关圣大帝");data.add(item);item = newHashMap<String, String>();item.put("name", "张飞");item.put("address", "三国时期蜀汉重要将领。
App Inventor-零基础Android移动应用开发教学大纲

App Inventor-零基础Android移动应用开发教学大纲以Android 的图形化积木式编程软件App Inventor 2 中文版为载体,从零起点开始,以10个精心设计的趣味案列为主线进行项目驱动的教学,培养学生的计算思维,并具备基本的Android应用开发能力。
课程概述移动互联网技术和智能手机发展迅猛,移动应用Apps的开发备受关注。
本课程以Android 的图形化积木式编程软件App Inventor 2 中文版为载体,无需任何编程基础,从零起点开始,通过案例引导和项目驱动的教学方式,培养学生的计算思维能力,并具备基本的Android应用开发能力。
本课程为国家精品在线开放课程、Google精品课程。
授课目标移动互联网技术和智能手机发展迅猛,移动应用Apps的开发备受关注。
本课程以Android 的图形化积木式编程软件App Inventor 2 中文版为载体,无需任何编程基础,从零起点开始,通过案例引导和项目驱动的教学方式,培养学生的计算思维能力,并具备基本的Android应用开发能力。
课程大纲第一讲很高兴遇见你,App Inventor,梦想启程给移动互联网时代的你,来了解一下这有趣的课程吧Android和App Inventor简介动手啦,见证奇迹的时刻作业1:Hello, 小猫第二讲小机器人安安诞生记安安诞生记案例演示安安诞生记界面和组件设计安安诞生记行为逻辑设计App Inventor开发体系结构(选读)作业2:我的漫画书第三讲安安猜价格安安猜价格案例演示安安猜价格界面和组件设计安安猜价格基本行为逻辑设计数据表达和运算语句和程序结构加强版:机器人猜价格模式作业3:简单计算器第四讲安安爱画画安安爱画画案例演示安安爱画画界面和组件设计安安爱画画基本行为逻辑设计安安爱画画多个屏幕的切换作业4:小画板第五讲安安抓蝴蝶安安抓蝴蝶案例演示安安抓蝴蝶界面和组件设计安安抓蝴蝶基础行为逻辑设计安安抓蝴蝶游戏结果处理和改善作业5:打地鼠第六讲安安历险记安安历险记案例演示安安历险记界面和组件设计安安历险记老虎追安安安安历险记小球参战安安历险记过程-软件开发的核心要素作业6:打飞机第七讲安安爱弹琴安安爱弹琴案例演示安安爱弹琴界面和组件设计安安爱弹琴行为逻辑设计安安爱弹琴有关递归作业7:跟我学弹琴第八讲安安的通讯助手安安的通讯助手案例展示安安的通讯助手界面和组件设计安安的通讯助手自动收发短信安安的通讯助手持久化存储信息课程小测验(作业8)第九讲安安爱成语安安爱成语案例展示安安爱成语单机版的界面和组件设计安安爱成语单机版的逻辑和行为实现安安爱成语开启蓝牙双机对战模式作业9 单机版成语接龙App第十讲安安爱旅游安安爱旅游案例展示安安爱旅游界面和组件设计安安爱旅游指南针的实现安安爱旅游地图安安爱旅游日记簿的设计与实现安安爱旅游拍照作业10 我的足迹App第十一讲安安的股市安安的股市案例展示安安的股市界面和组件设计安安的股市基于Web服务的行为实现安安的股市同时查询多支股票增强版的设计与实现作业11 天气预报App第十二讲安安要毕业安安要毕业课程大作业要求安安要毕业App Inventor挑战赛及获奖作品介绍安安要毕业学生历年优秀作品介绍作业Final 课程大作业预备知识零起点,无需编程基础,会上网,会敲键盘就行。
《Android项目实战》课程标准

《Android项目实战》课程标准一、课程的性质《Android项目实战》课程是软件技术专业的核心课程,本课程具有较强的实践性。
通过本课程的学习,使学生具备Android平台应用开发相关知识、良好的编程习惯和手机应用软件开发的能力,能胜任基于Android平台的手机软件研发等工作任务。
本课程主要是以项目实战为主。
通过完整的项目案例《传智学习助手》的学习,学生能够在掌握Android 的基础知识上,学会编写较为复杂的应用程序,能够清楚并完成一个完整的项目的整个开发流程。
在课程设置上,前导课程有《程序设计基础(Java语言)》、《数据库SQL》、《移动软件应用技术(Android)》。
二、课程设计理念1、该课程是依据“软件技术专业人才培养方案”设置的。
其总体设计思路是,打破以知识传授为主要特征的传统学科课程模式,转变为基于工作过程的教学模式,以完整的各个企业实际项目任务为对象,组织学生通过完成这些工作任务来学习相关的知识、培养相应的职业能力。
课程内容突出对学生职业能力的训练,相关理论知识均与所要完成的工作任务有密切联系,融合相关岗位(群)对知识、技能和态度的要求,要求该课程要通过校企合作,组织校内实训项目小组等多种途径进行教学,采取工学结合等形式,充分开发学习资源,给学生提供丰富的实践机会。
教学效果评价采取过程评价与结果评价相结合的方式,通过理论与实践相结合,重点评价学生的职业能力。
2、该门课程的总学时为54。
本课程在设计时考虑主要以锻炼学生的动手能力为主,对于比较难懂、但实际开发中运用较少的知识点尽量少讲或不讲,一切以实际项目为核心,使学生的课程学习和工作需要能完全吻合。
教学过程以基于工作过程的课程开发理念为指导,以职业能力培养和职业素养养成为重点,根据技术领域和职业岗位(群)的任职要求,遵循学生认知规律,将本课程的教学活动分解设计成若干实验项目或工作情景,以具体的项目任务为单位组织教学,以典型实际问题为载体,引出相关专业知识,并通过教学模式设计、教学方法设计、教学手段的灵活运用、教学目标的开放性设计、教学考核方法改革等,使学生在实训过程中加深对专业知识、技能的理解和应用,保证学生专业能力、方法能力和社会能力的全面培养。
android开发技巧总汇android开发培训-教师必备

android开发技巧总汇android开发培训-教师必备名目<<android 的几个技巧1>> 错误!未定义书签。
1. 入门实例剖析1 22.在测试时,如何实现一个提示113.能够使用AlertDialog.Builder 才产生一个提示框. 114. menu 的用法. 131. 简单的代码132. menu实现的两种方法145.Activity 的切换(含Bundle传值)141. 代码142. 详解: 166.Android UI Layout 197. Tab以及HostTab操作208. List (图片/按钮/标题/文本) 25LIST例一 25LIST例二 37LIST例三 429. 调用扫瞄器载入某网址 4610.监控应用程序包的安装&删除46方法一: 46方法二: 5111. 使用Toast输出一个字符串 5912. 把一个字符串写进文件 5913. 把文件内容读出到一个字符串 6114. 调用Android installer 安装和卸载程序6315. 终止某个进程6416. 设置默认来电铃声6417. 开机自启动6618. 线程与子线程67handlerMessage实例 6819. Service 711. 什么是Service712. 如何使用Service 713. Service的生命周期80附) 常用界面截图: 81提示1 81提示2 81菜单811. 入门实例剖析1开卷语俗语讲,“熟读唐诗三百首,可不能作诗也会吟”。
最近收集了专门多A ndroid的示例代码,从这些代码的阅读和实验中学习到专门多知识,从而产生写那个系列的打算,目标确实是一步步跟着实例进行动手实作,真正从“做”中体会和学习Android开发。
本文目标是Android自带的一个范例程序:记事本,预备知识搭建开发环境,尝试编写”Hello World”,了解Android的差不多概念,熟悉Android的API(官方文档中都有,不赘述)。
Android开发教案(精品文档)

第课时课题教课目标与要求课程开篇1、介绍专业目标。
2、介绍课程目标。
3、介绍 Android 课程系统认识本课程与专业和自己的关系重点难点讲课班级日期节次1.问题引入(1)专业与个人(2)课程与专业2.介绍 Android 与我们的关系(1)OS(2)软件3.课程的前置基础(1)java(2)操作系统4.课程展开流程(1)UI(2)Java基础(3)OS(4)Android 编程5.理论与事例第课时课题教课目标与要求Android 简介与开发环境搭建1、认识Android简介与发展历史2、掌握开发环境的搭建开发环境搭建重点难点讲课班级日期节次1. android 简介2.搭建开发环境3.实践第课时课题教课目标与要求重点难点讲课班级日期节次第二章第一个Android应用程序1、掌握Android项目的创立过程2、理解Android应用程序的基本组成3、掌握使用资源的方法。
Android 应用程序创立与调试1. HelloWorld 项目应用2. 调试 Android 应用程序3. 第一个 Android 项目的目录组成4.Android 应用程序的工作原理课题教课目标与要求重点难点讲课班级日期节次第课时第二章第一个Android应用程序4、掌握Android项目的创立过程5、理解Android应用程序的基本组成6、掌握使用资源的方法。
Android 应用程序创立与调试1. HelloWorld 项目应用2. 调试 Android 应用程序3. 第一个 Android 项目的目录组成4.Android 应用程序的工作原理第课时第一个 Android 应用程序Hello 应用剖析与调试项目课题教课目标与要求7、掌握Activity的创立和调用8、理解Activity的生命周期重点难点讲课班级日期节次Activity 的生命周期1. HelloWorld 应用剖析2. Android 的生命周期3.小结第课时课题教课目标与要求Android 基本组件(布局)1、认识 Android 组件的基本框架2、掌握线程布局的方法3、熟习 TextView 的常用属性1、线性布局的成效创立重点2、线性布局的常用属性难点讲课班级日期节次1.Android UI 组件基本框架2.线性布局3.常用控件的使用第课时课题教课目标与要求Android 用户界面组件4、掌握用户界面的TextView 和 EditText 的详细使用方法5、认识 TextView 种类的常用属性1、 TextView 的常用属性重点2、 EditText 的常用属性难点讲课班级日期节次3.TextView 及其子类4.Button 类3.EditText 类第课时课题教课目标与要求Android 用户界面组件(二)掌握按钮组件的用法熟习按钮组件美化Button 组件、 RadioButton 、 CheckBox重点难点讲课班级日期节次5.Button 组件的功能与用法6.图片 ImageView 类3.单项选择按钮与复选按钮的用法第课时课题教课目标与要求重点难点讲课班级日期节次Android 用户界面组件(三)掌握 ImageView 及其子类 ImageButton 的常用 XML 属性和方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android讲解第一讲1.Android概述2.开发环境的搭建3.创建第一个Android应用程序4.Android程序的结构分析1. src毫无疑问,src 目录是放置我们所有Java 代码的地方,它在这里的含义和普通Java项目下的src 目录是完全一样的,展开之后你将看到我们刚才创建的HelloWorldActivity文件就在里面。
2. gen这个目录里的内容都是自动生成的,主要有一个R.java 文件,你在项目中添加的任何资源都会在其中生成一个相应的资源id。
这个文件永远不要手动去修改它。
3. assets这个目录用得不多,主要可以存放一些随程序打包的文件,在你的程序运行时可以动态读取到这些文件的内容。
另外,如果你的程序中使用到了WebView 加载本地网页的功能,所有网页相关的文件也都存放在这个目录下。
4. bin这个目录你也不需要过多关注,它主要包含了一些在编译时自动产生的文件。
其中会有一个你当前项目编译好的安装包,展开bin 目录你会看到HelloWorld.apk,把这个文件拷到手机上就可以直接安装了。
5. libs如果你的项目中使用到了第三方Jar 包,就需要把这些Jar 包都放在libs 目录下,放在这个目录下的Jar 包都会被自动添加到构建路径里去。
你可以展开上图中Android 6.0、Android Private Libraries、Android Dependencies 这些库,其中显示的Jar 包都是已经被添加到构建路径里的。
6. res这个目录下的内容就有点多了,简单点说,就是你在项目中使用到的所有图片、布局、字符串等资源都要存放在这个目录下,前面提到的R.java 中的内容也是根据这个目录下的文件自动生成的。
当然这个目录下还有很多的子目录,图片放在drawable 目录下,布局放在layout 目录下,字符串放在values 目录下,所以你不用担心会把整个res 目录弄得乱糟糟的。
7. AndroidManifest.xml这是你整个Android 项目的配置文件,你在程序中定义的所有四大组件都需要在这个文件里注册。
另外还可以在这个文件中给应用程序添加权限声明,也可以重新指定你创建项目时指定的程序最低兼容版本和目标版本。
由于这个文件以后会经常用到,我们用到的时候再做详细说明。
8. project.properties这个文件非常地简单,就是通过一行代码指定了编译程序时所使用的SDK 版本。
我们的HelloWorld 项目使用的是API 14,你也可以在这里改成其他版本试一试。
详解项目中的资源所有以drawable 开头的文件夹都是用来放图片的,所有以values 开头的文件夹都是用来放字符串的,layout 文件夹是用来放布局文件的,menu 文件夹是用来放菜单文件的。
怎么样,是不是突然感觉清晰了很多?之所以有这么多drawable 开头的文件夹,其实主要是为了让程序能够兼容更多的设备。
在制作程序的时候最好能够给同一张图片提供几个不同分辨率的副本,分别放在这些文件夹下,然后当程序运行的时候会自动根据当前运行设备分辨率的高低选择加载哪个文件夹下的图片。
当然这只是理想情况,更多的时候美工只会提供给我们一份图片,这时你就把所有图片都放在drawable-hdpi 文件夹下就好了。
知道了res 目录下每个文件夹的含义,我们再来看一下如何去使用这些资源吧。
比如刚刚在strings.xml 中找到的Hello world!字符串,我们有两种方式可以引用它:1. 在代码中通过R.string.hello_world 可以获得该字符串的引用;2. 在XML 中通过@string/hello_world 可以获得该字符串的引用。
5.日志工具的使用Android中的日志工具类是Log (android.util.Log),这个类中提供了如下几个方法来供我们打印日志。
1. Log.v()这个方法用于打印那些最为琐碎的,意义最小的日志信息。
对应级别verbose,是Android 日志里面级别最低的一种。
2. Log.d()这个方法用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。
对应级别debug,比verbose 高一级。
3. Log.i()这个方法用于打印一些比较重要的数据,这些数据应该是你非常想看到的,可以帮你分析用户行为的那种。
对应级别info,比debug 高一级。
4. Log.w()这个方法用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。
对应级别warn,比info 高一级。
5. Log.e()这个方法用于打印程序中的错误信息,比如程序进入到了catch 语句当中。
当有错误信息打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。
对应级别error,比warn 高一级。
第二讲Activity1.添加一个新的Activity1.1直接添加Activity1.2添加一个类1.2.1 创建布局文件1.2.2 创建一个类1.2.3在AndroidManifest 文件中注册2.隐藏标题栏标题栏中可以进行的操作其实还是蛮多的,尤其是在Android 4.0 之后加入了Action Bar的功能。
不过有些人会觉得标题栏相当占用屏幕空间,使得内容区域变小,因此也有不少的应用程序会选择将标题栏隐藏掉。
隐藏的方法非常简单,打开FirstActivity,在onCreate()方法中添加如下代码:protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(yout.first_layout);}其中requestWindowFeature(Window.FEATURE_NO_TITLE)的意思就是不在活动中显示标题栏,注意这句代码一定要在setContentView()之前执行,不然会报错。
3.使用ToastToast 是Android 系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间,我们现在就尝试一下如何在活动中使用Toast。
首先需要定义一个弹出Toast 的触发点,正好界面上有个按钮,那我们就让点击这个按钮的时候弹出一个Toast 吧。
在onCreate()方法中添加代码:protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(yout.first_layout);Button button1 = (Button) findViewById(R.id.button_1);button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(FirstActivity.this, "You clicked Button 1",Toast.LENGTH_SHORT).show();}});}Toast 的用法非常简单,通过静态方法makeText()创建出一个Toast 对象,然后调用show()将Toast 显示出来就可以了。
这里需要注意的是,makeText()方法需要传入三个参数。
第一个参数是Context,也就是Toast 要求的上下文,由于活动本身就是一个Context 对象,因此这里直接传入FirstActivity .this 即可。
第二个参数是Toast 显示的文本内容,第三个参数是Toast显示的时长,有两个内置常量可以选择Toast.LENGTH_SHORT 和Toast.LENGTH_LONG。
4.使用Menu首先在res 目录下新建一个menu 文件夹,右击res 目录→New→Folder,输入文件夹名menu,点击Finish。
接着在这个文件夹下再新建一个名叫main 的菜单文件,右击menu 文件夹→New→Android XML File,如下图所示。
文件名输入main,点击Finish 完成创建。
然后在main.xml 中添加如下代码:<menu xmlns:android="/apk/res/android" ><itemandroid:id="@+id/add_item"android:title="Add"/><itemandroid:id="@+id/remove_item"android:title="Remove"/></menu>这里我们创建了两个菜单项,其中<item>标签就是用来创建具体的某一个菜单项,然后通过android:id 给这个菜单项指定一个唯一标识符,通过android:title 给这个菜单项指定一个名称。
然后打开FirstActivity,重写onCreateOptionsMenu()方法,代码如下所示:public boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}通过getMenuInflater()方法能够得到MenuInflater 对象,再调用它的inflate()方法就可以给当前活动创建菜单了。
inflate()方法接收两个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单,这里当然传入R.menu.main,第二个参数用于指定我们的菜单项将添加到哪一个Menu 对象当中,这里直接使用onCreateOptionsMenu()方法中传入的menu参数。
然后给这个方法返回true,表示允许创建的菜单显示出来,如果返回了false,创建的菜单将无法显示。
当然,仅仅让菜单显示出来是不够的,我们定义菜单不仅是为了看的,关键是要菜单真正可用才行,因此还要再定义菜单响应事件。