第一行代码Android知识点总结
android核心知识点笔记

android核心知识点笔记Android核心知识点笔记一、Android基础知识1. Android的发展历程- Android是由Andy Rubin创建的一个开放源代码的移动操作系统,2003年创建,2005年被Google收购,2008年首次推出。
- Android的发展经历了不断的版本迭代,包括Cupcake、Donut、Eclair、Froyo、Gingerbread、Honeycomb、Ice Cream Sandwich、Jelly Bean、KitKat、Lollipop、Marshmallow、Nougat、Oreo、Pie等。
- Android的版本迭代主要包括增加新功能、优化性能、改进用户界面等方面的改动。
2. Android应用的开发流程- Android应用的开发包括需求分析、设计界面、编写代码、调试、测试和发布等阶段。
- 需求分析阶段是确定应用的功能和界面设计的重要阶段,可以根据用户需求绘制原型图、进行用户调研等。
- 设计界面阶段包括绘制应用的界面布局、设计图片资源等。
- 编写代码阶段是根据需求和设计完成应用的逻辑和功能代码的编写,可以使用Java语言和Android SDK提供的API。
- 调试阶段是通过模拟器或真机进行应用的调试和测试,可以检查代码逻辑和界面的运行情况。
- 测试阶段是进行全面的功能测试、性能测试和兼容性测试,确保应用在各种设备上都能正常运行,并修复可能存在的Bug。
- 发布阶段是将应用打包成APK文件并上传到应用商店,供用户下载和安装使用。
3. Android应用的架构- Android应用的架构包括四个主要组件:Activity、Service、Broadcast Receiver和Content Provider。
- Activity是Android应用的界面显示和用户交互的主要组件。
- Service是一个可以在后台运行的组件,可以执行一些长时间运行的任务,如音乐播放、网络下载等。
《第一行Android代码》课件:第一章 开始启程-你的第一行android代码

•
安卓开发者网站/
• Android Studio的引入:
• 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境)。它基于Intellij IDEA开 发环境,旨在取代Eclipse和ADT(Android开发者工具)为开发者提供更好的开发工具。既然Google一直在努力 推广,相信不久以后就有望赶上Eclipse。
配置和启动模拟器
广东药科大学 数字媒体技术系 GDPUDM
广东药科大学 数字媒体技术系 GDPUDM
广东药科大学 数字媒体技术系 GDPUDM
广东药科大学 数字媒体技术系 GDPUDM
完成配置
广东药科大学 数字媒体技术系 GDPUDM
启动虚拟机
广东药科大学 数字媒体技术系 GDPUDM
1.3.3 运行Helloworld
广东药科大学 数字媒体技术系 GDPUDM
广东药科大学 数字媒体技术系 GDPUDM
选择目标设备 这里我们选择手机,并为其 指定最小SDK为API 14
广东药科大学 数字媒体技术系 GDPUDM
点击Next按钮进入下一步,这时候会要求 你为应用添加一个Activity
广东药科大学 数字媒体技术系 GDPUDM
广东药科大学 数字媒体技术系 GDPUDM
Layout --- activity_main.xml
广东药科大学 数字媒体技术系 GDPUDM
1.3.5 资源-详解res目录
广东药科大学 数字媒体技术系 GDPUDM
res/values/string.xml
• 定义应用程序字符串
AndroidManifest.xml 引用了app_name
第一行代码Android知识点总结

第一行代码知识点总结1、Android四层架构:Linux内核层(提供底层驱动)、系统运行库层(提供特性支持,一些核心库)、应用框架层(提供各种API)和应用层2、Android四大组件:活动(activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)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、Android Studio是采用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参数代替。
安卓中知识点总结

安卓中知识点总结作为一名Android开发者,了解和掌握Android开发的知识点是非常重要的。
本文将对Android开发涉及的各种知识点进行总结,包括Java语言基础、Android框架、界面设计、数据库操作、网络请求、性能优化等方面的知识点。
一、Java语言基础1. 类和对象类是Java语言中的基本概念,它是对象的模板。
对象是类的实例,是具体的实体。
了解类和对象的概念是Java编程的基础。
2. 继承和多态继承是Java语言中非常重要的特性,它使得子类可以继承父类的属性和方法。
多态是继承的延伸,它使得一个对象可以以多种形态出现,提高了程序的灵活性和扩展性。
3. 接口和抽象类接口和抽象类都是Java中用来实现多态和封装的机制,它们可以让程序员定义一个函数,并且由实现类来实现该函数的具体功能。
4. 异常处理异常处理是Java语言中的重要机制,在处理IO异常、运行时异常等方面都有着重要作用。
5. 泛型泛型是Java中的一个重要特性,它使得类或方法可以接受任意类型的数据作为参数,提高了代码的复用性和灵活性。
6. 并发并发是指在同一时间段内同时运行多个程序或多个线程。
在Android开发中,了解并发编程的知识点可以帮助我们编写高效的多线程应用。
7. I/O流I/O流是Java中用来进行输入输出操作的重要概念,了解文件操作、网络操作、序列化等知识点对Android开发非常重要。
二、Android框架1. ActivityActivity是Android应用的一个重要组件,它负责提供一个用户界面来展示和与用户交互。
了解Activity的生命周期、启动方式、传递数据等知识点是非常重要的。
2. FragmentFragment是Android中用来实现复杂界面的一种重要组件,它可以在一个Activity中管理多个界面碎片。
了解Fragment的生命周期、使用方式、通信方式等知识点是非常重要的。
3. ServiceService是Android中用来实现后台任务的一种组件,它可以在后台执行长时间运行的任务。
第一行代码笔记之——ListView

