Android移动应用开发基础教程教案20_第1页
Android移动应用开发基础教程教案20_第2页
Android移动应用开发基础教程教案20_第3页
Android移动应用开发基础教程教案20_第4页
Android移动应用开发基础教程教案20_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

ADDINKISM.UserStyleADDINKISM.UserStyle教师备课基本要求一,备课是教学地基本环节,任课教师在备课过程应根据教学大纲地要求,结合特点,针对教授对象地具体情况,认真组织学内容,并填好《学时分配表》。二,认真钻研,广泛参阅文献资料,抓住基本概念,基本理论,基本技能与每个章节地基本要求,确定教学重点与难点,科学合理地安排学内容。三,不断更新与充实学内容,注意结合生产实际,反映本学科发展地科学技术新成就,并能体现自己地有关研究成果。四,提倡集体备课,集思广益,取长补短,以求更好地发挥集体地智慧与力量。五,初九年级数学初九年级数学教案应包括教学目地,教学难点,教学重点,教学过程与适量地作业布置等项目,并附向学生推介必要参考书目。

学内容安排与学时分配表序号讲授主要内容学时学生作业备注一理论:Android简介,搭建Android开发环境二第一章题:一,二二理论:创建第一个Android项目,Android编程小工具:日志二第一章题:三,四,五三实验:创建Android项目二四理论:活动是什么,活动地基本操作,在活动使用Intent二第二章题:一,二,三五理论:在活动之间传递数据二第二章题:四,五六理论:活动地生命周期,活动地启动模式二第二章题:六,七七实验:获取用户输入数据四八理论:布局二第三章题:一九理论:通用UI组件二第三章题:二一零理论:消息通知,对话框二第三章题:三,四一一理论:菜单,ListView,RecyclerView二第三章题:五一二实验:用户登录界面设计四一三理论:广播机制简介,使用广播接收器二第四章题:一,二一四理论:广播接收器优先级与有序广播二第四章题:三,四一四实验:开机启动应用二一六理论:文件存储二第五章题:一,二一七理论:享存储二第五章题:三一八理论:SQLite数据库存储二第五章题:四一九实验:基于数据库地登录验证二二零理论:播放多媒体文件二第六章题:一二一理论:记录声音,使用摄像头与相册二第六章题:二,三,四二二实验:自定义音乐播放器二二三理论:使用WebView,基于HTTP协议地网络访问方法二第七章题:一,二二四理论:解析XML格式数据,解析JSON数据二第七章题:三二五实验:在线课表二二六理论:多线程二第八章题:一,二二七理论:服务二第八章题:三,四二八实验:多线程断点续传下载二二九总复

湖南文理学院备课专用纸P.零零一第一周第一次课总第一次课课题:Android开发起步教学目地:一,知识目地:Android台特点,体系架构与版本。二,能力目地:掌握如何搭建Android开发环境教学重点:搭建Android开发环境教学难点:搭建Android开发环境教具学具准备计算机,投影,JDK八或更高版本,AndroidStudiov二.二.三或更高版本教学方法:讲述法,演示法教学过程:导入新课Android地横空出世,将智能设备地发展推向了一个新地快速发展时期。智能设备地普及发展,也使移动开发越来越受到开发者地青睐。在移动操作系统地三大领域:iOS,Android与WindowsPhone,以Android地发展最为迅猛与受瞩目。本课通过介绍Android,搭建开发环境,使读者对Android开发有一个初步了解。新授Android简介Android台特点开放不再受营运商限制丰富地硬件选择开发不受限制与Google应用无缝结合Android体系架构Linux内核层硬件抽象层系统运行库层JavaAPI框架层系统应用层Android版本版本号系统代号API级别市场占有率二.二Froyo 八 零.一%二.三.三-二.三.七Gingerbread 一零 一.七%四.零.三-四.零.四IceCreamSandwich一五 一.六%四.一.xJellyBean 一六 六.零%四.二.xJellyBean 一七 八.三%四.三JellyBean 一八 二.四%四.四KitKat 一九 二九.二%五.零Lollipop 二一 一四.一%五.一Lollipop 二二 二一.四%六.零Marshmallow 二三 一五.二%七.零 Nougat 二四 <零.一%搭建Android开发环境一,需要地工具JDKAndroidSDKAndroidStudio二,JDK下载安装:演示课堂小结本课主要讲述了Android台特点,体系架构与版本,何搭建Android开发环境。作业布置第一章题:一,二教学后记

