Android学习
1.1 安卓系统架构
-
Linux内核层:
Android是基于Linux内核的,这一层为设备提供硬件驱动,如显示,音频,照相机,wi-fi,蓝牙,电源等驱动。
-
系统运行库层:(个人理解为 魔改版jdk+jre)
通过一些C/C++库提供一些特性支持,如SQLite库提供数据库支持,Webkit库提供浏览器内核支持等。
这一层还包含Android运行时库,它主要主要提供了一些核心库,允许开发者用java来编写Android应用。还包含了Dalvik虚拟机(5.0后改为ART运行环境)
-
应用框架层:(封装常用功能的框架)
提供构建应用程序时可能用到的各种API,Android自带的一些核心功能就是使用这些API完成的,可以使用这些API构建自己的应用程序。
-
应用层:
所有安卓应用程序。
1.2 安卓开发特色
-
四大组件
Activity:活动是android的前端UI视图,凡是应用中能看的到的都放在活动中。
Service:运行的后台服务。程序退出了仍可以继续运行。
Broadcast Receiver 广播接收器,允许应用收发来自各处的广播消息,如电话,短信等。
Content Provider:内容提供器,为应用程序间共享数据提供可能,比如读取系统自带应用联系人。
-
丰富的系统控件
个人理解为各种前端组件,可以自己定制。
-
SQLite数据库
Android系统自带的轻量级,运算速度极快的嵌入式关系型数据库。支持标准SQL语法,并且Android封装好了API,使用比较方便。
-
强大的多媒体服务
音乐,视频,录音,拍照,闹铃等,可以在程序中通过代码进行控制。个人理解为安卓把这些功能封装成一个个多媒体服务,提供开发者API进行调用。
-
地理位置定位
移动设备内置GPS,Android封装成了服务。
1.3 安卓开发
环境安装略
项目架构介绍
1.3.1 页面开发介绍
安卓开发页面可以基本分为两个文件
Activity和layout的xml
Activity可以类比为js文件,activity_layout.xml可以看作是html文件。layout用来设计页面,Activity用来逻辑控制。
1.3.2 页面关闭
关闭页面对应销毁Activity,在当前Activity中调用finsh(),即可销毁页面,与点“返回”作用一样。
1.3.3 弹框提示
Toast.makeText(MainActivity.this,"You cliked Button 1",Toast.LENGTH_SHORT).show();
调用Toast类中静态方法 makeText (对应参数 1.上下文对象 2. 弹框内容 3. 显示时长)的show()方法
1.3.4 页面跳转
安卓的页面跳转依靠Intent类来实现,intent中文意思为“意图”,我们想要跳转页面就需要我们表明意图,
当new出一个Intent实例时,需要传入两个参数,告诉我们的from和to吗,示例如下:
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
参数说明:1.from的上下文对象 2.to的类
现在,我们已经构建出我们的intent,然后我们可以通过startActivity(intent)来执行我们意图。
startActivity(intent)
使用这种方式来启动活动,称之为显示Intent
startActivity(intent)来执行我们意图。
startActivity(intent)
使用这种方式来启动活动,称之为显示Intent