第⼀⾏代码笔记之——ListView1.ListView 是啥ListView 就是⼀个能显⽰⼀排⼀排的东西View控件2.使⽤ListView的步骤1. 创建⼀个class,代表你每⼀⾏想放的东东2. 给你每⼀⾏的东东⼀个布局⽂件,在activity的布局⽂件中加⼀个ListView 控件3. New⼀个ArrayList,⽤来储存你想放的东东们4. 在Activity中写⼀个初始化函数init(),初始化东东,然后把东东add到ArrayList中5. 如果是创建复杂控件,要建⼀个继承于ArrayAdapter的类,再到⾥⾯添加复杂功能6. New⼀个你的ArrayAdapter,把每⼀⾏的那个xml⽂件和已初始化完毕的ArrayList给它7. New⼀个ListView ,并findViewById,把ArrayAdapter给它。
3.最简单的ListView1.在XML⽂件中添加⼀个ListView<RelativeLayout xmlns:android="/apk/res/android"xmlns:tools="/tools" android:layout_width="match_parent"android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"><ListViewandroid:id="@+id/list_view"android:layout_width="match_parent"android:layout_height="match_parent"/></RelativeLayout>2.(1)在MainActivity中⽤⼀个Sting[]储存每⾏数据(2)把数据给ArrayAdapter(3)把ArrayAdapter给ListViewpublic class MainActivity extends Activity {private String[] data={"Apple","Banana","Orange","Watermelon","Pear","Grape","Pineapple","Strawberry","Cherry","Mango"};//要储存的数据@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,yout.simple_list_item_1,data);//把每⼀⾏内容的XML⽂件与数据给ArrayAdapter ListView listView=(ListView)findViewById(R.id.list_view);listView.setAdapter(adapter);//把ArrayAdapter给ListView}效果图:4.ListView的事件监听器listView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { Fruit fruit=fruitList.get(position);Toast.makeText(MainActivity.this,fruit.getName(),Toast.LENGTH_LONG).show(); }});5.复杂的ListView1.新建⼀个Fruit类作⽤:帮助我们储存与获得“⽔果名称”,与“图⽚ID”public class Fruit{private String name;private int imageId;public Fruit(String name,int imageId){=name;this.imageId=imageId;}public String getName(){return name;}public int getImageId(){return imageId;}}2.新建⼀个XML⽂件作⽤:来作为每⾏内容的布局⽂件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="match_parent" android:layout_height="match_parent"><ImageViewandroid:id="@+id/fruit_image"android:layout_width="wrap_content"android:layout_height="wrap_content"/><TextViewandroid:id="@+id/fruit_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_marginLeft="10dip"/></LinearLayout>3.初始化数据步骤:①new⼀个ArrayList<Fruit>②在MainActivity中写⼀个函数init()。
android入门重点讲义(含有代码)

1 、可以使某些资源文件或 UI 组件可重用5 、TextView 属性设置设置字体为 30pt android:textSize ="30pt"设置中间省略 android:singleLine ="true" android:ellipsize ="middle"对邮件增加链接 android:autoLink = "email" android:autoLink = "email"测试密码框 android:password ="true"绘制一张图片android:drawableLeft= "@drawable/ico n "6 、EditText 属性设置当前组件在得到焦点的时候,自动选取该组件内的所有的文本内容android:selectAllOnFocus ="true"当前组件只能输入数字 android:phoneNumber ="true" 当前组件显示的提示信息,被选中时,内容自动被清空android:hint= "@string/edtPhoneButt on )android:background =""<ImageButton android:src ="" /><include layout 2 、定义一个文本编辑框, android:layout_x android:layout_y 3 、控件位置 ="@layout/other" 使用绝对定位="20dip" ="80dip"android:layout_centerHorizontal android:layout_centerVertical android:layout_centerInParent android:layout_alignParentBottom android:layout_alignParentLeft android:layout_alignParentRight android:layout_alignParentTop android:layout_toRightOf android:layout_toLeftOf android:layout_above android:layout_below android:layout_alignTop android:layout_alignBottomandroid:layout_alignLeft android:layout_alignRight />控制该组件是否位于布局容器的 水平居中位置 控制该组件是否位于布局容器的 垂直居中位置 控制该组件是否位于布局容器的 中央位置 控制该组件是否与布局容器 底端对齐 控制该组件是否与布局容器 左边对齐控制该组件是否与布局容器 右边对齐 控制该组件是否与布局容器 顶端对齐控制该组件 位于给出的 ID 组件的右侧 控制该组件 位于 给出的 ID 组件的左侧 控制该组件 位于 给出的 ID 组件的上方控制该组件 位于 给出的 ID 组件的下方 控制该组件 与给出的ID 组件的 上边界对齐 控制该组件 与给出的 ID 组件的 下边界对齐 控制该组件与给出的 ID 组件的 左边界对齐 控制该组件与给出的 ID 组件的 右边界对齐 4 、设置单元格内的控件的形状(可压缩,可伸长,可隐藏等) android:shrinkColumns 适应父容器宽度 android:stretchColumns 设置该列的所有单元格的宽度可以 被拉伸 ,以保证组件能完设置该列的所有单元格的宽度可以 被收缩 ,以保证该表格能够 全填满表格空余空间 设置该列的所有单元格会 被隐藏android:collapseColumns 7 、按钮以及属性( 普通文字按钮 普通图片按钮按下时显示不同图片的按钮(利用配置文件解决即,button_selector.xmlan droid:src ="@drawable/butto n_ selector")Butt on selector.xml:指定按钮按钮下时的图片<item an droid:state_pressed=an droid:drawable= />指定按钮松开时的图片:<item an droid:state_pressed= "false"定义一个可以动态改变方向的线性布局:匿名内部类:tb.set On CheckedCha ngeListe ner(new On CheckedCha ngeListe ner() {public void on CheckedCha nged(Compou ndButt on arg1) { if (arg1) {layout.setOrie ntatio n(Li nearLayout.HORIZONTAL); } else {layout.setOrie ntatio n(Li nearLayout.VERTICAL); }}});9、计时器组件( Chronometer )获取计时器组件:final Chronometer chro = (Chronometer) findViewByld(R.id.改变显示的信息内容,使用"%s"表示计时信息"true""@drawable/red"an droid:drawable= "@drawable/purple" />带文字的图片按钮an droid:backgrou nd ="@drawable/butto n_ selector"an droid:text="@str in g/bt nl mage"8、单选按钮和多选按钮 定义一组单选框定义一个单选框RadioGroup 、CheckBox ) vRadioGroup an droid:orientati onan droid:layout_gravity="vertical"="center horizontal" ="@stri ng/male"/>定义一个垂直的线性布局< Lin earLayout android:layout_gravity = "center horizontal"vCheckBox android:text android:checked="true" = "@string/red"9、带类似开关式的按钮(定义一个 ToggleButtonan droid:textOff an droid:text On ToggleButt on按钮:vToggleButt on="@stri ng/layoutH" = "@str in g/layoutV"/>layout = (LinearLayout) findViewByld(R.id.test);arg0, boolea ntest );10 、11 、android:textColor图像视图( ImageView )<ImageView= "#ffff0000" />android:src ="@drawable/icon"android:layout_marginLeft ="10dp"android:layout_marginTop ="100dp"自动完成文本框 ( AutoCompleteTextView )距离左边1 0d p距离上面1 00d p指定输入一个字符后进行提示:< AutoCompleteTextView />设置出现在下拉菜单中的提示标题:android:completionHint ="@string/title"设置下拉菜单的宽度:android:dropDownWidth ="100dp"设置下拉菜单与文本框之间的水平偏移:android:dropDownHorizontalOffset ="30dp" 设置用户至少输入几个字符才会显示提示:android:completionThreshold ="2"具体实现( Activity ):1 、定义字符串数组,作为提示的文本String[] books = new String[] { "active" , "activity" , "activity" , "apple" , "apple" };chro.setFormat( " 计时信息:%s" );获取“开始”按钮Button btnStart = (Button) findViewById(R.id. start ); 获取事件监听:btnStart.setOnClickListener( new OnClickListener() {publicvoid onClick(View arg0) { 设置开始计时时间:SystemClock 系统时钟类,elapsedRealtime 方法是得到当前系统的真实时间hro.setBase(SystemClock. elapsedRealtime ());启动计时器:chro.start();} });时钟改变一次监听一次:chro.setOnChronometerTickListener( newOnChronometerTickListener() {publicvoid onChronometerTick(Chronometer ch) { 如果从开始计时到现在超过了20s 。
android移动应用开发技术课第一章笔记

