![[派盛java]android开发培训_第1页](http://file.renrendoc.com/FileRoot1/2017-12/18/945e84a0-60de-4cb4-a4c5-3b2a5c435204/945e84a0-60de-4cb4-a4c5-3b2a5c4352041.gif)
![[派盛java]android开发培训_第2页](http://file.renrendoc.com/FileRoot1/2017-12/18/945e84a0-60de-4cb4-a4c5-3b2a5c435204/945e84a0-60de-4cb4-a4c5-3b2a5c4352042.gif)
![[派盛java]android开发培训_第3页](http://file.renrendoc.com/FileRoot1/2017-12/18/945e84a0-60de-4cb4-a4c5-3b2a5c435204/945e84a0-60de-4cb4-a4c5-3b2a5c4352043.gif)
![[派盛java]android开发培训_第4页](http://file.renrendoc.com/FileRoot1/2017-12/18/945e84a0-60de-4cb4-a4c5-3b2a5c435204/945e84a0-60de-4cb4-a4c5-3b2a5c4352044.gif)
![[派盛java]android开发培训_第5页](http://file.renrendoc.com/FileRoot1/2017-12/18/945e84a0-60de-4cb4-a4c5-3b2a5c435204/945e84a0-60de-4cb4-a4c5-3b2a5c4352045.gif)
已阅读5页,还剩205页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教师:柳峰,智能手机操作系统介绍,目录,什么是智能手机智能手机的特点智能手机操作系统,什么是智能手机,智能手机(Smart Phone),注:全球多数手机厂商都有智能手机产品,而芬兰诺基亚、美国苹果、加拿大RIM(黑莓)、美国摩托罗拉、中国台湾宏达(htc)更是智能手机中的佼佼者。,智能手机是指像个人电脑一样,具有独立开放的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称。,智能手机的特点,具备无线接入互联网的能力具有PDA的功能具有开放性的操作系统人性化功能强大、扩展性能强,注:以前对智能手机的定义是有操作系统和中央处理器等软硬件的手机。这个说法是错的,例如:大多非智能手机和智能手机一样使用英国ARM公司架构的CPU,非智能手机也有操作系统如芬兰诺基亚S40、美国摩托罗拉P2K、英国索尼爱立信A200、中国台湾MTK(三星、LG、夏普、中国品牌和山寨手机使用)等。,智能手机操作系统(1),Linux特点,Linux手机操作系统是由计算机Linux操作系统“变化”而来的。简单地说,Linux是一套免费使用和自由传播的操作系统。它支持32位和64位处理器,在计算机领域中,主要用于配备Intel x86系列CPU的计算机,在手机领域中,较具代表性的产品有摩托罗拉A768。,Linux操作系统稳定、可靠、安全;Linux具有强大的网络功能;Linux的源代码开放。,智能手机操作系统(2),Blackberry OS特点,BlackBerry OS由Research In Motion为其智能手机产品BlackBerry开发的专用操作系统。这一操作系统具有多任务处理能力,并支持特定的输入装置,如滚轮、轨迹球、触摸板以及触摸屏等。代表机型:9900,强大的邮件处理能力(Push E-mail);QWERT键盘;高安全性。,智能手机操作系统(3),Palm OS特点缺点,Palm OS是3Com公司开发的一种32位的嵌入式操作系统,原本是一家生产掌上电脑及掌上电脑操作系统为主的公司,Palm智能手机所用的操作系统又与PALM掌上电脑所用的操作系统非常相似。代表机型Treo 650。,Palm操作系统本身所占的内存极小;Palm平台的应用程序所占空间也很小。,不支持WIFI、GPS;Palm OS不支持多线程技术。,Palm OS曾被誉为移动设备中的Windows,当年在智能手机领域占绝对垄断地位。于09年2月被Palm宣布放弃!,智能手机操作系统(4),Web OS特点缺点,Web-based Operating System,基于网络的操作系统。Palm在宣布放弃Palm OS后,将主要精力放在Palm Web OS上。代表机型Palm Pre。,基于浏览器的虚拟操作系统。,Web OS受网络速度的影响。,2010年4月29日,惠普斥资12亿美元现金收购Palm。2011年8月19日,惠普宣布放弃Web OS手机和平板电脑。,智能手机操作系统(5),Symbian OS特点,Symbian 操作系统是Symbian公司为手机而设计的操作系统,它包含联合的数据库、使用者界面架构和公共工具的参考实现,它的前身是EPOC(Electronic Piece of Cheese)。经典机型:N7610、N70、N95等。,采用了系统内核与人机界面分离技术;对硬件的要求比较低;支持C、VB、J2ME等多种语言环境;兼容性和扩展性出色。,1998年,诺基亚、摩托罗拉、爱立信、三菱和宝意昂共同投资成立Symbian公司,于2008年被诺 基亚全额收购。,智能手机操作系统(6),Windows Mobile特点,Windows Mobile是微软为智能移动终端设备使用的操作系统,Windows Mobile将用户熟悉的桌面Windows体验扩展到了移动设备上。基于Windows Mobile操作系统的智能终端设备分为两个大类Pocket PC和Smartphone。经典机型:魅族M8、多普达Diamond等。,界面类似于PC上的Windows,易于操作;支持C、VB、J2ME等多种语言环境;兼容性和扩展性出色。,智能手机操作系统(7),iOS特点,iOS是由苹果公司为iPhone开发的操作系统,主要用在iPhone和iPod上。iOS是一款具有革命性的、划时代的操作系统。代表机型:iPhone 3GS、iPhone 4。,iOS拥有简单易用的界面;系统的稳定性强。,智能手机操作系统(8),Android特点,Android也是Google于07年11月5日宣布的基于Linux平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。代表机型:摩托罗拉里程碑、T-mobile G1、索爱X10等。,完全开放的平台;更多的硬件平台选择;无缝结合google应用,智能手机操作系统(9),OMS特点,OMS是中国移动“深度定制”的移动操作系统。OMS是基于Linux内核,采用Android源代码,但在业务层和用户体验层与此前的谷歌手机完全不一样。OMS将中国移动数据业务与手机用户体验深度结合,并在应用中针对国人习惯进行创新改良设计。代表机型:联想O1。,较强的用户体验;更符合国人的使用习惯;,移动操作平台发展现状,教师:柳峰,目录,2011 开发者经济调查报告编程语言排行榜智能手机市场对比,2011开发者经济调查报告,平台的使用比例,67% 的开发者使用 Android 平台,比 2010 年上涨 8% 59% 的开发者使用 iOS 平台,比 2010 年上涨 9%。 56% 的开发者使用 Mobile Web,比 2010 年上涨 16%。 46% 的开发者使用 Java ME,比 2010 年下降 4%。 45% 的开发者使用 Blackberry 平台,比 2010 年上涨 5%。 38% 的开发者使用 Symbian,比 2010 年下降 8% 36% 的开发者使用 Windows Phone,比 2010 年下降 3%。,注: Mobile Web 的使用有了令人惊讶的转变,在开发者的意愿中已经占据了第3位。,2011开发者经济调查报告,收入模式,1. 无论哪种平台,近一半开发者的收入来自公司;2. 应用商店模式:Android,iOS、Blackberry、WP7和J2ME;3. 采取直接收取费用模式的各平台情况对比,2011开发者经济调查报告,收入情况,如果每个应用的收入以 Symbian 为参照点(1 点),那么收入最高的平台是 iOS 和 J2ME 平台。,编程语言排行榜,2010年2月TIOBE编程语言排行,2011年7月TIOBE编程语言排行,美国智能手机市场,国内智能手机市场,Android简介,教师:柳峰,目录,Android系统的由来Android系统的版本Android系统的特点,Android系统的由来,Android之父- Andy Rubin,Andy Rubin1963年生于纽约州。先后创办了Danger和Android两个公司;Danger公司后来被微软收购,而Android公司被Google收购。,Andy Rubin、 Andy McFadden和Richard Miner Chris White于2003年共同创办了Android公司,公司的主要业务是手机软件和操作系统。,2005年,Google低调收购了Android公司,Rubin留在了Google,负责将Android开发成为一款开源的操作系统。Rubin现在担任Google的工程副总裁。,Android系统的由来,Android简介,Android是基于Linux内核的操作系统,是Google公司于2007年11月5日公布的智能手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。,2011年初数据显示,仅正式推出三年的操作系统Android已经超越称霸十年的塞班系统,采用Android系统主要厂商包括摩托罗拉、索尼爱立信,另外还有国内厂商HTC、联想、华为等,使之跃居全球最受欢迎的智能手机平台,Android系统不仅应用于智能手机,也在平板电脑市场急速扩张。,Android系统的版本,Android系统的特点,五大特点,平台开放性;挣脱运营商的束缚;丰富的硬件选择;不受任何限制的开发商;无缝结合的Google应用,Android系统架构,教师:柳峰,目录,Android系统架构图Android系统架构详解,Android系统架构图,Android系统架构详解(1),Linux kernel,Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。,Android系统架构详解(2),Android Runtime,Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理。,Android系统架构详解(3),Libraries,Android包含一个C/C+库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库:系统C库、媒体库、界面管理、LibWebCore、SGL、3D库、FreeType、SQLite,Android系统架构详解(4),Application Framework,通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等。,Android系统架构详解(5),Applications,Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发!。,Android开发环境搭建,教师:柳峰,目录,Android开发工具准备Android开发环境搭建开发第一个Android应用,Android开发工具准备,开发Android应用所需工具,JDKAndroid SDKEclipseAndroid Development Tools(Eclipse 插件),Android开发环境搭建,JDK的安装,下载地址:/technetwork/java/javase/downloads/index.html建议:下载安装jdk1.5以上版本,下载后双击安装即可,假设安装在D:Program Files目录下,如下图所示。环境变量: 右键点击“我的电脑”,依次选择“属性”-“高级”-“环境变量”验证:,Android开发环境搭建,Android SDK的下载Android SDK的安装,官方下载地址:/sdk/index.htmlSDK管理器下载: /android/android-sdk_r08-windows.zipSDK1.5下载:/android/android-sdk-windows-1.5_r3.zipSDK1.6下载:/android/repository/android-1.6_r02-windows.zipSDK2.0下载:/android/repository/android-2.0_r01-windows.zipSDK2.0.1下载:/android/repository/android-2.0.1_r01-windows.zipSDK2.1下载:/android/repository/android-2.1_r01-windows.zipSDK2.2下载:/android/repository/android-2.2_r01-windows.zipSDK2.3下载:/android/repository/platform-tools_r01-windows.zip,在线安装:1、安装Android SDK管理器; 2、在线安装SDK:/android/repository/repository.xml离线安装:1、安装Android SDK管理器; 2、解压各版本的SDK到platforms/、add-ons/、usb_driver/目录,Android开发环境搭建,Eclipse的安装,下载地址:/downloads/,说明:下载” Eclipse IDE for Java Developers” ,下载后解压即可完成安装。,Android开发环境搭建,Eclipse ADT的安装Eclipse ADT的配置,在线安装: /android/eclipse/离线安装: /android/ADT-8.0.0.zip,开发第一个Android应用(1),Hello应用程序的开发,开发第一个Android应用(2),运行截图,Android项目结构,教师:柳峰,目录,Android项目结构详解R.java与项目资源的对应关系,Android项目结构详解,Eclipse下的Android项目结构,R.Java与项目资源的对应关系,对应关系图,说明:R.java是在构建项目时自动生成的,该类中的内容会根据res目录下资源的变化而变化,开发人员不要去修改R.java类。,Android模拟器的使用,教师:柳峰,目录,Android模拟器介绍模拟器与真机的区别Android模拟器上的常用操作常用的Android命令在模拟器上访问本机Web资源,Android模拟器介绍,模拟器简介,模拟器(Emulator)也叫“仿真器”,它是一种应用程序,通过它可以在电脑或多媒体平台上运行体验其它平台上的程序。Android提供了一个用来模拟ARM核移动设备的模拟器。Android模拟器是基于QEMU开发的,QEMU是一套用于模拟处理器的开源项目()。,Android模拟器介绍,模拟器与真机的区别,主要区别,不支持呼叫和接听真实来电,但可以模拟电话呼叫不支持USB连接不支持相机、视频捕捉不支持音频输入(捕捉),但支持音频输出不支持扩展耳机不能确定连接状态不能确定电池电量和交流充电状态不能确定SD卡的插入/弹出不支持蓝牙,Android模拟器上的常用操作,常用操作,设置语言环境为中文 MENU Settings Locale & text Select locale 中文(简体)为应用程序创建桌面快捷方式 MENU 添加 快捷方式添加窗口小部件(AppWidget) MENU 添加 窗口小部件查看模拟器上已安装的应用程序 MENU 设置 应用程序 管理应用程序,常用的Android命令(1),创建模拟器相关命令,查看当前支持的Android版本 android list target创建AVD(Android 虚拟设备) android create avd n AVD的名称 t AVD的类型启动模拟器 emulator avd AVD的名称 emulator AVD的名称启动模拟器时指定皮肤 emulator AVD的名称 skin 皮肤类型查看已创建的AVD android list avd,常用的Android命令(2),执行shell命令,进入模拟器的shell环境 adb shell执行单条shell命令 adb shell shell命令打印内核调试信息 adb shell dmesg连接到 sqlite3 adb shell sqlite3,常用的Android命令(3),上传、下载和安装,上传文件到模拟器 adb push 本地文件绝对路径 模拟器上的存储位置 示例:adb push D:info.txt /tmp从模拟器上取文件 adb pull 模拟器上的文件路径 示例:adb pull /tmp/info.txt给模拟器安装应用程序 adb install apk应用程序在本地的存储路径 示例:adb install D:Google_Maps_4.1.1.apk,常用的Android命令(4),模拟电话呼叫和短信发送,模拟电话呼叫 执行“cmd”,打开DOS窗口 执行“telnet localhost 5554”,远程连接到模拟器 执行“gsm call,模拟电话呼叫模拟短信发送 执行“cmd”,打开DOS窗口 执行“telnet localhost 5554”,远程连接到模拟器 执行“sms send短信内容”,模拟短信发送,说明:1)5554表示adb服务为当前模拟器实例服务的端口号 2模拟器的SIM卡号,在模拟器上访问本机Web资源,说明:在Android模拟器上,将本地地址映射到,而不是,也不能使用localhost。例::8080/index.jsp,Android程序调试,教师:柳峰,目录,常用的调试方法DDMS介绍Logcat的使用,常用的调试方法(1),Eclipse的Debug模式,使用Eclipse开发应用程序必须要熟练掌握的调试技术,主要包括:断点设置、查看变量值、查看当前堆栈等。,常用的调试方法(2),单元测试工具jUnit,Android已经增加了对jUnit的支持,可以测试Android应用程序中的Activity、Service、普通Java类等。,常用的调试方法(3),结合Android SDK进行调试,Android SDK为我们提供了android.util.Log类,它的作用类似于Log4j,能够定义不同级别的日志,并将其输出到IDE的控制台。,DDMS介绍,什么是DDMS,DDMS的全称是Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。DDMS为IDE和emultor及真正的android设备架起来了一座桥梁。开发人员可以通过DDMS看到目标机器上运行的进程/线程状态。,DDMS介绍,Eclipse中的DDMS视图,安装好ADT插件后,在Eclipse中会有一个DDMS视图。,Logcat的使用,在Logcat中查看日志,Android的四大组件介绍,教师:柳峰,目录,Android应用程序组件Activity简介Service简介Broadcast Receiver简介Content Provider简介,Android应用程序组件,四大组件,Android应用程序能够实例化和运行需要几个必要的组件:Activity、Service、Broadcast Receiver和Content Provider。并不是所有的应用程序都必须包含上面4个组件,你的应用程序可以由上面的一个或多个来创建。,Activity,简介,Activity即活动,它表示一个具有焦点的、可视化的、可操作的用户接口。每一个活动都是继承于基类Activity。一个应用程序可以只有一个活动,也可以有多个。,Service,简介,Android开发中,当需要创建在后台运行的程序时,就需要用到Service。每一个Service都继承于基类Service。Service不需要可视化的用户界面,并且用户在处理其它问题时,服务仍然能够根据需要继续运行。最为典型的Service应用:播放音乐。,Broadcast Receiver,简介,在Android里面有各种各样的广播,比如电池的电量变化、来电和接收到短信都会产生一个广播,应用程序开发者可以监听这些广播并做出程序逻辑的处理。一个应用可以有很多广播接收器来对它认为重要的通知做出反应。所有的接收器继承于BroadcastReceiver基类。广播接收器不展示一个用户界面。但是,它们可以为他们接收到得信息启动一个活动,或者它们可以使用NotificationManager来通知用户。,Content Provider,简介,内容提供者继承于ContentProvider基类,实现了一套标准的允许其他用户检索,储存数据的方法。但是,应用程序并不能直接使用这些方法。他们必须使用ContentProvider的实例,调用它的方法。ContentResolver可以与任何内容提供者交流,他们之间的合作可以管理进程间的通信。,Activity开发详解,教师:柳峰,目录,认识ActivityActivity的开发步骤Activity的生命周期Activity中的常用方法Intent介绍Activity间的数据传递,认识Activity,Activity的开发步骤,主要步骤,1、创建一个Java类,继承android.app.Activity;2、重写Activity的onCreate()方法;3、向Activity中添加视图组件;4、在AndroidManifest.xml中进行配置,Activity的生命周期,生命周期方法,onCreateonStartonResumeonPauseonStoponRestartonDestory,说明:7个生命周期方法分别在Activity的启动、失去焦点、重新获得焦点和关闭Activity四个阶段按一定顺序被调用。,Activity中的常用方法(1),常用方法介绍,findViewById:Finds a view that was identified by the id attribute from the XML that was processed in onCreate(Bundle).1、在何处使用?2、从何处查找?3、查找什么?4、什么时候需要使用? 并不是所有在xml布局文件中定义的view都需要使用findViewById。,Activity中的常用方法(2),常用方法介绍,finish:Call this when your activity is done and should be closed. The ActivityResult is propagated back to whoever launched you via onActivityResult().关闭当前的Activity。,Activity中的常用方法(3),常用方法介绍,startActivity:Launch a new activity. You will not receive any information about when the activity exits.启动另一个Activity,用于实现Activity的切换。,Intent介绍,基本作用,Android应用主要是由一些组件组成,如Activity、Service、Broadcast Receiver等,这些组件之间的通讯是由Intent协助完成。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent在这里起着实现调用者与被调用者之间的解耦作用。,Intent介绍,包含的信息,一个Intent对象包含了一组信息:Component name, Action, Data, Category, Extras, Flags。,Activity间的数据传递,方式一,从源Activity中传递数据,在目标Activity中接收数据。1)从源Activity中传递数据 Intent intent = new Intent(); intent.putExtra(userName, liufeng); intent.setClass(Activity_A.this, Activity_B.class); startActivity(intent);2)目标Activity中接收数据 Intent intent = getIntent(); String userName = intent.getStringExtra(userName);,Activity间的数据传递,方式二,从源Activity中传递数据,在目标Activity中接收数据。1)从源Activity中传递数据 Bundle bundle = new Bundle(); bundle.putString(userName, liufeng); Intent intent = new Intent(); intent.setClass(Activity_A.this, Activity_B.class); intent.putExtras(bundle); startActivity(intent);2)目标Activity中接收数据 Intent intent = getIntent(); String userName = intent.getStringExtra(userName);,Activity间的数据传递,方式三,在源Activity中通过Intent将请求传递到目标Activity,在源请求Activity中等待应答结果,通过重写onActivityResult()方法。,Intent intent = new Intent();intent.setClass(FirstActivity.this, SecondActivity.class);/ 1表示请求码,用于区分多个请求的情况startActivityForResult(intent,617);,protected void onActivityResult(int requestCode, int resultCode, Intent data) super.onActivityResult(requestCode, resultCode, data); switch (requestCode) case 617: if (resultCode = RESULT_OK) String userName = data.getStringExtra(userName);/ 打印获取的返回值Log.d(LIUFENG_TAG, userName); break; ,Intent intent = new Intent();intent.setClass(SecondActivity.this, FirstActivity.class);intent.putExtra(userName, liufeng);setResult(RESULT_OK, intent);finish();,源Activity,目标Activity,Activity间的对象传递,方式四,在某些特殊情况下,我们可能需要在Activity之间传递自定义的对象,被传递的自定义对象需要实现Serializable接口或Parcelable接口。,课堂实例:BMI计算器,教师:柳峰,目录,BMI介绍BMI计算器的开发,BMI介绍,业务知识,BMI(Body Mass Index),身体质量指数,也称之为身高体重指数。是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。主要用于统计用途,当我们需要比较及分析一个人的体重对于不同高度的人所带来的健康影响时,BMI值是一个中立而可靠的指标。,计算公式: BMI = 体重(kg) / 身高(m) / 身高(m),BMI计算器的开发,要求,1、采用单activity实现; 计算器界面和计算结果均在一个界面展示;2、采用2个activity实现 一个用于展示计算器主界面,另一个展示结果。,说明:通过BMI计算器的开发,巩固的activity的相关知识。 以后还会不断的完善该软件。,Android布局详解,教师:柳峰,目录,View与ViewGroup介绍LinearLayoutRelativeLayoutTableLayoutAbsoluteLayoutFrameLayout,View与ViewGroup介绍,简介,View是Android平台上表示用户界面的基本单元。在Android应用程序中,用户界面通过View和ViewGroup对象构建。 Android中有很多种View和ViewGroup,它们都继承自View类。View的布局方式直接影响用户界面。ViewGroup是布局类的基类。,LinearLayout,线性布局,线性布局是一个ViewGroup以线性方向显示它的子视图(view)元素,即水平地或垂直地。,android:orientation=horizontal,android:orientation=“vertical,RelativeLayout,相对布局,相对布局是一个ViewGroup以相对位置显示它的子视图(view)元素,一个视图可以指定相对于它的兄弟视图的位置(例如在给定视图的左边或者下面)或相对于RelativeLayout的特定区域的位置(例如底部对齐,或中间偏左)。,TableLayout,表格布局,表格布局是一个ViewGroup以表格显示它的子视图(view)元素,即行和列标识一个视图的位置。其实Android的表格布局跟HTML中的表格布局非常类似,TableRow就像HTML表格的标记。,TableLayout重要属性android:stretchColumns =“1“android:shrinkColumns =“1,2,3“android:collapse=“1”TableRow重要属性android:layout_column=“0”,AbsoluteLayout,绝对布局,绝对布局是一个ViewGroup以绝对方式显示它的子视图(view)元素,即以坐标的方式来定位在屏幕上位置,因此也称之为坐标而已。在布局上灵活性比较大,也较复杂,另外由于各种手机屏幕尺寸的差异很大,给开发人员带来较多困难。坐标原点为屏幕左上角。主要属性:android:layout_xandroid:layout_y,说明:一般不推荐使用绝对布局!,FrameLayout,单帧布局,FrameLayout是最简单的一个布局对象。它被指定为手机屏幕上的一个空白备用区域,你可以在其中填充一个单一对象,比如,一张你要发布的图片。所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。,常用UI控件,教师:柳峰,目录,常用UI控件介绍View及其属性介绍EditText的使用信息提示组件Spinner和ListViewGridView的使用Menu的使用,常用UI控件介绍,View及其属性介绍,知识点android.view.View是所有UI组件的父类;UI组件均位于android.widget包下;,View及其属性介绍,View组件常用属性,View及其属性介绍,IDs(组件的id属性)Views may have an integer id associated with them. These ids are typically assigned in the layout XML files, and are used to find specific views within the view tree.,在xml中定义控件的id属性,在Activity中根据id查找组件对象,说明:同一个布局中的组件id要求唯一,而并不是要求在整个工程中唯一!,View及其属性介绍,android:visibility 设置组件的可见性,EditText的使用,EditText,信息提示组件之Dialog,DialogDialog是一切对话框类的基类。但需要注意的是,虽然Dialog是可视化组件,但它并不是继承于View类,而是继承自java.lang.Object。Dialog同样也是有生命周期的,由Activity来维护。,信息提示组件之AlertDialog,AlertDialogAlertDialog是Dialog的直接子类,一个AlertDialog可以包含1-3个Button,并且可以设置其标题和显示内容。不能直接通过AlertDialog的构造函数来生成一个AlertDialog,而是通过它的内部静态类AlertDialog.builder来创建的。,信息提示组件之Toast,ToastToast是Android中用来显示信息的一种机制,与Dialog不同的是,Toast没有焦点,并且显示的时间有限制,过一会会自动消失。代码:Toast.makeText(getApplicationContext(), ”Hello World!“, Toast.LENGTH_SHORT).show();,Spinner和ListView,Adapter,几种常用的Adapter,Data与View之间的桥梁,Spinner和ListView,Adapter的创建示例,说明:android.R.layout.simple_list_item_1为系统提供的布局资源。,Spinner和ListView,Spinner 下拉列表框Spinner 是 AdapterView的子类,用于显示列表项, 每次只能选择所有项中的一项,它的数据项来源于与之相关联的适配器中。,Spinner和ListView,ListView 列表ListView是 AdapterView的子类。它是通过垂直滚动条查看的列表视图。,GridView的使用,介绍 GridView是 AdapterView的子类。一个在平面上可显示多个条目的可滚动的视图组件,该组件中的条目通过一个ListAdapter和该组件进行关联。如Android手机中呈现应用程序的视图组件即是GridView。,Menu的使用,menu种类optionsMenu 选项菜单。按下手机上的Menu键,将会显示当前应用程序的menu菜单。contextMenu 上下文菜单。类似于Windows平台上大家所熟悉的右键菜单,通过长按应用程序的相应位置显示。subMenu 子菜单。点击Menu的某一项后出现的菜单称之为子菜单。,Menu的使用,optionsMenu的用法创建菜单重写父类Activity的onCreateOptionsMenu()方法。处理菜单项选择重写父类Activity的onOptionsItemSelected()方法。,Menu的使用,contextMenu的用法创建菜单重写父类Activity的onCreateContextMenu()方法。处理菜单项选择重写父类Activity的onContextItemSelected()方法。注册菜单给某个View注册上下文菜单。registerForContextMenu(view);,Menu的使用,subMenu的用法optionsMenu和contextMenu的菜单项均可以包含子菜单。,Android的数据存储方式,教师:柳峰,目录,Android平台的数据存储介绍Shared Preferences文件存储Sqlite网络存储,Android平台的数据存储介绍,4种存储方式Android平台主要提供了四种数据存储方式:1)SharedPreferences2)文件存储3)Sqlite存储4)网络存储其中前3种存储方式是将数据存储在手机上,而网络存储的将数据存储在远程服务器上,手机客户端通过连接到网络来存储和获取数据。,SharedPreferences,简介一个轻量级的键-值存储机制,专门用于存储键-值对数据,并且仅可以存储基本的数据类型(boolean、int、long、float和String);通常使用它来存储应用程序的配置信息。应用场合SharedPreferences通常用于存储用户偏好设置,即用于保存软件的配置参数。它类似于Windows系统中的ini文件、类似于J2SE中的properties文件。,说明:实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/shares_prefs目录下。,SharedPreferences,示例保存数据SharedPreferences setting = getSharedPreferences(PREF_NAME, 0);Editor editor = setting.edit();editor.putString(key, value);mit();读取数据SharedPreferences setting = getSharedPreferences(PREF_NAME, 0);String value = setting.getString(key, defaultValue);,文件存储,简介通过FileInputStream和FileOutputStream对文件进行操作,在Android中,文件是一个应用程序私有的,一个应用程序无法读写其它应用程序的文件。,sqlite,简介sqlite是一款轻型的数据库,支持标准SQL、支持事务控制。它的设计目标是嵌入式的,占用资源非常的低,在嵌入式设备中,只需要几百K的内存就够了。 sqlite是由c实现的,广泛用于包括浏览器(支持html5的大部分浏览器,ie除外)、ios、android以及一些便携需求的小型web应用系统。Android系统内置了sqlite数据库,它本身也是一个文件数据库,数据库文件位于/data/data/databases/目录下。,sqlite,数据类型sqlite是无类型的(Typelessness),这意味着你可以保存任何类型的数据到数据表中, 无论数据表中列声明的数据类型是什么。 (虽然sqlite允许忽略数据类型, 但是仍然建议在Create Table语句中指定数据类型) sqlite 3支持 NULL、INTEGER、REAL、TEXT和BLOB(二进制对象)数据类型。虽然它支持的类型虽然只有5种,但实际上sqlite3也接受varchar(n)、char(n)、decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的以上5种数据类型之一。sqlite 在解析CREATE TABLE 语句时,会忽略 CREATE TABLE 语句中字段的数据类型信息。,说明:定义为INTEGER PRIMARY KEY的字段只能存储64位整数。,sqlite,类-SQLiteOpenHelperSQLiteOpenHelper 它是一个抽象类,用于负责数据库的创建与版本更新,通常使用它的子类来完成数据库的创建、管理操作。 SQLiteOpenHelper类有两个抽象方法:public abstract void onCreate(SQLiteDatabase db);public abstract void onUpdate(SQLiteDatabase db,int oldVersion,int newVersion);onCreate()方法一般用于在新创建的数据库中创建表、视图等,它在数据库文件第一次创建时调用。onUpdate()方法会在数据库版本号发生变化时被调用。,sqlite,类-SQLiteDatabaseSQLiteDatabase 类封装了操作数据库的API。通过该类,可以完成对数据的C(Create)、R(Retrieve)、U(Update)和D(Delete)操作,也可以进行事务控制操作。SQLiteDatabase包含的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 照明灯具选择生活常识试题及答案
- 道路交通安全知识竞赛决赛试题及答案
- (正式版)DB65∕T 4916.4-2025 《羊智慧养殖数字化应用与管理第4部分数据可视化》
- 湖南省衡阳市祁东县育贤中学2023-2024学年七年级上学期数学期中模拟试卷(含答案)
- 2026年纺织科技公司质量管理体系认证管理制度
- 2026年纺织科技公司印染废水处理运行管理制度
- 2 城市街景教学设计小学美术广西版二年级上册-广西版
- 2025年食管癌的护理题库及答案问卷星
- 2025年传染病护理案例分析题库及答案
- 5.2.2 先天性行为和学习行为 教学设计-2023-2024学年人教版生物八年级上册
- TNBSIA 001-2024 建筑设备一体化管控平台建设技术要求
- JT-T-848-2013公路用复合隔离栅立柱
- 《客舱安全与应急处置》-课件:其他辅助设备
- chap5-高性能混凝土的性能-物理力学性能
- 县河长制方案
- 基于韧性原则的乡村低密度住宅规划体系构建
- 早期工业时期英国工艺美术运动设计课件
- 综合实践《中华传统节日》课件
- 双重预防体系建设安全培训课件
- 《江苏住宅物业管理服务标准》(DB32T538-2002)
- 装饰装修质量通病防治质量通病防治措施
评论
0/150
提交评论