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数据库存储。