android移动应用开发技术课第一章笔记第一章:Android移动应用开发技术课笔记一、引言在当今移动互联网时代,Android系统以其开放性和普及率成为了最受欢迎的移动操作系统之一。
随着移动应用市场的不断扩大,对Android移动应用开发技术的需求也日益增加。
学习和掌握Android移动应用开发技术成为了越来越多人的选择。
二、Android移动应用开发技术概述1. 什么是Android?Android是一款基于Linux操作系统的开源移动设备操作系统,主要用于触摸屏移动设备,如智能手机和平板电脑。
Android操作系统的开放性使得开发者可以自由定制和开发应用,受到了广大用户的喜爱。
2. Android移动应用开发技术的重要性随着信息化和数字化的发展,移动应用成为了人们获取信息和进行交流的重要方式。
而Android作为最主流的移动操作系统之一,其应用的开发和推广具有巨大的市场潜力和商业价值。
掌握Android移动应用开发技术成为了许多开发者和从业者的追求目标。
三、学习Android移动应用开发技术的重要性1. 对于个人的意义学习Android移动应用开发技术可以提升个人的职业技能,并且在移动应用开发领域有更多的发展机会。
可以通过开发自己的应用来实现个人价值和创造财富。
2. 对于企业的意义随着移动互联网的发展,各类企业都希望拥有自己的移动应用,以提升品牌形象和服务用户。
懂得Android移动应用开发技术的人才对企业来说显得格外宝贵。
四、学习Android移动应用开发技术的途径1. 自学通过阅读相关书籍、网上教程和参加线上培训班,可以自学Android 移动应用开发技术。
这种方式需要具备较好的自学能力和毅力。
2. 参加培训班选择权威的培训机构进行系统的学习和培训,可以更快速、系统地学习Android移动应用开发技术。
五、Android移动应用开发技术的未来发展随着人工智能、物联网、区块链等技术的不断发展,Android移动应用开发技术也将不断拓展应用场景和技术深度。
《第一行代码》笔记