湖南文理学院备课专用纸P.零零一第一周第二次课总第二次课课题:Android开发起步教学目地:一,知识目地:了解Android项目组成。二,能力目地:掌握如何创建Android项目,Android编程日志小工具教学重点:创建Android项目,使用Android编程日志小工具教学难点:一,Android编程地日志工具教具学具准备计算机,投影,JDK八或更高版本,AndroidStudiov二.二.三或更高版本教学方法:讲述法,演示法教学过程:导入新课本课讲解使用AndroidStudio完成项目地创建,界面设计,代码编写与测试运行等操作,以及日志工具:System.out,System.err与Log对象地使用。新授一,创建HelloWorld项目在AndroidStudio创建一个项目,在屏幕上显示"HelloWorld"字符串。演示过程。二,创建模拟器模拟器作为项目运行设备。演示过程。三,运行项目单击AndroidStudio工具栏地按钮,或选择"Run\RunApp"命令,或者按Shift+F一零组合键,即可运行应用四,了解Android项目组成项目模式下,HelloWorld项目顶层地各个目录与文件地作用如下。.gradle目录:AndroidStudio使用Gradle来构建项目,项目使用地Gradle程序地有关文件放在.gradle目录。.idea目录:存放AndroidStudio地有关配置文件。app目录:一个AndroidStudio项目可以包含多个模块。创建项目时,自动将第一个模块命名为app,app目录存放该模块本身使用地有关文件,包括源代码,资源及其它有关文件。build目录:存放编译项目时自动生成地项目全局文件。项目各个模块地编译文件保存在模块地build子目录。gradle目录:存放Gradle脚本与有关配置文件。.gitignore文件:文件地目录与文件将排除在项目全局地版本控制之外。build.gradle文件:项目全局地Gradle脚本。perties文件:项目全局地Gradle配置文件。gradlew文件:在Mac,Linux等系统命令行执行地Gradle脚本。gradlew.bat文件:在Windows系统命令行执行地Gradle脚本。HelloWorld.iml文件:IntelliJIDEA项目自动生成地文件,用于标识一个IntelliJIDEA项目(AndroidStudio是基于IntelliJIDEA地)。perties文件:AndroidStudio自动生成,不允许用户修改,gradle使用地AndroidSDK路径配置文件。settings.gradle文件:设置项目包含地模块名称,默认情况下项目只有一个app模块,所以文件只包含了app。通常,项目添加地所有模块都会自动包含在文件。app地各个目录与文件作用如下。build目录:存放模块在编译时生成地文件。libs目录:存放项目使用地第三方Java库文件。src\androidTest目录:存放执行Instrumented测试用例文件。src\main目录:存放源代码有关文件。java目录为模块Java源代码文件。其,.example.xbg.helloworld为项目地包名称,MainActivity.java为活动地源代码文件。main目录地AndroidManifest.xml为模块清单文件。res\drawable目录:存放图片资源文件。res\layout目录:存放布局文件。res\mipmap-hdpi,res\mipmap-mdpi,res\mipmap-xhdpi,res\mipmap-xxhdpi,res\mipmap-xxxhdpi等目录:存放各种分辨率下地项目地图标文件。res\values目录:存放颜色,尺寸,字符串与样式等资源文件。res\values-w八二零dp目录:存放屏幕尺寸不小于八二零dp时地自定义尺寸资源文件。src\test目录:存放执行Unit测试用例文件。.gitignore文件:文件地目录与文件将排除在模块地版本控制之外。app.iml:IntelliJIDEA项目自动生成地标识文件build.gradle文件:模块地Gradle脚本。文件:项目文件地混淆规则文件。在生产项目安装包时,使用混淆规则,可使破解者难以阅读程序代码。五,使用日志API输出调试信息System.out.println():输出地日志级别为Info,即普通信息。System.err.println():输出地日志级别为Warn,即警告信息。Log.v():输出地日志级别为Verbose,即冗余信息。Log.d():输出地日志级别为Debug,即调试信息。Log.i():输出地日志级别为info,即普通信息。Log.w():输出地日志级别为Warn,即警告信息。Log.e():输出地日志级别为Erro,即错误信息。六,日志分类与日志过滤器Android应用程序日志可分为Verbose,Debug,Info,Warn与Erro等五个级别,依次从低到高。Logcat窗口可查看日志信息,演示分类与筛选课堂小结本课主要讲述了创建Android项目,使用Android编程日志小工具。作业布置第一章题:三,四,五教学后记

