![](https://img-blog.csdnimg.cn/20190903004539805.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android学习
Android学习笔记专栏,这里会分享看一些Android大牛的书籍学习笔记。希望我这个专栏对Android学习的小伙伴有帮助
野生杂学家阿博
发现问题,解决问题,总结反思。
展开
-
Android学习笔记33——Binder
前言在学习《Android开发艺术探索》书中的Binder的时候,刚哥有说到侧重介绍Binder的使用以及上层原理。博主这里打算结合书中知识和网上查找到的资料来说说Binder机制。Binder简介Binder是Android中的一个类,它实现了IBinder接口。从IPC角度来说,Binder是Android中的一种跨进程通信方式,Binder还可以理解为一种虚拟的物理设备,它的设备驱动是...原创 2019-02-05 22:22:19 · 228 阅读 · 0 评论 -
Android学习笔记32——Parcelable接口
前言前面介绍了通过Serializable方式来实现序列化的方法,这里介绍另外一种序列化方式Parcelable。它也是一个接口,只要实现这个接口,一个类的对象就可以实现序列化并可以通过Intent和Binder传递。Parcelable的例子public class User implements Parcelable{ public int userId; public Strin...原创 2019-02-05 19:46:29 · 266 阅读 · 0 评论 -
Android学习笔记31——Serializable接口
前言在上一篇Android学习博客中聊到了Android多进程模式,当我们需要通过Intent和Binder传输数据时就需要使用Serializable或者Parcelable。还有如果我们需要把对象持续化到储存设备上或者通过网络传输给其他客户端,这个时候也需要使用Serializable来完成对象的持续化。这篇博客介绍如果使用Serializable完成对象的的序列化。Serializabl...原创 2019-02-05 15:26:36 · 793 阅读 · 0 评论 -
Android学习笔记30——多进程模式
前言之前的学习中,我们有提到Android的IPC机制。但是在深入IPC机制之前,我们要先理解Android的多进程模式。Android多进程正常情况下,在Android中多进程是指一个应用存在多个进程的情况。多进程模式的开启使用Android多进程只有一种方法,通过给四大组件(Activity、Service、Receiver、ContentProvider)在AndroidMenif...原创 2018-12-01 12:54:54 · 198 阅读 · 0 评论 -
Android学习笔记29——IPC机制
IPC机制简介IPC是Inter-Process Communication的缩写,含义为多进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。这里又涉及到什么进程,什么是线程的理念了。进程进程,一般是指一个执行单元,在PC和移动设备上指一个程序或者一个应用。线程按照操作系统中的描述,线程是CPU调度最小的单元,同时线程是有限的系统资源。进程和线程的关系一个进程可以包含多个...原创 2018-11-20 22:17:32 · 163 阅读 · 0 评论 -
Android学习笔记28——IntentFilter的匹配规则
前言在日常的Android开发中,我们会用到IntentFilter的匹配规则。IntentFilter的主要规则分为action、category、data三个类别,只有完美匹配才能成功启动目标Activity;下面来分享一下这三种IntentFilter的规则。1.action的匹配规则action是一个字符串,系统预定义了一些action,同时我们也可以在应用中定义自己的action。...原创 2018-11-15 04:05:11 · 753 阅读 · 4 评论 -
Android学习笔记27——蓝牙传输
蓝牙传输通过蓝牙传输数据与Socket类似。在网络中使用Socket和ServerSocket控制客户端和服务端的数据读写。而蓝牙通讯也由客户端和服务端Socket来完成。蓝牙客户端Socket是BluetoothSocket,蓝牙服务端Socket是BluetoothServerSocket。这两个类都在android.bluetooth包中。如果打算建议两个蓝牙设备之间的连接,则必须实现服...原创 2018-10-10 11:23:50 · 407 阅读 · 0 评论 -
Android学习笔记26——蓝牙Socket通信
蓝牙Socket通信UUID在蓝牙中,每个服务和服务属性都唯一地由 全局唯一标识符 ,Universally Unique Identifier(UUID)来校验。正如它的名字所暗示的,每一个这样的标识符都要在时空上保证唯一。UUID类可表现为短整形(16或32位)和长整形(128 位)UUID。他提供了分别利用String和16位或32位数值来创建类的构造函数,提供了一个可以比较两个UUID...原创 2018-10-10 11:07:36 · 1352 阅读 · 0 评论 -
Android学习笔记25——蓝牙(Bluetooth)
蓝牙(Bluetooth)蓝牙(Bluetooth)是一种短距离的无线通信技术标准。蓝牙协议蓝牙协议分为4层,即核心替代层、电缆替代协议层、电话控制协议层和采纳的其他的协议层。这4种最重要的是核心协议层。蓝牙协议包括基带、链路管理、逻辑链路控制和适应协议四部分。其中链路管理(LMP)负责蓝牙组件间连接的建立。逻辑链路控制与适应协议(L2CAP)位于基带协议层上,属于数据链路层,是一个为高层传...原创 2018-10-10 11:05:37 · 1004 阅读 · 0 评论 -
Android学习笔记24——WiFi
WiFi类WiFi是一种无线联网技术,常见的是使用无线路由器。那么在这个信号覆盖的范围内都可以采用WiFi连接的方式进行联网。如果无线路由器连接了一个ADSL线路或者其他的联网线路,则又被称为“热点”。在Android中对WiFi操作,Android本身提供一些有用的包,在anroid.net.wifi包下面。WiFi常用的类ScanResult主要用来描述已经检测出的接入点,包括接入...原创 2018-10-10 10:51:55 · 352 阅读 · 0 评论 -
Android学习笔记23——View
View类这个类是用户接口的基础构件。 View 表示屏幕上的一块矩形区域,负责绘制这个区域和事件处理。View 是所有widget类的基类,Widget 类用于创建交互式UI构件(按钮,输入框等)。View 类的ViewGroup子类是layout 的基类,Layout是一个不可见的容器,它保存着View(或ViewGroup)并定义这些View的layout 属性。View类的主要操作...原创 2018-10-10 10:41:50 · 203 阅读 · 0 评论 -
Android学习笔记22——PopupWindow
PopupWindowPopupWindow有点类似于Dialog,相同点在于都是弹出窗口,并且都可以对其进行自定义显示,并且里面的监听组件,进行相应的操作,但它与Dialog又有很大的区别,PopupWindow只是弹出窗口,不会使宿主Activity组件失去焦点,也就是说PopupWindow弹出后,你仍可以与宿主Activity进行交互,Dialog却不能做到这一点。常用构造方法pub...原创 2018-10-10 10:32:00 · 159 阅读 · 0 评论 -
Android学习笔记21——Snackbar组件
SnackbarSnackbar组件是 Android design support library中的类,是为了在低版本下使用Android5.0的一些新特性。Eclipse中使用要使用该lib包,将Android Manager中的Android support library升级到最新。然后在在sdk->extras->android中查找design导入工程,并且将V7...原创 2018-10-10 10:23:29 · 361 阅读 · 0 评论 -
Android学习笔记20——对话框、通知
Toast类Android中的Toast是一种简易的消息提示框。Toast是一个包含用户点击消息。Toast类会帮助你创建和显示这些。当视图显示给用户,在应用程序中显示为浮动。和Dialog不一样的是,它永远不会获得焦点,无法被点击。用户将可能是在中间键入别的东西。Toast类的思想就是尽量不引起人的注意,同时还向用户提供信息,希望他们看见。而且Toast显示时间有限,Toast会根据用户设...原创 2018-10-10 10:16:32 · 691 阅读 · 0 评论 -
Android学习笔记19——BroadcastReceiver(广播接收者)
BroadcastReceiver定义中文意思“广播接收者”,是一个全局的监听器,属于Android四大组件之一。使用场景同一个App内部的同一组件内的消息通信(单个或者多个线程之间);同一个App内部的不同组件之间的消息通信(单个进程);同一个App具有多个进程的不同组件之间的消息通信;不同App之间的组件之间消息通信;Android系统在特定的情况下与App之间的消息通信。...原创 2018-10-03 14:57:24 · 725 阅读 · 0 评论 -
Android学习笔记18——Service
Service定义Service通常总是称之为“后台服务”,Android的四大组件之一,其中“后台”一词是相对于前台而言的,具体是指其本身的运行并不依赖于用户可视的UI界面,因此,从实际业务需求上来理解,Service的适用场景应该具备以下条件:并不依赖于用户可视的UI界面(当然,这一条其实也不是绝对的,如前台Service就是与Notification界面结合使用的);具有较长时间的...原创 2018-10-03 14:35:23 · 287 阅读 · 0 评论 -
Android学习笔记17——Handle(线程间通信)
前言线程间通信是在Android开发中比较经常遇到的,我们刷新UI界面一般是通过子线程做完某些事情后,要改变主页面就要通过数据的通信,让主线程接收到信息后自己改变UI界面。线程间通信相关的类1.Handle先进先出原则;2.Looper类用来管理特定线程内对象之间的消息交换(MessageExchange);3.Message类用来保存数据。线程通信的过程1.Looper: 一个线程...原创 2018-09-30 11:08:33 · 750 阅读 · 0 评论 -
Android学习笔记16——ViewPager
前言在实际的Android开发当中,ViewPager是我们经常使用的组件之一。比如我们常见的应用的引导页、Banner自定义控件中都有使用到ViewPager。ViewPagerViewPager简介和作用ViewPager是Android扩展包v4包,这个类可以让用户切换当前的view。1.ViewPager类直接继承了ViewGroup类,所以它是一个容器类,可以在其中添加其他Vi...原创 2018-09-29 11:56:47 · 250 阅读 · 0 评论 -
Android学习笔记15——Fragment
前言在Android的实际开发当中,Fragment是我们最常用到的组件。那么我们应该怎么用好Fragment呢?下面分享一下我学习Fragment的心得。FragmentFragment的概念Fragment是Android3.0新增的概念,中文意思是“碎片”,它与Activity非常相似,用一个Activity中描述一些行为或者一部分用户界面,使用多个Fragment可以在一个单独的A...原创 2018-09-29 11:43:55 · 337 阅读 · 0 评论 -
Android学习笔记14——AutoCompleteTextView
前言在很多App中的搜索栏输入一个或者两个关键词,就会提示用户可能要搜索的结果,这种效果就是使用了AutoCompleteTextView控件,下面分享一下我的学习心得。AutoCompleteTextView当用户输入它会自动提供建议,建议列表显示在下拉菜单,从中用户可以选择一个项目,以取代与编辑框的内容。效果如下:AutoCompleteTextView的使用1.准备数据源2.将...原创 2018-09-24 11:16:45 · 541 阅读 · 0 评论 -
Android学习笔记13——常见的事件
前言在Android的开发中,我们会遇到各种各样的事件。下面给大家分享一下,我学习Android常见事件。Android常见的事件单击事件onClickListener长按事件onLongClickListener滑动事件onTouchListener键盘事件onKeyListener焦点事件setOnFoucusChangeListener事件实现方式1.动态设置(最常用的...原创 2018-09-23 23:24:11 · 273 阅读 · 0 评论 -
Android学习笔记12——RadioButton(单选按钮)
RadioButtonRadioButton是单选按钮,允许用户在一个组中选择一个选项。同一组中的单选按钮有互斥效果。RadioButton的特点1.RadioButton是圆形单选框; 2.RadioGroup是个可以容纳多个RadioButton的容器; 3.在RadioGroup中的RadioButton控件可以有多个,但同时有且仅有一个可以被选中。使用Demo在布...原创 2018-09-17 14:01:30 · 18445 阅读 · 0 评论 -
Android学习笔记11——RelativeLayout(相对布局)
前言上一篇博客中介绍了LinearLayout,那么这篇博客分享一下RelativeLayout(相对布局)。RelativeLayoutRelativeLayout是相对布局,允许子元素指定它们相对于父元素或兄弟元素的位置。常用属性1.android:layout_above 将控件设置在给定ID控件之上。2.android:layout_below 将控件设置在给定...原创 2018-09-17 13:40:31 · 1165 阅读 · 0 评论 -
Android学习笔记10——LinearLayout(线性布局)
前言在实际的Andorid开发中,我们肯定经常使用LinearLayout(线性布局)。下面分享一下,我的学习心得。LinearLayout(线性布局)LinearLayout是一个视图组允许所有的子视图在竖直或水平单一方向上摆放的布局。常用属性1.android:orientation 设置布局管理器内组件的排列方式,可以设置为 horizontal (水平排列)、ve...原创 2018-09-17 13:15:43 · 2090 阅读 · 0 评论 -
Android学习笔记9——Activity的Intent Flags(标记位)
前言我们肯定接触过Activity的Intent Flags,它是Activity的标记位,常用于Activity的场景中与Activity的启动模式有着密切的联系。下面介绍一下我学习到常用的Flags。FLAG_ACTIVITY_NEW_TASK (默认)默认的跳转类型,它会重新创建一个新的Activity,不过与这种情况,比如说Task1中有A,B,C三个Activity,此时在C...原创 2018-08-30 23:37:45 · 1762 阅读 · 0 评论 -
Android学习笔记8——Activity生命周期(续)
前言前面和大家分享了Activity正常情况的生命周期,这里接着上一篇博客,谈谈我对“异常情况下的Activity生命周期”的理解。异常情况下的Activity生命周期异常情况下的生命周期是指Activity被系统回收或者由于当前设备的Configuration(配置)发生变化从而导致Activity被销毁重建。异常情况的产生可能是当资源相关的系统配置发生改变以及系统内存不足时,Act...原创 2018-05-10 00:31:31 · 446 阅读 · 0 评论 -
Android学习笔记7——Activity生命周期
前言Activity,是Android的四大组件之一。在Android开发当中,是最常用的一种组件,那么Activity的生命周期是怎么样的呢?这里和大家分享一下,我理解的Activity生命周期。Activity生命周期Activity的生命周期可以分为两个部分内容,一部分是典型情况下的生命周期,另一部分是异常情况下的生命周期。典型情况下的生命周期所谓典型情况下的生命周期,是指在有用户参与的情况下原创 2018-05-05 01:14:45 · 274 阅读 · 0 评论 -
Android学习笔记6——Application类
前言Application类在每一次开发当中是我们都会遇到的,每一个APP都会有一个Application实例,它拥有和APP一样长的生命周期,Application和APP一起“同生共死”,下面是我对Application的理解阐述。Application类Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会...原创 2018-04-15 18:21:59 · 253 阅读 · 0 评论 -
Android学习笔记5——Button属性详解
前言Button组件是在我们在开发中最常用到的组。Button组件,俗称“按钮”,在APP界面当中少不了按钮,那么按钮的属性和使用方法是怎么样的呢?Button常用属性因为Button继承TextView,所以他和TextView有很多共同的属性,下面列举一下常用的。如果想要更深入了解可以点击这个网址https://blog.csdn.net/chengxu_kuangrexintu/...原创 2018-04-14 16:15:44 · 16421 阅读 · 0 评论 -
Andorid学习笔记4——ViewGroup布局管理器
ViewGroup布局管理器Android的UI界面都是由View和ViewGroup及其派生类组合而成的。其中,View是所有UI组件的基类,而ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的。AndroidUI界面的一般结构图 一般来说,开发Android应用程序的UI界面都不会直接使用View和ViewGroup,而是使用这两大基类的派生类。Vie...原创 2018-03-17 15:43:07 · 285 阅读 · 0 评论 -
Android学习笔记3——ImageView图像视图的属性详情
前言在这里和大家分享一下,我对Android的ImageView图像视图组件的学习以及一些属性的使用。ImageViewImageView,图像视图,直接继承自View类,它的主要功能是用于显示图片。实际上它不仅仅可以用来显示图片,任何Drawable对象都可以使用ImageView来显示。ImageView可以适用于任何布局中,并且Android为其提供了缩放和着色的一些体操作。 ...原创 2018-03-17 14:57:56 · 850 阅读 · 0 评论 -
Android学习笔记2——TextView文本视图的属性详解
TextView文本视图TextView是Android中用的最多的控件,显示一行或者多行文本,也可以给上下左右设置图片,并且结合SpannableString和其子类可以做到图文混排。在开发当中我们会很经常会使用到TextView。TextView文本视图的属性android:autoLink //设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击...原创 2018-03-16 15:57:06 · 2048 阅读 · 0 评论 -
Android学习笔记1——搭建开发环境和了解Android平台
前言Android手机操作系统,我们生活中大部分人使用的是Android操作系统的手机。那么这里让我们走进我们的Android平台,了解它的特性。Android平台特性允许重用和替换组件的应用程序框架专门为移动设备优化的Dalvik虚拟机基于开源引擎WebKit的内置浏览器自定义的2D图开库提供了最佳的图开效果,此外还支持基于OpenGl ES 1.0规范的3D效果支持数据结...原创 2018-02-27 21:17:48 · 608 阅读 · 1 评论