《第一行代码》笔记1第一章:Android简介1.1Android系统架构1.1.1Linux内核层1.1.2系统运行层1.1.3应用框架层1.1.4应用层1.1.5架构图1.2Android已发布的版本1.2.12.3.3-2.3.7还占有15左右1.2.24.0以上占有80%1.2.3目前最新版是5.0 棒棒糖1.3Android应用特色1.3.1四大组件活动(Activity)服务(Service)广播接收器(Broadcast Receiver)内容提供器(Content Provider) 1.3.2丰富的系统控件1.3.3SQLite数据库1.3.4地理位置定位1.3.5强大的多媒体1.3.6传感器1.4Android开发环境1.4.1Android SDK1.4.2Eclipse1.4.3ADT1.5Android程序结构1.5.1src放java代码1.5.2gen代码自动生成,主要放R.java文件1.5.3assets可以放一些程序打包的文件,WebView加载的网页1.5.4bin编译时自动产生的文件1.5.5libs放些第三方jar包1.5.6res放些图片、布局、字符串等资源的文件drawable-hdpi,drawable-ldpi,drawable-mdpi文件夹layout文件夹menu文件夹value文件夹1.5.7AndroidManifest.xml整个Android项目的配置文件,四大组件都需要在这里注册1.5.8project.properties指定编译时SDK的版本1.6Logcat工具1.6.1Log.v()对应verbose级别,最低级1.6.2Log.d()对应debug级别,比verbose高一级1.6.3Log.i()对应info级别,比debug高一级1.6.4log.w()对应warn级别,比info高一级1.6.5log.e()对应error级别,比warn高一级2第二章:活动(Activity)2.1什么是活动(Activity)2.1.1是一种包含用户界面的组件,用于与用户交互,一个应用程序中包含零个或多个活动2.2活动(Activity)用法2.2.1自定义类继承Activity父类,并且要在AndroidManifest.xml文件中注册2.3intent2.3.1是Android各个组件之间进行交互的另一中重要方式,可以指明动作,并可以互相传递数据2.4intent用法2.4.1显式用法和隐式用法2.5活动(Activity)生命周期2.5.1返回栈,Android使用Task来管理活动,一个Task是一组存放在栈里活动的集合2.5.2活动状态运行状态暂停状态停止状态销毁状态2.5.3活动生存期onCreate() onStart() onResume() onPause() onStop() onDestroy() onRestart()图解流程2.6活动(Activity)启动模式2.6.1standard默认的启动模式,每次创建活动都会先建新的实例2.6.2singleTop启动活动时,发现返回栈的栈顶是该活动,则可以认为直接使用它,不会创建新的实例Subtopic2.6.3singleTask每次创建活动时,先判断是否已经存在活动实例,如果没有,则创建,如果有,则会把这个活动之上的所有活动统统出栈2.6.4singleInstance单独的返回栈来管理这个活动,可以解决共享活动实例问题2.7活动集合2.7.1BaseActivity,放一个活动集合实例,统一管理活动添加和销毁3第三章:UI控件3.1常见控件3.1.1TextView3.1.2Button3.1.3EditText3.1.4ImageView3.1.5ProgressBar 3.1.6AlertDialog 3.1.7ProgressDialog 3.2基本布局3.2.1LinearLayout 3.2.2RelativeLayout 3.2.3FrameLayout 3.2.4TableLayout 3.3自定义控件3.3.13.4ListView3.4.1数据列表控件3.4.2内部类ViewHolder,用于对控件实例缓存,convertView 判断,setTag()方法调用3.5单位和尺寸3.5.1px,像素-屏幕中最小元素单元3.5.2dp、sp来帮忙3.69-Patch工具4第四章:碎片(Fragment)4.1什么是碎片4.1.1是可以嵌入到活动中的UI片段,适用于平板比较多4.2碎片的生命周期4.2.1运行状态4.2.2暂停状态4.2.3停止状态4.2.4销毁状态4.3碎片生存期4.3.1onAttach()4.3.2onCreateView()4.3.3onActivityCreated()4.3.4onDestroyView()4.3.5onDetach()4.3.6图解流程4.4动态布局技巧4.4.1使用限定符4.4.2Subtopic5第五章:广播机制(Broadcast Receiver) 5.1有序广播5.1.1Subtopic5.2无序广播5.2.1Subtopic5.3接收系统广播5.3.1动态注册监听启动程序才能注册注意要取消注册5.3.2静态注册监听程序未启动,就能注册系统级别,不需要手动取消注册5.4发送自定义广播5.5使用本地广播6第六章:数据持久化6.1将内存中的瞬时数据保存到存储设备中6.2文件存储6.3SharedPreferences存储6.3.1Context的getSharedPreference()6.3.2Activity的getPreference()6.3.3PreferenceManager的getDefaultSharedPreference() 6.4SQLite数据库6.4.1创建数据库,SQLiteOpenHelper6.4.2升级数据库,onUpgrade()6.4.3添加数据6.4.4更新数据6.4.5删除数据6.4.6查询数据6.4.7SQL操作数据库7第七章:内容提供器(Content Provider)7.1主要是用于不同应用程序之间实现程序共享,并提供了完整的机制7.2ContentResolver用法7.3URI介绍7.4创建自己的内容提供器7.4.1onCreate()7.4.2query()7.4.3insert()7.4.4update()7.4.5delete()7.4.6getType()8第八章:多媒体应用8.1使用通知(Notification)8.2接受和发送短信8.3调用摄像头和相册8.4播放多媒体文件9第九章:服务(Service)9.1Android后台运行的解决方案,不依赖于用户界面9.2Android多线程编程9.2.1new Thread(线程类).start()9.2.2在子线程中更新UI9.2.3异步消息机制MessageHandlerMessageQueueLooperSubtopic9.2.4使用AsyncTask onPreExecute() doInBackground(Params...) onProgressUpdate(Progress...) onPostExecute(Result)9.3服务基本用法9.3.1定义一个服务9.3.2启动和停止服务9.3.3活动和服务通信9.3.4服务生命周期onCreate() onStartCommand() onDestroy9.3.5服务更多技巧前台服务IntentServiceAlarm机制10第十章:网络技术10.1WebView用法10.2Http协议访问网络10.2.1HttpURLConnection类10.2.2HttpClient类10.3解析XML格式数据10.3.1Pull解析10.3.2SAX解析10.4解析JSON格式数据10.4.1JSONObject10.4.2GSON11第十一章:位置服务(LBS) 11.1基于位置服务11.2LocationManager11.3Google API11.4百度地图11.5高德地图12第十二章:传感器12.1探测外界信号,转化我们需要的信息12.2光照传感器12.3加速度传感器12.4方向传感器13第十三章:Android高阶技巧13.1全局获取Context的技巧,利用Application类来初始化13.2使用Intent传递对象13.2.1Serializable方式13.2.2Parcelable方式13.3定制自己的日志工具13.3.1全局封装类13.4调试Android程序13.5编写测试用例14第十四章:实战14.1酷欧天气15第十五章:将应用发布到Google Play。
第一行代码——Android(第2版)