湖南文理学院备课专用纸P.零零一第二周第一次课总第三次课课题:Android核心组件:活动教学目地:一,知识目地:了解活动是什么二,能力目地:掌握活动地基本操作,在活动使用Intent教学重点:活动地基本操作,在活动使用Intent教学难点:活动地基本操作,在活动使用Intent教具学具准备计算机,投影,JDK八或更高版本,AndroidStudiov二.二.三或更高版本教学方法:讲述法,演示法教学过程:导入新课Android程序启动时,总是会启动一个活动(Activity),然后将界面呈现给用户。可以说,Android程序地设计总是从活动开始。活动也是我们需要掌握地第一个Android核心组件。本章将详细介绍如何在Android程序使用活动。新授一,活动是什么活动是Android地一个核心应用组件,它主要用于实现应用功能逻辑,并通过界面显示数据或接收用户输入。一个应用程序可以包含零个或多个活动。没有活动地应用程序,用户将无法看到程序界面,这种应用程序通常在后台运行,不涉及用户互。从用户地角度看,活动具有如下特点。可通过返回键退出活动。可通过Home键返回桌面。可在活动启动另个一个界面,此时按返回键返回前一个活动。从开发员地角度看,活动完成应用程序功能逻辑,它通过布局与用户互。可以在活动向另一个活动传递数据,也可接收另一个活动返回地数据。二,为活动绑定自定义视图演示过程一,布局文件<?xmlversion="一.零"encoding="utf-八"?><LinearLayoutxmlns:android="http://schemas.android./apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:text="Button"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/button一"/></LinearLayout>二,源代码文件MainActivity.java:protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.my_layout); //为活动绑定自定义视图}三,启动另一个活动:演示Buttonbtn=(Button)findViewById(R.id.btnStartAnother);//引用布局地按钮btn.setOnClickListener(newView.OnClickListener(){//添加单击监听器@OverridepublicvoidonClick(Viewv){startActivity(newIntent(MainActivity.this,Main二Activity.class));//启动另一个活动}四,结束活动:演示publicvoidonClick(Viewv){finish();//结束活动}五,使用显式intent:演示显式Intent指在创建Intent对象时,指定了要启动地特定组件。publicvoidonClick(Viewv){IntentstartMyAty=newIntent(MainActivity.this,MyAty.class);startActivity(startMyAty);}六,使用隐式intent:演示隐式Intent则相反,它不指明要启动地组件,而是指明要执行地操作,让系统去选择可完成该操作地组件。定义操作:<activityandroid:name=".Main二Activity"><intent-filter><categoryandroid:name="ent.category.DEFAULT"/><actionandroid:name="toStartAnotherActivity"/></intent-filter></activity>使用操作:publicvoidonClick(Viewv){startActivity(newIntent("toStartAnotherActivity"));}});七,Intent过滤器:演示Intent过滤器主要用于声明应用组件可接收地Intent操作,数据与其它设置<activityandroid:name=".MainActivity"><intent-filter><actionandroid:name="ent.action.MAIN"/><categoryandroid:name="ent.category.LAUNCHER"/></intent-filter></activity><intent-filter>元素为活动MainActivity声明了一个过滤器。八,从网页启动活动:演示在Intent过滤器包含BROWSABLE类别,即表示当前活动可从浏览器启动。<activityandroid:name=".LocalAppAty"android:label="本地活动LocalAppAty"><intent-filter><categoryandroid:name="ent.category.DEFAULT"/><categoryandroid:name="ent.category.BROWSABLE"/><actionandroid:name="ent.action.VIEW"/><dataandroid:scheme="app"/></intent-filter></activity>课堂小结本课主要讲述了活动地基本操作,在活动使用Intent。作业布置第二章题:一,二,三教学后记

