android基础知识总结

android基础知识总结(一)

1.android体系结构

2.android目录结构

android基础知识总结_第1张图片
android基础知识总结_第2张图片

3.android四大组件

3-1.activity

1.定义: 活动,界面应用的基本组成单元
2.生命周期:
onCreate:activity第一次创建时回调的方法(当启动新的activity的时候被调用);
onStart:可见不可交互(当activity对用户即将可见时调用);
onRestart:重新调用Activity(重新启动activity时调用(此方法是重启留在缓存中的activity));
onResume:可见又可交互(当activity界面可与用户交互时调用);
onPause:暂停状态,可见不可交互(当系统要启动一个其他的activity时调用,用于保存当前数据);
onStop:停止状态,不可见也不可交互(该activity已经不可见时调用);
onDestory:销毁(当activity被finish或手机内存不足被销毁的时候调用);
3.所有的activity必须在androidManifest中注册

3-2.Content Provider(内容提供者)

1.定义:是Android系统的四大组件之一,主要用于在不同的应用程序之间实现数据共享;如果想访问其他程序共享的数据,需要借助ContentResolver类来实现;
2.在AndroidManifest注册:
android:name=".MyContentProvider"
android:authorities="com.lanou.day17content"
android:exported="true"/>

3-3.Service(服务)

Service是Android系统的四大组件之一,只能在后台运行,并且可以和其他组件进行交互;
Service的应用场景非常广泛,比如后台播放,后台下载,后台定位等;
启动一个服务:
Intent intent = new Intent(Context, MyService.class);
startService(intent);

3-4.BroadcastReceiver(广播)

1.广播类型:标准/有序
标准:一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎会在同一时刻接受到这条广播消息;不能发送数据;不可终止;
有序:一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这条广播消息;可终止;可传递数据;有序广播可能被截断;
2.注册方式:
动态广播接收器(在代码中注册广播称为动态注册);
静态广播接收器(在配置文件中注册广播称为静态注册(androidManifest中注册) - 常驻性);
3.消息推送平台:jpush:
https://www.jpush.cn/
(写得不太仔细,勿怪!)

4.android五大布局

4-0.布局中的常用属性

gravity
padding

4-1.LinearLayout(线性布局)

这里写图片描述
其内部控件都是按照线性模式排列的;
属性:
水平方向 android:orientation="horizontal"
垂直方向 android:orientation="vertical"
权重 android:layout_weight (在使用此属性的时候,对应的宽或者高必须是0)

4-2.RelativeLayout(相对布局)

这里写图片描述
其内部控件都是相对于其他控件或者布局排列的;
属性:
android基础知识总结_第3张图片

4-3.TableLayout(表格布局)

这里写图片描述
其内部控件都是按照表格模式排列的;
继承于LinearLayout,所以此布局可以使用LinearLayout中的layout_weight属性;
被TableRow包裹的控件为一行;
属性:
android:stretchColumns 设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。
android:shrinkColumns 设置可收缩的列。当该列子控件的内容太多,
已经挤满所在行,那么该子控件的内容将往列方向显示。android:collapseColumns 设置要隐藏的列。
android:layout_column 指定该单元格在第几列显示。
android:layout_span 指定该单元格占据的列数(未指定时,为1);

4-4.FrameLayout(帧布局)

这里写图片描述
其内控件先放入布局中的显示在下面,后放入的显示在上面;

4-5.AbsoluteLayout(不推荐使用了)

4-6.五大布局之外一些特殊的布局

1.include:布局重用,优化代码;
2.merge:与include嵌套使用,优化代码,减少层级关系;
3.viewStub:在需要加载时加载;
4.ScrollView(屏幕滚动):
(1)默认垂直方向;
(2)水平方向(HorizontalScrollView);
(3)在布局中使用,有且只有一个子类布局;
(4)会与部分控件(带滑动效果的空间)冲突:如listview和gridview,可以设置listView和gridView禁止滑动,但会占内存;
(嗯,先写这么多了~)

你可能感兴趣的:(android--组件)