2020
第一行代码——Android(第2版)
演讲人 2011-11-1101第2版的来自化第2版的变化02
读者对象
读者对象
03
本书内容
本书内容
04
源码下载
源码下载
05
1 开始启程——你的第一行 ANDROID代码
1 开始启程——你的第一行Android代码
1.1 了解全貌—— Android王国简介
1.3.2 启动模拟器
1.3.4 分析你的第一个 Android程序
1.3.6 详解build.gradle文 件
1 开始启程——你的第一行Android代码
1.3 创建你的第一个Android项目
1 开始启程— —你的第一行 Android代码
1.4 前行必备——掌握日志 工具的使用
https:///
1.1.2 Android已 发布的版本
1.1.3 Android应 用开发特色
1 开始启程——你的第一行Android代码
1.2.1 准备所需要 的工具
A
1.2.2 搭建开发环 境
B
1.2 手把手带你搭建开发环境
1.3.1 创建HelloWorld项目
1.3.3 运行HelloWorld 1.3.5 详解项目中的资源
2 先从看得到的入手——探究活动
2.7 小结与点评
2.2.1 手动创建活动
2.2.3 在AndroidManifest文 件中注册
2.2.5 在活动中使用Menu
2.2.2 创建和加载布局
2.2.4 在活动中使用Toast
2.2.6 销毁一个活动
2 先从看得到的入手——探究活动
2.2 活动的基本用法
Android第一行代码 第9章

第9章后台默默的劳动者,探究服务1. 在三大智能手机操作系统中,_________________是不支持后台的,当应用程序不在前台运行时就会进入到挂起状态。
_________________则完全支持后台功能,这使得应用程序即使在关闭的情况下仍然可以在后台继续运行。
而_________________则是经历了一个由不支持到支持后台的过程,目前也具备了后台功能。
答:iOSAndroidWindows Phone2. 默认情况下,Android所有应用中的组件不但运行在同一进程中,而且也运行在此进程的同一线程中,这一线程被称为_________________。
答:主线程3. Android主线程负责分发事件给相应的用户界面组件,包括绘制用户界面的事件,在主线程中应用与Android UI交互,因此,主线程又被称为_________________线程。
答:UI(主线程)4. 在Android 应用中,只有_________________线程能够维护和更新UI组件的状态,因此,用户界面是一种单线程模型。
答:UI5. 当Android应用需要执行一些耗时操作时,如果不将这类操作放在子线程里去运行,就会导致_________________被阻塞,从而影响用户对软件的正常使用。
答:主线程6. Android的UI组件不是线程安全的, 在子线程中更新UI会导致_________________。
程序崩溃7. Android多线程编程基本模式与Java多线程编程相同,主要有两种基本模式:即定义一个继承自_________________的线程类和定义一个实现_________________接口的类。
答:ThreadRunnable8. Android 系统异步消息通信机制由以下类组成:_________________、_________________、MessageQueue 和Looper。
答:MessageHandler9. 在Android 系统异步消息通信机制中,_________________是在线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程之间交换数据。
作业习题_Android第一行代码

Android系统基础应用开发作业习题暨总复习题(《第一行代码Android》版)2016-2017-1学期主讲教师:贾震斌目录第7章跨程序共享数据,探究内容提供器 (1)第8章丰富你的程序,运用手机多媒体 (6)第9章后台默默的劳动者,探究服务..................................................... 错误!未定义书签。
第10章看看精彩的世界,使用网络技术............................................... 错误!未定义书签。
第11章ANDROID特色开发,基于位置的服务 ...................................... 错误!未定义书签。
第12章ANDROID特色开发,使用传感器 ................................................ 错误!未定义书签。
第13章继续进阶,你还应该掌握的高级技巧....................................... 错误!未定义书签。
结束 ................................................................................................................ 错误!未定义书签。
第7章跨程序共享数据,探究内容提供器1. 请简要说明内容提供器(Content Provider)主要功能。
答:内容提供器(Content Provider)主要提供在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。
目前,使用内容提供器是Android实现跨程序共享数据的标准方式。
2. 当一个应用程序通过______________对其数据提供了外部访问接口,其他应用程序就都可以对这部分数据进行访问,Android系统中自带的电话簿、短信、媒体库等程序都提供了这样的访问接口。
第一行代码Android学习笔记

