1、Android项目的依赖方式有三种:本地依赖、库依赖、远程依赖。
2、Android日志级别由低到高:verbose、debug、info、warm、error
3、为什么使用Log打印日志而不使用System.out:
在实际的开发中,极度不推荐使用System.out来打印日志,因为它除了使用方便一点,就是打印日志不可控,打印时间不确定,不能添加过滤器,没有级别区分.......
4、Log与Logcat:
Log:日志输出
Logcat:日志筛选(添加过滤器、搜索TAG关键字)
5、在一个手机APP中,存在三个activity:FirstActivity,SecondActivity,ThirdActivity。其中APP主界面是FirstActivity。需求:退出APP正常的流程是在主界面退出,但是现在想退出APP时,activity是在SecondActivity该怎么做?
解决方案一:新建一个返回栈来作为管理SecondActivity活动的容器,将其启动模式设置为SingleInstance(详情请见:Android学习之基础知识四-Activity活动7讲(活动的启动模式))
解决方案二:通过创建一个活动管理器来管理所有的活动,实现随时随地都能退出程序(详情请见:Android学习之基础知识四-Activity活动8讲(活动的灵活运用))
6、Intent的主要作用:
A、组件之间进行交互的重要方式
B、可用于作为传递数据的容器
C、可启动Activity、Service、Broadcast等等。
7、Intent的表示方式:
A、显示Intent:直接表达行为的目标
B、隐式Intent:通过Intent-filter标签中的action和Category进行表达。
8、活动的启动方式及区别:
活动是通过返回栈来管理活动的,程序总是把位于栈顶的活动显示给用户:
A、standard:每开启一个活动就创建一个活动的实例
B、SingleTop:开启一个活动时,会先在返回栈中检查栈顶位置的活动是否是当前正要开启的活动,如果是,则直接打开栈顶的活动,如果不是,则会创建活动的实例并使其位于栈顶显示给用户,与栈内有无该活动的实例无关。
C、SingleTask:开启一个活动时,会首先检查返回栈中是否已经存在了该活动的实例,如果存在,则将该实例之上的所有活动出栈,该实例位于栈顶位置并显示给用户。
D、SingleInstance:通过创建一个新的返回栈来管理活动,可用于不同应用程序共享同一个活动的情况。
9、Android布局主要有四种:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、百分比布局(PercentFrameLayout、PercentRelativeLayout)
(补充:由于线性布局中已经有android:layout_weight属性来通过比例指定控件的大小,所以在百分比布局只为FrameLayout和RelativeLayout进行了扩展)
10、android:layout_gravity与android:gravity的区别:
android:layout_gravity:指定控件在布局中的对齐方式
android:gravity:指定文字在控件中的对齐方式
11、Android中使用比例来指定控件大小的属性:android:layout_weight,它在手机的屏幕适配性方面有很重要的作用。除此之外,只有LinearLayout布局才能使用这个属性。
12、ListView的昨天作用:允许用户通过上下滑动界面将屏幕外的数据拉到屏幕内,将屏幕内的数据拉到屏幕外。
13、如何自定ListView的展示界面:
1、自定义需要需要展示内容的实体类
2、自定义实体类子布局
3、自定义适配器
4、为ListView设置自定义的适配器
14、ListView与RecyclerView的区别:
1、增强版List,不仅具有List的效果,还弥补了许多List的不足
2、RecyclerView属于是新增控件,使用之前必须先在build.gradle中添加相应的依赖库
3、RecyclerView有内置的ViewHolder,使用时直接继承它,提供了onCreateViewHolder与onBindViewHolder两种方法。
4、RecyclerView提供了三种内置的布局:线性布局(LinearLayoutManager)、网格布局(GridLayoutManager)、瀑布流布局(StaggeredGridLayoutManager)
5、针对点击事件,ListView只是针对整个子项去处理点击事件,对子项中的某个组成部分没有专门的点击事件;RecyclerView摒弃ListView中的点击事件处理方案,它可以针对View中的具体成分去实现专门的点击功能。
15、碎片的实现:
1、定义碎片的整体布局
2、定义类继承Fragment,加载布局
3、在活动布局中使用碎片
16、广播有两种类型:
1、标准广播:完全异步执行,广播发出后,所有接受器在同一时刻接受到广播,没有先后顺序。
2、有序广播:同步执行,广播发出后,优先级最高的接收器先接收到广播,等待该接收器执行完成后,广播才会继续传递到下一个广播接收器,有先后顺序,而且,前面的接收器还能截断广播,让后面的接收器接收不到广播。
17、广播接收器中注册广播的方式:
1、动态注册:在代码中注册,灵活性高,自由控制注册和注销,但是必须要在程序启动之后才能接受到广播
2、静态注册:在AndroidManifest.xml文件中注册,可以在程序未启动的情况下接收到广播
补充:上面两种方式都是全局广播,可以跨进程通信,存在安全隐患。
18、本地广播:广播只能在应用程序内部传递,不能传递到其他应用程序,安全性高,效率高;本地广播只能通过动态进行注册,因为静态注册是为了能够让程序在未开启的情况下也能接收到广播,但是本地广播开启时,应用程序肯定是已经开启了,所以就没有必要进行静态注册。
19、Android中数据持久化功能包括:文件存储、SharedPreference存储、SQLite数据库存储。