第一行代码知识点总结1、Android四层架构:Linux内核层(提供底层驱动)、系统运行库层(提供特性支持,一些核心库)、应用框架层(提供各种API)和应用层2、Android四大组件:活动(activity)、服务(Service)、广播接收器(BroadcastReceiver)和内容提供器(ContentProvider)3、Android应用特色开发:四大组件、丰富的系统控件、SQL数据库(轻量级,运算速度快的嵌入式关系型数据库)、强大的多媒体和地理位置定位(LBS)。4、Android程序设计讲究逻辑和视图分离,通常在布局文件中编写在界面4.1Android的日志工具Log:Log.d()打印调试信息对应debug。Log.v()打印琐碎、意义最小日志,对应verbose,Log.i()打印比较重要的数据对应info;Log.w()打印警告信息对应error;Log.e()打印错误信息对应error。Log.d(类名,打印内容)4.2活动:主要用于和用户进行交互、基本用法4.3活动中的提醒方式Toast4.4、drawable存放图片,mipmap存放应用图标,values放字符串、样式,颜色等配置,layout放布局文件4.5、AndroidStudio是采用Gradle来构建项目5、Intent的使用:显式Intent和隐式Intent()6、活动的生命周期7、返回栈的定义8、Android是使用任务来管理活动的9、活动状态:运行、暂停、停止、销毁状态10、Activity类中的七个回调方法:onCreate()onStaart()、onResume()、onPause()、onStop()、onDestroy()和onRestart()11、活动的三种生存期:完整、可见、前台12、活动的四种启动模式:standard、singleTop、singleTask和singleInstance13、常用控件:TextView、Button、EditText、ImageView、ProgressBar(进度条)、AlertDialog(对话框)、ProgressDialog(显示对话框时出现进度条)14、基本布局:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)百分比布局、AbsoluteLayout、TableLayout15、常用和最难用的控件ListView16、滚动控件:RecyclerView17、碎片的定义、使用方式、碎片的生命周期、状态和回调18、广播主要的两种类型:标准广播和有序广播;注册广播的方式:静态注册和动态注册;广播接收器继承BroadcastReceiver19、本地广播(LocalBroadcastManager)20、Android系统中三种数据持久化方式:文件储存、SharedPreference储存及数据库储存,还有保存在手机SD卡中21、SQliteOpenHelper帮助类:SQliteOpenHelper中有两个抽象方法onCreate()和onUpgrade();两种重要的实例方法getReadableDatabase()和getWritableDatabase()22、LitePal操作数据库23、跨程序共享数据:内容提供器24、ContentResolver的基本用法:ContentResolver类、ContentResolver中提供给了一系列的方法用于对数据进行CRUD操作包括增删改查操作;ContentResolver增删改查方法不接收表名参数,而是用Uri参数代替。25、创建自己的内容提供器需要用继承ContentProvider的方式来创建;ContentProvider类中有六个抽象方法26、手机多媒体:26.1、通知的定义、基本用法27、播放多媒体文件:音频使用MediaPlayer类;视频使用VideoView类。28、webView的用法29、HttpURLConnection:HTTP请求一般有两种:HttpURLConnection和HttpClient;OkHttp使用30、解析XML格式数据:网路上传输数据最常用的两种格式:XML和JSON;解析XML格式数据常用的两种Pull和SAX解析;SAX解析需要继承DefaultHandler,并重写父类的五个方法解析JSON数据使用JSONObject、谷歌开源库GSON31、服务定义32、Android多线程:基本用法:新建类继承Thread,重写run()方法,new出新建类的实例调用它的start()方法或者选择使用实现Runnable接口的方式定义33、解析异步消息四个组成部分:Message、Handler、MessageQueue和Looper34、AsyncTask的使用35、服务的基本用法36、基于位置服务(LBS)通常有两种:GPS定位和网络定位37、最佳UI体验:滑动菜单(DrawerLayout)NavigationView(谷歌);悬浮按钮和可交互提示(FloatingActionButton、Snackbar)CoordinatorLayout加强版FrameLayout、卡片布局(CardView控件)AppBarLayout38、下拉刷新:SwipeRefreshLayout类39、可折叠式标题栏:CollapsingToolbarLayout(AppBarLayout的子布局)40、全局获取Content的技巧:41、使用Intent来传递对象的两种实现方式:Serializable(序列化,序列化对象可以在网络上传输也可以储存在本地)和Parcelable(将一个完整的对象进行分解)42、Android中定时任务的两种实现方式:JavaAPI提供的Timer类和Android的Alarm机制43、Lambda表达式:本质一种匿名方式;代码简洁易读