第一行代码Android学习笔记感谢《第一行代码》,感谢郭霖博主,拯救我于水火。
之前看视频学习Android,自以为已经小成了。
在网易工作的朋友问了我几个问题,我就懵逼了。
然后,遇到了《第一行代码》,终于把我带进了Android的世界。
好书,真的会醉人啊。
这是学习第二遍时的部分笔记,以备后用。
hujunjob与北航2015.04.02目录第一章Android系统 (4)1.1 安卓系统架构 (4)1.2 Android 项目中的资源 (4)第二章Activity (4)一、创建Activity步骤: (4)二、采用Intent切换activity (5)1、显式Intent (5)2、隐式Intent (5)3、隐式Intent的其他用法 (6)三、Intent传递数据 (6)1、向下一个activity传递数据 (6)2、返回数据给上一个activity (7)四、activity的生命周期 (7)1、活动状态 (7)2、activity生存期 (7)3、activity被回收数据保存 (9)五、activity的启动模式 (9)六、activity最佳实践 (9)1、知道当前页面是哪一个activity (9)2、随时随地退出程序 (9)3、给每个activity都添加一个合适的启动方法 (11)第三章UI (11)一、常用控件 (11)1、TextView (11)2、Button (11)3、EditText (11)4、ImageView (12)5、ProgressBar (12)6、AlertDialog (12)7、ProgressDialog (13)二、基本布局 (13)1、LinearLayout (13)2、RelativeLayout (13)3、FrameLayout (13)4、TableLayout (13)5、GridLayout (14)三、自定义控件 (14)1、添加自定义标题布局(无操作的) (14)2、创建自定义控件 (14)四、ListView (15)1、最简单的Adapter (15)2、定制ListView界面 (16)3、提升ListView效率 (17)4、ListView点击事件 (18)五、单位和尺寸 (18)六、最佳实践——聊天界面 (19)第四章Fragment (19)第五章BroadCast Receiver (19)一、广播机制 (19)二、接收系统广播 (19)1、动态注册 (20)2、静态注册 (21)3、广播接收器使用注意事项 (21)三、发送自定义广播 (21)1、标准广播 (21)2、有序广播 (22)四、发送和接收本地广播 (22)五、强制下线 (23)注意事项: (23)第6章数据存储 (24)一、文件存储 (24)1、存储5部曲: (24)2、读取5部曲: (25)二、SharedPreferences存储 (26)1、存储4部曲 (26)2、读取2部曲 (27)三、SQLite数据库 (27)1、创建数据库 (27)2、升级数据库 (28)3、添加数据 (29)4、更新数据 (29)5、删除数据 (29)6、查询数据 (29)7、直接使用SQL操作数据库 (29)四、数据库最佳实践 (30)1、使用事务 (30)2、升级数据库最佳写法 (30)第7章Content Provider (32)一、简介 (32)二、访问已有的CP (32)1、ContentResolver用法 (32)2、读取系统联系人 (33)三、创建自己的ContentProvider (34)1、创建CP步骤5部曲 (34)四、跨程序数据共享实践 (36)附录:Git使用 (36)一、创建代码仓库 (36)二、提交本地代码 (37)三、忽略文件 (37)四、查看修改内容 (38)五、撤销未提交的修改 (39)六、查看提交记录 (39)第一章Android系统1.1 安卓系统架构Linux Kernel: 各种底层驱动Libraries : Runtime Libraries, Dalvik VM, 各种库支持,数据库,3D绘图,浏览器内核Application Framework: API,各种managerApplications1.2 Android 项目中的资源src: 各种java程序在此,包括主程序gen: 最重要的是R.java,所有res资源都在这里编号,通过R.xx.xx或@xx查询res: 各种资源都在这里,包括drawable, layout, values等另外还有menifest文件,统筹兼顾全局的,Android四大组件都要在此注册。
Android详细学习笔记第一季

一、Android学习第一天——环境搭建Android 开发环境的搭建环境搭建需要①Android SDK ②JDK ③eclipse环境搭建开始:㈠将Android SDK与JDK解压,最好路径中不要出现汉字,然后配置环境变量,方便命令行操作㈡为eclipse(3.4.1)安装开发Android插件——Android ADTHelp-->Install New Software输入:https:///android/eclipse便会自动检测出所需要安装的东西,点击install即可。
㈢重启eclipse,进行Android SDK的配置。
Windows-->Preferences-->Android找到你解压的Android SDK的路径即可。
㈣新建一个Android Project来验证平台是否搭建成功。
注:我上面步骤走下来之后发现我在运行程序时,没有Android Virtual Devices(AVD)的选项。
这时可以在Windows-->Android SDK Manager中找到你所需要安装版本,进行安装。
搭建过程还是比较顺利,加油~二、Android学习第二天——初识Activity昨天程序搭建成功以后,就可以开发跟运行Android应用程序了,因为Activity是开发中不可或缺的组成部分,所以要对Activity有所认识。
以下两点是需要注意的:(个人总结)1.凡是覆写得方法,在方法体中的第一行一定是super.XXX(),一定要先调用父类里的相应方法做必要的事情,再根据自己的需求去写其他的代码。
2.如果是从头学习安卓开发,不一定要开发最新的版本,可以在较低版本(2.3.3)下进行开发,然后在高版本(4.0)下进行编译与运行,这样可以提高代码的适应能力,可以兼容高级版本。
下面对我今天的学习进行个小结:首先Android的四个重要部分①Activity——形象点就是一个应用程序的门面,我们在手机上看到的图形界面②Intent——它就像一个搬用工,用于Activity之间传递数据,就像请求③Service——这个是不可见的,是为整个应用程序提供服务支持的底层④Content Provider——为应用程序提供数据的接口上面的描述我自己感觉也比较抽象,今天专门研究了Activity,终于守得云开见月明:首先进行以下学习之前需要对Android的工程项目目录有一个总体的了解:自己总结:src下是我们自己写得程序;gen下是我们创建程序时系统自动生成的,切忌勿修改assets是一个资源库,与res的区别是不会自动在R.java中自动生成idres是一个资源库,与assets不同的是,每增加一个资源(图片等),会自动在R.java 中生成对应的idlayout用于存放布局文件,用来控制Activity的显示格局string.xml中存放的一个一个键值对,Activity可以对其进行提取AndroidManifest.xml是系统比较重要的一个文件,存放Activity的注册信息,每生成一个Activity就应该在这里注册一个。
android 开发核心知识点笔记

