Android第二讲
- 格式:docx
- 大小:671.82 KB
- 文档页数:15
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培训讲解(五)列表控件、消息机制、首选项文件文档修改记录版权申明:本文档的版权属于北京软件系统有限公司,任何人或组织未经许可,不得擅自修改、拷贝或以其它方式使用本文档中的内容。
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移动应用开发教学大纲以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 的基础知识上,学会编写较为复杂的应用程序,能够清楚并完成一个完整的项目的整个开发流程。
在课程设置上,前导课程有《程序设计基础(Java语言)》、《数据库SQL》、《移动软件应用技术(Android)》。
二、课程设计理念1、该课程是依据“软件技术专业人才培养方案”设置的。
其总体设计思路是,打破以知识传授为主要特征的传统学科课程模式,转变为基于工作过程的教学模式,以完整的各个企业实际项目任务为对象,组织学生通过完成这些工作任务来学习相关的知识、培养相应的职业能力。
课程内容突出对学生职业能力的训练,相关理论知识均与所要完成的工作任务有密切联系,融合相关岗位(群)对知识、技能和态度的要求,要求该课程要通过校企合作,组织校内实训项目小组等多种途径进行教学,采取工学结合等形式,充分开发学习资源,给学生提供丰富的实践机会。
教学效果评价采取过程评价与结果评价相结合的方式,通过理论与实践相结合,重点评价学生的职业能力。
2、该门课程的总学时为54。
本课程在设计时考虑主要以锻炼学生的动手能力为主,对于比较难懂、但实际开发中运用较少的知识点尽量少讲或不讲,一切以实际项目为核心,使学生的课程学习和工作需要能完全吻合。
教学过程以基于工作过程的课程开发理念为指导,以职业能力培养和职业素养养成为重点,根据技术领域和职业岗位(群)的任职要求,遵循学生认知规律,将本课程的教学活动分解设计成若干实验项目或工作情景,以具体的项目任务为单位组织教学,以典型实际问题为载体,引出相关专业知识,并通过教学模式设计、教学方法设计、教学手段的灵活运用、教学目标的开放性设计、教学考核方法改革等,使学生在实训过程中加深对专业知识、技能的理解和应用,保证学生专业能力、方法能力和社会能力的全面培养。
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(官方文档中都有,不赘述)。
第课时课题教课目标与要求课程开篇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 属性和方法。
无锡商业职业技术学院《移动应用开发技术》课程教学大纲课程代码:教育层次:专科层次学制:3年适用对象:初中起点高职□中职起点高职□高中起点高职■课程教学时数:90 学分数:6制订或修订执笔人:系(部)教研室主任审核意见签名:日期:系(部)教学主任审核意见签名:日期:院教学工作委员审核意见签名:日期:无锡商业职业技术学院《移动应用开发技术》教学大纲【课程类型】(理论+实践)课【适用专业】软件技术专业1.课程定位《移动应用开发技术》是软件技术专业的核心专业课,是一门实践性很强的课程,不仅要掌握Android的一些基本理论知识,更重要的是能够实际动手开发一些应用。
2.课程任务课程的内容主要包括理论部分和实践部分,理论部分移动开发基本概念。
其中理论部分主要包括资源访问、用户界面、组件使用、数据存储、互联网应用等。
实践部分是针对前面基础理论设计的案例实践,进一步巩固理论知识。
3.课程目标知识目标:掌握移动开发基本理论和概念、资源访问、用户界面、组件使用、数据存储、互联网应用等。
技能目标:熟悉开发环境的安装和配置,能够从事移动APP和移动互联网产品的设计、开发、测试、维护等工作,熟悉Android程序的发布流程等。
素养目标:养成诚实、守信、吃苦耐劳的思想品德;养成善于动脑、勤于思考的学习习惯;养成规范的软件代码编写习惯;具有良好的沟通能力和团队协作精神等。
4.教学内容第一讲初识Android1、认识Android2、Android的背景3、我的Android我做主4、真实体验—Android 模拟器5、更上一层楼,加入Android开发社区第二讲必先利其器—搭建Android开发环境1、你的爱机胜任吗—开发Android应用前的准备2、Wwindow开发环境搭建3、Linux一族— Ubuntu开发环境搭建4、Mac OS一族—苹果开发环境搭建第三讲Android SDK介绍1、Android SDK基础2、深入探寻Android SDK的密码3、重中之重—Android 典型包分析第四讲Android Market及应用发布1、Google Market产生背景与目的2、体验“选货”的乐趣—在G1上体验Market的使用3、Android开发活动及特色应用4、你也可以做东家—申请M arket帐号5、开张了—在Market上发布应用第五讲第一个应用HelloWorld1、HelloWorld应用分析2、调试项目第六讲磨刀不误砍柴工——Android应用程序结构介绍1、Android体系结构介绍2、Android应用程序组成3、Android应用工程文件组成第七讲良好的学习开端——Android基本组件介绍1、第一印象很重要——界面UI元素介绍2、我的美丽我做主——Android中应用界面布局3、不积跬步无以至千里——常用widget组件介绍4、友好的菜单——menu介绍与实例5、Android应用的灵魂——Intent和Activity介绍与实例6、用好列表,做好程序——列表(ListView)介绍与实例7、友好地互动交流——对话框(Dialog)介绍与实例8、温馨的提醒——Toast和Notification应用第八讲移动信息仓库——Android的数据存储操作1、Android数据存储概述2、轻轻地我保护——SharedPreferences存储3、谁的文件,谁主宰——文件存储4、打造自己的数据库存储——SQLite存储方式5、我的数据你来用——ContentProvider介绍6、再学一招——网络存储第九讲我来“广播”你的“意图”——Intent和Broadcast面对面1、Android应用程序的核心——Intent2、用广播告诉你——利用Intent来广播(BroadCast)事件3、应用实例详解第十讲一切为用户服务——Service应用实例1、认识Service2、使用Service3、Service的生命周期4、实例学习Service第十一讲开发Android应用的基本步骤1、兵马未动粮草先行——应用规划及架构设计2、应用开发步骤3、成功就在眼前——应用测试和发布钱了——发布到AndroidMarket5.课程考核内容及方式课程考核方式该课程的考核改变单一的终结性评价的方法,采用过程考核和结果考核相结合、以及实践考核的方法。
Android动画框架详解简介:Android平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果。
Android动画框架详解由原理篇和实例篇两部分组成。
本文是第一部分原理篇,主要分析Tween动画的实现原理,最后简单介绍在Android 中如何通过播放Gif文件来实现动画。
第二部分实例篇将在原理篇的基础上,向您展示一个动画实例的实现。
本文的标签:android标记本文!发布日期:2010年12月17日级别:中级访问情况14398次浏览建议:0(添加评论)平均分(共28个评分)Android平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述Android的动画框架是如何实现的。
任何一个框架都有其优势和局限性,只有明白了其实现原理,开发者才能知道哪些功能可以利用框架来实现,哪些功能须用其他途径实现。
Android平台提供了两类动画,一类是Tween动画,即通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果;第二类是Frame动画,即顺序播放事先做好的图像,跟电影类似。
本文是由两部分组成的有关Android动画框架详解的第一部分原理篇,主要分析Tween动画的实现原理,最后简单介绍在Android中如何通过播放Gif文件来实现动画。
我们先看一下动画示例来一点感性认识。
Android动画使用示例使用动画示例程序的效果是点击按钮,TextView旋转一周。
读者也可以参看Apidemos中包com.example.android.apis.animationview下面的Transition3d和com.example.android.apis.view下面的Animation1/Animation2/Animation3示例代码。
清单1.代码直接使用动画package com.ray.animation;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.view.animation.AccelerateDecelerateInterpolator;import android.view.animation.Animation;import android.view.animation.RotateAnimation;import android.widget.Button;public class TestAnimation extends Activity implements OnClickListener{public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(yout.main);Button btn=(Button)findViewById(R.id.Button);btn.setOnClickListener(this);}public void onClick(View v){Animation anim=null;anim=new?RotateAnimation(0.0f,+360.0f);anim.setInterpolator(new AccelerateDecelerateInterpolator());anim.setDuration(3000);findViewById(R.id.TextView01).startAnimation(anim);}}使用XML文件方式,在打开Eclipse中新建的Android工程的res目录中新建anim文件夹,然后在anim目录中新建一个myanim.xml(注意文件名小写),内容如下:图1.使用xml文件方式其中的java代码如下:package com.ray.animation;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.Button;import android.widget.TextView;public class TestAnimation extends Activity implements OnClickListener{ public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(yout.main);Button btn=(Button)findViewById(R.id.Button01);btn.setOnClickListener(this);}@Overridepublic void onClick(View v){Animation anim=AnimationUtils.loadAnimation(this,R.anim.my_rotate_action);findViewById(R.id.TextView01).startAnimation(anim);}}回页首Android动画框架原理现有的Android动画框架是建立在View的级别上的,在View类中有一个接口startAnimation来使动画开始,startAnimation函数会将一个Animation类别的参数传给View,这个Animation是用来指定我们使用的是哪种动画,现有的动画有平移,缩放,旋转以及alpha变换等。
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,创建的菜单将无法显示。
当然,仅仅让菜单显示出来是不够的,我们定义菜单不仅是为了看的,关键是要菜单真正可用才行,因此还要再定义菜单响应事件。