Android培训Android课堂重点内容汇总

Android培训Android课堂重点内容汇总

一、Android Introduction

Android 是一个允许你在java环境下为手机设备开发应用和游戏的提供丰富应用框架。

二、四大组件

1、Activity

(1)定义:提供给用户一个与app进行交互的UI界面的组件

(2)创建

//步骤

(1 继承Activity或者其子类

(2 必须实现OnCreate()

(3 OnCreate()实现SetContentView(),为这个Activity提供的窗口,添加layout(布局)

(4 在配置文件AndroidManifest.xml中声明该Activity

(3)生命周期

 

(4)通过传递Intent对象启动,启动方式两种,一种不返回值startActivit(),另一种带返回值startActivityForResult()

2、Broadcast Receiver

(1)定义:用来应答全系统范围之内通知的组件,两种表现形式,一时系统组织的(例如:锁屏、电量低、截图),二是自定义的(例如:下载完成数据发送广播通知),广播通常只做非常小的事情。

3、Content Provider

(1)定义:管理app共享数据集合的组件,只要该组件允许,其他的app就可以对其进行读写操作,例如:通讯录、图库、视频、音频。

(2)通过ContentSolver,发送数据请求,接受请求结果并返回。

(3)使用ContentProvider会是应用的数据被其他应用共享,所以应谨慎使用,例如:搜索联想建议、copy/paste本应用的复杂数据到其他应用中。

4、Service

(1)定义:是一个不需要提供与用户进行交互UI的,运行在后台,进行长时间操作或者远程操作的组件。

(2)Service的两种使用类型:Started和Bound

 Started在onStartCommend()方法中接受返回值操作,需要开发者自己管理的启动与停止。

 Bound 是将服务绑定到某一个或某些特定的组件上,不需要开发者关心服务的停止,当该服务上的绑定的组件都解绑时该服务会自动销毁。

 (3) StartService()启动会激活并将结果返回到onStartCommend()中;BindService()方法激活onBind()方法。

(4)使用技巧:在onCreate()实现服务初始化,针对不同的启动类型选择相应的回调方法处理Service信息,在onDestory()中回收资源,例如线程、监听、广播接受等等,最重要的一点你的服务需要在配置文件中声明,同时为了保证你app的安全性最好设置exported属性为false,但是你的谨慎设置你的enabled属性,他决定你的service能否被实例化,尤其在绑定服务。

(5)什么时候用Thread什么时候用Service?

    前因:Service默认运行在当前app进程的主线程中,如果在Service做耗时操作,将有可能导致ANR的发生,耗时操作需要放到线程,但是Service适合执行在后台且不需要与用户进行交互和返回数据的情形,如果需要在Service中做耗时操作,则需要在Service中开启线程,其中有很多种选择:AsynTask、HandleThread或者继承自带工作线程的IntentService。

5 、总结

(1)Activity、Broadcast Receiver、Service通过传递意图参数启动(激活),并且这三者之间可以通过Intent互相交流,Content Provider不需要,它通过Content Resolver启动(激活)

(2)四大组件都需要被声明且都具有静态声明的方式,但是Broadcast Receiver提供了一种动态声明的方式:registerReceiver().

三、配置文件-mainfest

1、作用:声明app权限、组件、版本

2、在Android Studio中,版本控制等设置属性被迁移到了当前Gradle中,区别Eclipse Ant只能在配置文件内设置.

四、UI

1、手机坐标

默认的左上角坐标为(0,0),水平方向为x轴,垂直方向为y轴

2、布局

(1)LinearLayout-线性布局 属于ViewGroup类

 (1 特点:子布局呈线性分布,在同一时间只能呈现出一个方向的显示效果,通过orientation设置

(2 layout_gravity:是指当前布局,在最靠近它的父布局中的位置

(3 gravity:设置当前布局内部,子布局的具体位置

 (4 layout_weight为当前布局设置在父布局中的权重,但是要注意要将相应方向的属性值设置为0dp,例如:设置水平方向等分,应将layout_width设置为0dp,默认values0

(2)RelativeLayout-相对布局 也属于ViewGroup类

(1:当出现多个LinearLayout嵌套的时候,可以采用RelativeLayout提高效率(具体用布局分析工具查看)

(2:具有两种设置位置的方式:一是根据与父布局的相对关系确定;二根据父布局内以确定子布局的位置的相对位置确定;

(3)FrameLayout-帧布局

(4)GridView+ListView

3、计量单位

(1)px、sp(设置文字大小的)、dp(除了文字大小以外的尺寸)

4、TextView、Button、EditView、ImageView

5、R文件

6、View类

(1)onMeasure()\onLayout()\onDraw();

7、回调机制之OnClickListener

8、沙盒

(1)app安装到设备之后,系统便会为app分配一块安全区域的“空间”,称之为sandbox(沙盒)

(2)作用:

(1:首先Android OS是一个多用户的Linux系统,是每个app成为了多用户的一份子

(2:系统通过一个独一无二的Linux user ID管理app,但是app本身并不知道它自己的ID

(3:保证了每一个app都独立运行在自己的进程中,而且app之间运行过程互不影响。

(4:Android 系统在app中的组件需要被执行的时候,通过ID开启他们的进程,当app长时间不执行或者系统需要回收内存为其他app提供资源的时候回关掉当前app。

(5:通过最小权限原则保证用户的可以正常运行的权限,其他权限交由用户自己选择是否开启,这样营造了一个Android所谓的安全稳固的环境。

(3)提供了两种方式,打破沙盒限制,实现多个app之间的数据共享以及app可以接入到系统的服务。

(1:通过设置相同的Linux user ID,是多个app运行在一个进程里,可以互相访问彼此文件,相同的Linux 进程可以共享具有相同证书签名的VM里。

(2:在app首次安装的时刻,会让用户准许需要的权限,实现用户接入到系统权限(通讯录,摄像头、蓝牙、SD等等)的目的。

9、设备适配

(1)主要通过App Resource文件下的内容,达到适配的效果.

(2࿰

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值