android 开发核心知识点笔记1. 引言1.1 概述:本文是关于Android开发核心知识点的笔记,旨在帮助读者系统地了解和掌握Android应用开发的基础知识。
针对大多数初学者在学习Android开发过程中所遇到的困惑和问题,作者从原理、组件、界面、数据存储、网络通信等方面进行了全面整理和总结。
1.2 文章结构:文章主要分为6个部分,每个部分都涵盖了Android开发的重要内容。
首先,在引言部分我们会提供一个概述,并介绍文章整体结构;接着,我们将从Android 开发基础知识开始讲解,包括组成部分、组件通信机制以及Activity声明周期;然后,我们会讨论用户界面开发,介绍布局文件和控件、屏幕适配和多语言支持以及用户输入和手势处理等相关知识;紧接着是数据存储与持久化方面的内容,包括Shared Preferences的使用、SQLite数据库操作以及文件操作与外部存储访问权限管理机制;随后,我们将探讨网络与通信操作,包括网络请求与网络状态监听、JSON和XML数据解析与封装发送请求数据包的原理与方式比较以及WebSocket的使用及原理;最后,在结论部分我们将对全文进行总结,重点总结主要知识点和经验心得。
1.3 目的:本文的目的是帮助读者建立起对Android开发核心知识点的全面认识,并且为初学者提供一个系统学习Android开发的指南。
通过学习本文内容,读者可以了解Android应用的组成部分、各种组件之间的通信机制、Activity生命周期管理、用户界面开发技巧、数据存储与持久化方式、网络通信操作等关键知识。
同时,我们将分享一些实际开发经验和技巧,让读者在实践中更加灵活自如地应用所学知识。
总而言之,这篇文章旨在帮助读者打下扎实的Android开发基础,为进一步深入学习和探索Android应用开发提供必要支持。
无论你是刚开始接触Android 开发还是已经有一定经验并且想要巩固和提升自己的技能,本文都将为你提供有价值的信息和参考资料。
Android开发的基础知识点

Android开发的基础知识点1.Android开发的四⼤组件:Activity:android应⽤程序上看到的⼀页。
Service:运⾏在后台,可以其他组件交互(⾳乐播放器)。
BroadcoastReceiver:⽤来对外部事件作响应(电话呼⼊)。
ContentProvider:对外提供资源,⼿机上各个APP之间进⾏资源共享。
2.Activity的⽣命周期:onCreate()——>onStart()——>onResume()——>onPause()——>onStop()——>onDestroy().Activity处于运⾏状态:启动⼀个Activity会调⽤:onCreate()——>onStart()——>onResume().Activity从后台回到前台,系统调⽤onRestart()——>onStart()——>onResume().。
当Activity后台不可见或者被覆盖掉了,内存不⾜被killed,能启动Activity。
Activty处于停⽌状态:Activity退居后台(跳转其他Activity或者按下home键回到主屏)会调⽤:onSavedInstanceState()(保存当前view组件的状态)——>onPause()——>onStop().Activity处于结束状态:当⽤户退出Activity时,系统调⽤onPause()——>onStop()——>onDestory()结束当前Activity。
3.Handler机制:Handler,Looper和MessageQueue三者直接的关系,就是,在Looper实例化的同时创建了与之⼀⼀对应的MessageQueue,必须有了Looper实例才能创建Handler。
在主线程中⾃带Looper实例,可以直接创建,⽽⼦线程中却不能,必须同过Looper.prepare()来创建唯⼀Looper实例。
android的知识点总结

android的知识点总结作为目前最受欢迎的移动操作系统之一,Android在智能手机、平板电脑、智能手表等设备上得到了广泛的应用。
针对Android的开发和应用有很多的知识点需要掌握,下面就对Android的一些知识点进行总结。
一、Android基础知识1. Android系统架构Android系统架构主要由四个部分组成,它们分别是Linux内核、库、应用框架和应用程序。
Linux内核是整个系统的核心,负责系统的底层管理工作,比如内存管理、进程管理、文件系统和设备驱动等。
库是一系列的核心功能模块,负责提供系统的核心功能。
应用框架提供了丰富的API供应用程序开发,而应用程序是最终的软件产品,它们运行在应用框架之上。
2. Android应用程序的结构Android应用程序的结构主要由四个部分组成,它们分别是Activity、Service、Content Provider和Broadcast Receiver。
Activity是用户界面的呈现单元,负责与用户进行交互。
Service是一种后台运行的组件,负责执行耗时操作。
Content Provider提供了统一的数据访问接口,使得应用程序可以共享数据。
Broadcast Receiver负责接收来自系统或其他应用程序的广播消息。
3. Android的四大组件Android的四大组件指的是Activity、Service、Content Provider和Broadcast Receiver。
它们是Android系统中最重要的四个组件,通过这些组件可以构建各种不同类型的应用程序。
4. Android应用程序的生命周期Android应用程序的生命周期是指从应用程序启动到关闭的整个过程。
它主要包括活动状态、暂停状态、停止状态和销毁状态四个阶段。
在应用程序的整个生命周期中,开发人员可以通过重写对应的生命周期方法,来控制应用程序的行为。
5. Android应用程序的布局Android应用程序的布局主要由若干的View组件组成,它们可以通过代码或XML文件进行描述。
Android:UI界面设计基础知识总结(一)

Android:UI界⾯设计基础知识总结(⼀)⼤年初⼀,这⾥有我。
寒假过的很快,转眼间已经荒废了两周的学习时间,现在想来仍然是惭愧不已。
但时间已经流逝,我能做的就是抓紧当下,真正地投⼊到学习,投⼊到Android的学习中去。
现在学习主要是跟着视频教程边看边学,现将学习到的零星知识点总结如下:Android 系统中的所有 UI 类都是建⽴在 View 和 ViewGroup 两个类的基础之上的,所有 View 的⼦类称为 Widget,所有 ViewGroup 的⼦类称为 Layout。
其中 ViewGroup 是 View 的⼦类。
View 是所有 UI 组件的基类,基本上所有的⾼级 UI 组件都是继承 View 类实现的,如 TextView(⽂本框)、Button、List、EditText(编辑框)、Checkbox 等。
⼀个 View 在屏幕占据⼀块矩形区域,负责渲染这块矩形区域,也可以处理这块矩形区域发⽣的事件,并可以设置该区域是否可见以及获取焦点等。
ViewGroup 是容纳这些组件的容器,其本⾝也是从 View 中派⽣出来的,它继承于 Android.view.View,功能就是装载和管理下⼀层的 View 对象或 ViewGroup 对象,也就是说它是⼀个容纳其他元素的容器,负责对添加进来的 View 和 ViewGroup 进⾏管理和布局。
Android常⽤的UI组件:⾸先有⼀些属性是通⽤的:id=”@+id/name”创建⼀个id,系统会在R.java⽂件⾥⽣成对应的int型变量(R.java⽤来定义所有类型资源的索引)。
引⽤时:”@id/name”orientation ⽔平⽅向或垂直⽅向margin:外边距padding:内边距gravity:位置管理⼀、布局管理SDK 定义了多种布局⽅式以⽅便⽤户设计 UI。
各种布局⽅式均为 ViewGroup 类的⼦类。
主要学习的是两种最常⽤的布局,是线性布局(LinearLayout)和相对布局(RelativeLayout)。
《第一行代码:Android(第3版)》读书笔记PPT模板思维导图下载

