Android简介
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
Android的独特之处
- 基于Linux的免费开源平台:手机制造商对其钟爱有加,因为他们可以对这个平台进行定制,而无需支付版权费。开发人员也喜欢它,因为他们知道这个平台不受制于任何可能破产或被收购的厂商。
- 基于组件的架构:能够以不同于开发人员最初设想的方式使用应用的组成部分,甚至可以将内置组件替换为改进版本。
- 大量现成的服务:GPS、蓝牙、数据库、浏览器、地图。
- 自动管理应用的生命周期:多重安全保障能够将程序彼此隔离,从而提高了系统的稳定性。最终用户不必关心哪些应用处于活动状态,也无需关闭一些程序以便运行其他程序。Android针对电量和内存有限的设备进行了优化。
- 高品质图形和声音。
- 可移植性:所有程序都使用Java编写,并由Android的ART预先编译器或Dalvik虚拟机执行,因此代码可移植到ARM、x86和其他体系结构。支持各种输入方法,如键盘、游戏手柄、触摸、电视遥控、鼠标和跟踪球。可针对任何屏幕分辨率和朝向定制用户界面。
Android四大组件
Activity
Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。
Service
Service 是一段长生命周期的,没有用户界面的程序,例如网络监视器或更新检查应用程序。
Content Provider
可以将Content Provider看作数据库服务器,它的任务是管理对持久数据的访问,例如 SQLite 数据库。Content Provider使一个应用程序的指定数据集提供给其他应用程序。
BroadcastReceive
Android应用程序可以过滤感兴趣的外部事件(电话呼入、网络可用等)并做出响应。BroadcastReceive没有用户界面。然而,它们可以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager来通知用户。
Android开发环境
所需软件
- JDK
- Android Studio
- Genymotion
安装过程:next到底。
天朝可以看这个网站http://www.android-studio.org/
Genymotion需要注册才能下载,如果本地没有VM VirtualBox, 请选择 **“With VirtualBox”**的下载。
Genymotion和Android Studio关联
- 给Android Studio安装Genymotion插件:
“File – Settings – Plugins – Browse Repositories – Genymotion Download and install”
重启Android Studio后,选择菜单栏“View–Toolbar”,让工具栏显示出来,可以看到工具栏多了个Genymotion Device Manager的图标:
点击这个图标,加载之前安装好的Genymotion文件夹,启动Genymotion模拟器。
启动后选择你所需要的Android版本和手机型号就可以了。 当然了,如果要在模拟器上运行程序,还要确保模拟器加载了Android SDK:
Hello World
终于到了鸡冻人心的Hello World环节
**“File – New – New Projct”**创建新的工程文件
输入应用程序的名字和 Company Domain
选择Empty Activity
点击创建
目录文件解析
- app/manifests AndroidManifest.xml配置文件目录
- app/java 源码目录
- app/res 资源文件目录
- Gradle Scripts gradle编译相关的脚本
Activity
Activity是一个应用程序组件,提供用户与程序交互的界面
Activity创建
- 继承Android的Activity类
- 重写方法
- 设置显示布局
- 在AndroidManifest文件中,注册Activity
Activity生命周期
官方文档:
- onCreate();创建
- onStart();运行
- onResume();获取焦点
- onPause(); 失去焦点
- onStop();暂停
- onDestroy();销毁
- onRestart(); 重启
Activity四种状态
- Active/Running Activity处于界面顶端,获取焦点。
- Paused Activity失去焦点,但是对用户可见。
- Stopped Activity完全被遮挡,但保留所有的状态和成员信息。
- Killed Activity被销毁