湖南文理学院备课专用纸P.零零一第二周第二次课总第四次课课题:Android核心组件:活动教学目地:一,知识目地:了解在活动之间传递数据地方式二,能力目地:掌握在活动之间传递简单数据,Bundle对象,普通对象与获取活动返回数据教学重点:在活动之间传递简单数据,Bundle对象,普通对象与获取活动返回数据教学难点:在活动之间传递简单数据,Bundle对象,普通对象与获取活动返回数据教具学具准备计算机,投影,JDK八或更高版本,AndroidStudiov二.二.三或更高版本教学方法:讲述法,演示法教学过程:新授一,在活动之间传递简单数据putExtra(name,value)方法可将指定地数据封装到Intent对象。其,name为表示数据名称地字符串,value为要传递地各种简单数据类型地值。要获取Intent对象封装地简单数据,可调用各种getXXXExtra()方法。下面是部分getXXXExtra()方法:getCharExtra(Stringname,chardefaultValue):从Intent对象获取指定name地char类型数据。getFloatExtra(Stringname,floatdefaultValue):从Intent对象获取指定name地float类型数据。getFloatArrayExtra(Stringname):从Intent对象获取指定name地float类型数组。getIntArrayExtra(Stringname):从Intent对象获取指定name地int类型数组。getIntExtra(Stringname,intdefaultValue):从Intent对象获取指定name地int类型数据。getStringArrayExtra(Stringname):从Intent对象获取指定name地String类型数组。getStringExtra(Stringname):从Intent对象获取指定name地String类型数据。各种getXXXExtra()方法地defaultValue表示默认值。如果Intent对象没有指定name地数据,则将默认值作为方法返回值。也可用hasExtra(Stringname)方法来判断Intent对象是否包含指定name地数据。TextViewtv=(TextView)findViewById(R.id.textView二);//从Intent对象获取简单数据Intentintent=getIntent();Stringname=intent.getStringExtra("name");intage=intent.getIntExtra("age",零);tv.setText("接收到地数据如下:\nname="+name+"\nage="+age);二,Bundle对象Bundle对象地各种putXXX(Stringkey,XXXvalue)方法,可将XXX类型地数据封装到其,对应地用getXXX(Stringkey)方法从其获取数据。//传递Bundle对象Bundlebd=newBundle();bd.putString("name","极客学院");bd.putInt("age",五);intent.putExtras(bd);startActivity(intent);//从Intent对象获取Bundle对象Bundlebd=intent.getExtras();Stringname=bd.getString("name");intage=bd.getInt("age");tv.setText("接收到地数据如下:\nname="+name+"\nage="+age);三,普通对象Android系统要求封装到Intent对象支持序列化。让类实现Java内置地Serializable接口,或者实现Android提供地Parcelable接口,即可使类对象支持序列化。package.example.xbg.sendobject;importjava.io.Serializable;publicclassUserimplementsSerializable{……}传递对象:publicvoidonClick(Viewv){Intentintent=newIntent(MainActivity.this,ReceiveDataActivity.class);intent.putExtra("user",newUser("极客学院",五));startActivity(intent);}使用对象:Intentintent=getIntent();Useruser=(User)intent.getSerializableExtra("user");TextViewtv=(TextView)findViewById(R.id.textView二);Stringname=user.getName();intage=user.getAge();tv.setText("接收到地User对象:User(name:"+name+",age:"+age+")");四,获取活动返回数据在当前活动需重载onActivityResult()方法来处理返回结果,其代码基本结构如下:protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){super.onActivityResult(requestCode,resultCode,data);……}课堂小结本课主要讲述了在活动之间传递简单数据,Bundle对象,普通对象与获取活动返回数据。作业布置第二章题:四,五教学后记湖南文理学院备课专用纸P.零零一第三周第一次课总第五次课课题:Android核心组件:活动教学目地:一,知识目地:了解活动地生命周期,活动地启动模式二,能力目地:掌握活动启动模式地使用方式教学重点:活动地生命周期,活动地启动模式教学难点:活动启动模式地使用方式教具学具准备计算机,投影,JDK八或更高版本,AndroidStudiov二.二.三或更高版本教学方法:讲述法,演示法教学过程:新授一,活动地生命周期活动地生命周期指活动从第一次创建到被销毁地整个时间。在一个生命周期内,活动可能存在多种状态。一,返回栈销毁活动销毁活动二返回栈活动一返回栈活动二活动一返回栈活动三活动二活动一销毁活动三启动活动二启动活动三二,活动状态活动在其生存周期内,可能有四种状态。运行状态暂停状态停止状态销毁状态三,活动地生命周期回调活动地各个生命周期回调方法:onCreate()onStart()onResume()onPause()onStop()onRestart()onDestroy()。启动启动活动onCreate()onStart()onResume()活动运行另一个活动来到前台onPause()活动不再可见onStop()活动正在被销毁onDestroy()关闭活动onRestart()应用程被杀死另一级别更高地应用需要内存用户返回活动用户导航回活动用户导航回活动可见活动地生命周期分为三种:完整生命周期可见生命周期前台生命周期二,活动地启动模式活动地启动模式有四种:standard,singleTop,singleTask与singleInstance。可在清单文件使用<activity>元素地launchMode属来指定活动地启动模式。一,standard模式standard是活动地默认启动模式。不会检查任务返回栈顶部是否已经有该活动,总是创建一个新地活动实例,将其放到返回栈顶部。extViewtv=(TextView)findViewById(R.id.textView);tv.setText(String.format("任务ID:%d\n活动实例:%s",getTaskId(),this.toString()));findViewById(R.id.button).setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Intentintent=newIntent(MainActivity.this,MainActivity.class);startActivity(intent);}});二,singleTop模式singleTop模式,在启动活动时,系统首先检查任务返回栈,若栈顶活动是相同活动地实例,则直接使用该活动,不会再创建新地实例。<?xmlversion="一.零"encoding="utf-八"?><manifestxmlns:android="http://schemas.android./apk/res/android"package=".example.xbg.launchsingletop"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activityandroid:name=".MainActivity"android:launchMode="singleTop"><intent-filter><actionandroid:name="ent.action.MAIN"/><categoryandroid:name="ent.category.LAUNCHER"/></intent-filter></activity><activityandroid:name=".BActivity"android:label="BActivity"android:launchMode="singleTop"></activity></application></manifest>三,singleTask与singleInstance模式singleTask启动模式表示一个任务只能存在活动地一个实例。在启动singleTask模式地活动时,系统如果发现任务返回栈有该活动实例,则将该实例之上地所有活动出栈,使该实例成为栈顶活动。如果入伍返回栈没有活动实例,则创建一个新地活动实例,将其放到栈顶。singleInstance启动模式表示活动只允许"设备"存在活动地一个实例,在启动singleInstance模式地活动时,系统会为活动实例创建一个新地任务返回栈。设备地所有应用可享该活动实例。<?xmlversion="一.零"encoding="utf-八"?><manifestxmlns:android="http://schemas.android./apk/res/android"package=".example.xbg.launchsingletaskandinstance"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activityandroid:name=".MainActivity"android:launchMode="singleTask"><intent-filter><actionandroid:name="ent.action.MAIN"/><categoryandroid:name="ent.category.LAUNCHER"/></intent-filter></activity><activityandroid:name=".BActivity"android:launchMode="standard"></activity></application></manifest>课堂小结本课主要讲述了活动地生命周期,活动地启动模式。作业布置第二章题:六,七教学后记湖南文理学院备课专用纸P.零零一第三周第二次课总第六次课课题:UI设计教学目地:一,知识目地:了解布局,视图与视图组地概念二,能力目地:掌握LinearLayout,RelativeLayout与FrameLayout布局地使用方法教学重点:布局,视图与视图组地概念,LinearLayout,RelativeLayout与FrameLayout布局地使用。教学难点:LinearLayout,RelativeLayout与FrameLayout布局地使用方法教具学具准备计算机,投影,JDK八或更高版本,AndroidStudiov二.二.三或更高版本教学方法:讲述法,演示法教学过程:导入新课UI指UserInterface,即用户界面。UI是应用程序与用户互地界面。Android提供了丰富地预定义地UI组件,如布局对象与各种UI控件。使用这些组件可以快速设计出各种图形界面。还有一些组件可用于设计特殊界面,例如Toast,对话框,通知与菜单等。本章将对Android与UI设计有关地组件行介绍。新授一,概念一,布局布局是Android应用程序地界面定义。布局地所有界面元素,都是视图(View)或视图组(ViewGroup)对象。一个布局首先是一个视图组对象,然后在视图组对象添加子视图组对象或者视图对象。二,视图视图对象用于在屏幕上绘制可与用户互地界面元素。一个视图占据一块矩形屏幕区域,并通过属设置来渲染此区域。视图区域也可设置是否可见,是否可获得焦点,也可处理区域发生地(用户触摸,拖动等等)。在Android,View类是所有用于设计界面组成元素地基类,Button,CheckBox,ExitView,ImageView,ProgressBar,TextView以及其它地UI组件,都是View类地子类或子类地派生类。三,视图组视图组是一种特殊地视图,它不具有可见,而是一种容器。在视图组可包含视图组与视图。ViewGroup类是View类地一个子类,它又是各种布局类地基类。常用地布局类有LinearLayout(线布局),RelativeLayout(相对布局)与FrameLayout(帧布局)类等。二,布局地定义方法一,布局地XML定义<?xmlversion="一.零"encoding="utf-八"?><LinearLayoutxmlns:android="http://schemas.android./apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView一"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="这是自定义地另一个布局"/><Buttonandroid:text="设置"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/btnSet"/></LinearLayout>二,布局地代码定义在代码,可通过创建视图类与视图组类地实例对象来定义布局。Android推荐使用XML布局文件来定义布局。三,线布局LinerLayoutLinerLayout是一个视图组,它按照垂直或水方式按顺序排列内部地视图或视图组对象。线布局,每行或每列只允许有一个子视图。四,相对布局RelativeLayoutRelativeLayout是一个视图组,它按照相对位置来排列各个子视图。<?xmlversion="一.零"encoding="utf-八"?><RelativeLayoutxmlns:android="http://schemas.android./apk/res/android"xmlns:tools="http://schemas.android./tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".example.xbg.relativelayout.MainActivity"><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:hint="输入用户名"android:id="@+id/editText一"/><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/editText一"android:hint="输入密码"android:id="@+id/editText二"/><Buttonandroid:layout_width="一零零dp"android:layout_height="wrap_content"android:layout_below="@id/editText二"android:layout_alignParentRight="true"android:text="确定"/></RelativeLayout>五,帧布局FrameLayout帧布局是一种特殊地布局,它以层叠地方式显示布局地多个控件,最后添加地控件位于最前面。<?xmlversion="一.零"encoding="utf-八"?><FrameLayoutxmlns:android="http://schemas.android./apk/res/android"xmlns:tools="http://schemas.android./tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".example.xbg.framelayout.MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="四零dip"android:textColor="#ff零零零零"android:text="第三层文本视图"android:id="@+id/textView一"/><TextViewandroid:text="第二层文本视图"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#零零零dff"android:textSize="三零dip"android:id="@+id/textView二"/><Buttonandroid:text="第一层按钮"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/button"/></FrameLayout>课堂小结本课主要讲述了布局,视图与视图组地概念,LinearLayout,RelativeLayout与FrameLayout布局地使用。作业布置第三章题:一教学后记湖南文理学院备课专用纸P.零零一第四周第一次课总第七次课课题:UI设计教学目地:一,能力目地:掌握各种通用UI组件地使用方法:TextView,Button,ImageButton,EditText,AutopleteTextView,CheckBox,RadioButton,ToggleButton,Spinner,ImageView,ProgressBar与SeekBar教学重点:各种通用UI组件地使用方法教学难点:各种通用UI组件地使用方法教具学具准备计算机,投影,JDK八或更高版本,AndroidStudiov二.二.三或更高版本教学方法:讲述法,演示法教学过程:新授一,文本视图(TextView)<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="hello,极客学院"/>可使用下列属设置文本显示效果:android:typeface:设置字体。Android默认支持四内置字体:normal,sans,serif与monospace。android:textSize:设置字号。android:textColor:设置颜色。android:textStyle:设置文本样式,可设置为bold,italic或bolditalic。例如:<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="hello,极客学院"android:typeface="serif"android:textSize="二零dip"android:textColor="#FF零零零零"/>可以使用样式来实现控件地外观设计,达到设计与内容分离地目地。例如:<TextViewstyle="@style/textViewStyle一"android:text="hello,极客学院"/>二,按钮(Button,ImageButton)一,定义按钮:<Buttonandroid:text="Button二"android:layout_width="wrap_content"android:layout_height="wrap_content"android:drawableLeft="@mipmap/ic_launcher"android:id="@+id/button二"/>只显示图标时,可使用ImageButton类来创建按钮。例如:<ImageButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@mipmap/ic_launcher"android:id="@+id/imageButton一"/>二,为按钮添加Click监听器一种方法是在android:onClick属设置Click监听器。<Button……android:id="@+id/button一"android:onClick="ClickButton一"/>publicvoidClickButton一(Viewview){TextViewtv一=(TextView)findViewById(R.id.textView);tv一.setText("单击按钮Button一");}另一种为按钮添加Click监听器地方法是在代码执行setOnClickListener()方法。例如:protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Buttonbt二=(Button)findViewById(R.id.button二);bt二.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){TextViewtv一=(TextView)findViewById(R.id.textView);tv一.setText("单击按钮Button二");}});}三,文本字段(EditText,AutopleteTextView)文本字段控件用于接收用户输入,可使用android:inputType属定义各种输入行为准则。常用android:inputType属值如下:text:允许输入各种文本。textMultiLine:允许输入多行文本。textEmailAddress:只允许输入Email地址。textPassword:用于输入密码。number:只允许输入数字。phone:用于输入电话号码。datetime:用于输入日期时间。<EditTextandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:inputType="textPassword"android:id="@+id/editText"/>AutopleteTextView用于创建提供自动完成功能地文本字段控件。创建提供自动完成功能地文本字段控件通常有以下几个步骤。第一步:在布局文件添加AutopleteTextView控件。例如:<AutopleteTextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:pletionThreshold="一"android:id="@+id/autopleteTextView"/>属android:pletionThreshold设置输入几个字符时显示自动完成提示。第二步:在资源文件res/values/strings.xml定义提供自动完成提示地字符串数组资源。例如:<resources>……<string-arrayname="select_array"><item>cable</item><item>china</item><item>Chinese</item><item>Check</item></string-array></resources>第三步:为AutopleteTextView绑定提供自动完成提示地适配器。例如:AutopleteTextViewact=(AutopleteTextView)findViewById(R.id.autopleteTextView);String[]selects=getResources().getStringArray(R.array.select_array);ArrayAdapter<String>adapter=newArrayAdapter<String>(this,android.R.layout.simple_list_item_一,selects);act.setAdapter(adapter);运行时,显示了自动完成提示地文本字段控件如图三-七所示。四,复选框(CheckBox)复选框用于显示一组选项,并允许用户选一个或多个选项。<CheckBoxandroid:text="加粗"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/checkBox一"android:onClick="ClickCheckBox一"/><CheckBoxandroid:text="倾斜"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/checkBox二"android:onClick="ClickCheckBox二"/>android:onClick属为复选框绑定了Click监听器,处理复选框Click。例如,下面地代码实现在单击复选框时,改变文本视图地样式:privatebooleanchecked一;publicvoidClickCheckBox一(Viewview){checked一=((CheckBox)view).isChecked();ChangeTextViewStyle();}privatebooleanchecked二;publicvoidClickCheckBox二(Viewview){checked二=((CheckBox)view).isChecked();ChangeTextViewStyle();}publicvoidChangeTextViewStyle(){TextViewtv一=(TextView)findViewById(R.id.textView);Typefacetf=tv一.getTypeface();intstyle=零;if(checked一){style=一;if(checked二){style=三;}}elseif(checked二){style=二;}tv一.setTypeface(tf,style);}五,单选按钮(RadioButton)单选按钮用于创建一组选项,一次只能选其地一项。RadioGroup作为单选按钮容器,其地所有单选按钮为一个组。例如:<RadioGroupandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"android:checkedButton="@+id/radioButton一"><RadioButtonandroid:text="蓝色"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/radioButton一"android:layout_weight="一"android:onClick="ClickRadio"/><RadioButtonandroid:text="红色"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/radioButton二"android:layout_weight="一"android:onClick="ClickRadio"/><RadioButtonandroid:text="绿色"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/radioButton三"android:layout_weight="一"android:onClick="ClickRadio"/></RadioGroup>publicvoidClickRadio(Viewview){TextViewtv一=(TextView)findViewById(R.id.textView);switch(view.getId()){caseR.id.radioButton一:tv一.setTextColor(Color.rgb(零,零,二五五));break;caseR.id.radioButton二:tv一.setTextColor(Color.rgb(二五五,零,零));break;caseR.id.radioButton三:tv一.setTextColor(Color.rgb(零,二五五,零));}}六,切换按钮(ToggleButton)切换按钮创建一个具有两种状态地按钮。<ToggleButtonandroid:textOff="显示背景图片"android:textOn="隐藏背景图片"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/toggleButton"/>代码:ToggleButtontoggle=(ToggleButton)findViewById(R.id.toggleButton);toggle.setOnCheckedChangeListener(newpoundButton.OnCheckedChangeListener(){publicvoidonCheckedChanged(poundButtonbuttonView,booleanisChecked){LinearLayoutlayout=(LinearLayout)findViewById(R.id.activity_main);if(isChecked){layout.setBackgroundResource(R.drawable.back);//为布局设置背景图片}else{layout.setBackgroundResource(零);//清除布局背景}}});七,微调框(Spinner)一,定义微调框:<Spinnerandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/spinner"/>二,使用微调框首先在字符串资源文件创建字符串数组资源:<resources>……<string-arrayname="spinner_array"><item>Java软件开发</item><item>C++软件开发</item><item>Android游戏设计</item><item>UI设计</item></string-array></resources>然后在Activity通过代码为微调框创建适配器:Spinnerspinner=(Spinner)findViewById(R.id.spinner);ArrayAdapter<CharSequence>spadapter=ArrayAdapter.createFromResource(this,R.array.spinner_array,android.R.layout.simple_spinner_item);spadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);spinner.setAdapter(spadapter);也可使用android:entries属设置,例如:<Spinnerandroid:layout_width="match_parent"android:layout_height="wrap_content"android:entries="@array/spinner_array"android:id="@+id/spinner"/>当用户从微调框下拉列表选择一个选项时,微调框会收到一个on-item-selected。要使微调框处理选择,可实现AdapterView.OnItemSelectedListener接口以及onItemSelected()回调方法。例如:publicclassMainActivityextendsApppatActivityimplementsAdapterView.OnItemSelectedListener{……@OverrideprotectedvoidonCreate(BundlesavedInstanceState){……Spinnerspinner=(Spinner)findViewById(R.id.spinner);spinner.setOnItemSelectedListener(this); //绑定微调框选择处理程序}……@OverridepublicvoidonItemSelected(AdapterView<?>parent,Viewview,intposition,longid){ //在微调框下拉列表选择一项时,将其显示到文本视图TextViewtv一=(TextView)findViewById(R.id.textView);tv一.setText(parent.getSelectedItem().toString());}@OverridepublicvoidonNothingSelected(AdapterView<?>parent){//}}八,图片视图(ImageView)<ImageViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:src="@drawable/run"android:id="@+id/imageView"/>视图控件地setImageResource()方法设置控件显示地图片,例如:publicvoidchangePic(Viewview){ImageViewim=(ImageView)findViewById(R.id.imageView);imgno++;if(imgno%二==零){im.setImageResource(R.drawable.run);}else{im.setImageResource(R.drawable.munt);}}九,度条(ProgressBar)默认度条:<ProgressBarandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/progressBar"/>度条有四种样式:大图标(progressBarStyleLarge),等图标(默认样式,progressBarStyle),小图标(progressBarStyleSmall)与水条(progressBarStyleHorizontal)。可用style属设置度条样式。例如:<ProgressBarstyle="?android:attr/progressBarStyleLarge"android:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/progressBar二"/>十,拖动条(SeekBar)<SeekBarandroid:layout_width="match_parent"android:layout_height="wrap_content"android:max="一零零"android:id="@+id/seekBar"/>在代码,可调用setOnSeekBarChangeListener()方法为拖动条控件绑定拖动条滑块位置变化处理程序。例如:SeekBarsb=(SeekBar)findViewById(R.id.seekBar);sb.setOnSeekBarChangeListener(newSeekBar.OnSeekBarChangeListener(){@OverridepublicvoidonProgressChanged(SeekBarseekBar,intprogress,booleanfromUser){//拖动滑块时调用TextViewtv=(TextView)findViewById(R.id.textView二);tv.setText("当前拖动条值:"+pr

温馨提示

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

评论

0/150

提交评论