第 8 章 跨程序共享数据,探 究Cont...
第 9 章 丰富你的程序,运用 手机多媒体
第 10 章 后台默默的劳动者, 探究Se...
第 11 章 看看精彩的世界, 使用网络技...
第 12 章 最佳的UI体验, Mater...
第 13 章 高级程序开发组件, 探究Je...
第 14 章 继续进阶,你还应 该掌握的高...
第 16 章 编写并发 布一个开源库,Pe...
018 看完了
《第一行代码 Android 第3版》被Android开发者誉为“Android学习第一书”。全书系统全面、循序渐进 地介绍了Android软件开发的必备知识、经验和技巧。《第一行代码 Android 第3版》基于Android 10.0对第2 版进行了全面更新,不仅将所有知识点都在Android 10.0系统上进行了重新适配,同时加入Kotlin语言的全面 讲解,使用Kotlin对全书代码进行重写,而且还介绍了最新系统特性以及Jetpack架构组件的使用,使本书更加 实用。《第一行代码 Android 第3版》内容通俗易懂,由浅入深,既是Android初学者的入门必备,也是 Android开发者的进阶首选。
第 15 章 进入实战,开发一 个天气预报...
第 16 章 编写并发布一个开 源库,Pe...
看完了
谢谢观看
最新版读书笔记,下载可以直接修改
《第一行代码:Android (第3版)》
思维导图PPT模板
01 致谢
目录
02 第 1 章 开始启程, 你 的 第 一 行 A n d r. . .
03 第 2 章 探究新语言, 快速入门Kotl...
04 第 3 章 先从看得到 的入手,探究Act...
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一行代码知识点总结
1、Android四层架构:Linux内核层(提供底层驱动)、系
统运行库层(提供特性支持,一些核心库)、应用框架
层(提供各种API)和应用层
2、Android四大组件:活动(activity)、服务(Service)、
广播接收器(Broadcast Receiver)和内容提供器
(Content Provider)
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活动中的提醒方式Toast
4.4、drawable存放图片,mipmap存放应用图标,values 放字符串、样式,颜色等配置,layout放布局文件
4.5、Android Studio是采用Gradle来构建项目
5、Intent的使用:显式Intent和隐式Intent()
6、活动的生命周期
7、返回栈的定义
8、Android是使用任务来管理活动的
9、活动状态:运行、暂停、停止、销毁状态
10、Activity类中的七个回调方法:onCreate()onStaart()、onResume()、onPause()、onStop()、onDestroy()和onRestart()
11、活动的三种生存期:完整、可见、前台
12、活动的四种启动模式:standard、singleTop、singleTask 和singleInstance
13、常用控件:TextView、Button、EditText、ImageView、ProgressBar(进度条)、AlertDialog(对话框)、ProgressDialog(显示对话框时出现进度条)
14、基本布局:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)百分比布局、AbsoluteLayout、TableLayout
15、常用和最难用的控件ListView
16、滚动控件:RecyclerView
17、碎片的定义、使用方式、碎片的生命周期、状态和回调
18、广播主要的两种类型:标准广播和有序广播;注册广播
的方式:静态注册和动态注册;广播接收器继承BroadcastReceiver
19、本地广播(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、web View的用法
29、HttpURLConnection:HTTP请求一般有两种:HttpURLConnection和HttpClient;OkHttp使用
30、解析XML格式数据:网路上传输数据最常用的两种格式:XML和JSON;解析XML格式数据常用的两种Pull和
SAX解析;SAX解析需要继承DefaultHandler,并重写父类的五个方法
解析JSON数据使用JSONObject、谷歌开源库GSON
31、服务定义
32、Android多线程:基本用法:新建类继承Thread,重写run()方法,new出新建类的实例调用它的start()方法或者选择使用实现Runnable接口的方式定义
33、解析异步消息四个组成部分:Message、Handler、MessageQueue和Looper
34、AsyncTask的使用
35、服务的基本用法
36、基于位置服务(LBS)通常有两种:GPS定位和网络定位
37、最佳UI体验:滑动菜单(DrawerLayout)Navigation View (谷歌);悬浮按钮和可交互提示(FloatingActionButton、Snackbar)CoordinatorLayout加强版FrameLayout、卡片布局(CardView控件)AppBarLayout
38、下拉刷新:SwipeRefreshLayout类
39、可折叠式标题栏:CollapsingToolbarLayout (AppBarLayout的子布局)
40、全局获取Content的技巧:
41、使用Intent来传递对象的两种实现方式:Serializable (序列化,序列化对象可以在网络上传输也可以储存在本地)和Parcelable(将一个完整的对象进行分解)
42、Android中定时任务的两种实现方式:Java API提供的Timer类和Android的Alarm机制
43、Lambda表达式:本质一种匿名方式;代码简洁易读。