Android开发艺术探索
好记性不如敲键盘,把书中要点记录下来,方便日后回顾,加深理解。
H.ZWei
这个作者很懒,什么都没留下…
展开
-
Android进程间通信 - 几种方式的对比总结
什么是RPCRPC(Remote Procedure Call)即远程过程调用,它是一种通过网络从远程计算机程序上请求服务,在不需要了解底层网络技术的协议下,即可获取计算机进程中的数据。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC在OSI网络通信7层模型中,位于传输层与应用层之间,即位于会话层: RPC实现模式,就是我们常说的C/S结构,引用百度百科的定义:...原创 2018-07-29 21:12:45 · 25657 阅读 · 1 评论 -
Android进程间通信 - Socket使用(TCP、UDP)
在使用Socket实现进程间通信前,先对网络协议相关知识进行简单回顾。网络分层一般情况会将网络分为5层:应用层     常见协议:HTTP、FTP、POP3等传输层     常见协议:TCP、UDP网络层 &原创 2018-07-28 19:38:30 · 6388 阅读 · 3 评论 -
Android进程间通信 - ContentProvider内容提供者
简介ContentProvider主要用于在不同的应用程序间实现数据共享的功能,允许一个程序访问另外一个程序中的数据,还能保证数据访问的安全性。 是Android跨进程实现数据共享的标准方式。ContentProvider相当于进程间的搬运工,对数据一系列的操作(CRUD)数据源可以是数据库(SQLite等)、文件、xml、网络等等。统一资源标识符(URI)UR...原创 2018-07-22 20:37:48 · 3687 阅读 · 0 评论 -
Android进程间通信 - Messenger的使用和理解
Messenger简介Messenger是基于Message对象进行跨进程通信的,类似于Handler发送消息实现线程间通信一样的用法。Messenger使用下面写个客户端跨进程发送消息到服务端,服务端接受到立即回复的例子。服务端实现流程首先创建一个Handler对象接着创建一个Messenger对象,并把Handler对象以形参传入Messenger中最后通...原创 2018-07-18 02:16:47 · 7379 阅读 · 2 评论 -
Android进程通信 - AIDL解析与Binder浅析
在上篇我们知道了AIDL的基本使用Android进程通信 - AIDL的使用方法,然而还存在使用上的疑问,比如:AIDL是怎么实现IPC的?服务端创建Binder对象或者客户端AIDL接口对象,都调用Stub()方法实现,那么该方法具体有哪些操作? 什么是Binder?其实上面这三点可以统称理解为AIDL本质是什么;下面重点对AIDL文件生成的java文件进行解析,在创建了AIDL...原创 2018-07-16 22:31:11 · 901 阅读 · 0 评论 -
Android进程通信 - AIDL的使用方法
AIDL简介AIDL是Android接口定义语言,有点类似于我们开发中的普通接口。由于不同进程间不能共享内存,为了解决进程间通信的问题,可以通过AIDL接口语言来实现进程间的通信。AIDL文件支持的数据类型基本数据类型(int、long、char、boolean、double)String和CharSequenceList和Map集合 集合内元素必须是AIDL支持的数据类型服...原创 2018-07-15 02:17:20 · 3447 阅读 · 2 评论 -
Android进程通信 - 序列化Serialzable与Parcelable
序列化简介定义序列化是将对象的状态信息转换为存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从储存区中读取或反序列化对象的状态,重新创建该对象。 简单而言: 序列化是将对象转换成字节流 反序列化是将字节流转化成对象。用途主要用途:序列化将对象写成字节流持久化保存在内存、文件、数据库中将序列化对象通过网络...原创 2018-07-11 01:24:59 · 2565 阅读 · 0 评论 -
Android基础 - 重温Activity的启动模式
我们知道一个应用可能存在多个Activity,在一个Activity除了可以启动本应用的另一个Activity,还可能是其他应用的Activity,比如我们常用的分享朋友圈、拍照等等功能,就是典型的跨应用的交互,那么在Android中是如何管理这些Activity的呢?接下来先了解下Activity的任务栈原创 2018-07-01 14:31:15 · 218 阅读 · 0 评论 -
Android基础 - 重温Activity生命周期
《Android开发艺术探索》买了好久了,将近有两年了,一直没有好好系统的看过,在浑浑噩噩的过日子,浪费好多时间;现在从头再来,坚持下去给自己一个希望。典型的生命周期7个生命周期方法onCreate:Activity正在被创建 初始化布局资源和数据onRestart:Activity正在重启启动,从不可见变为可见状态 按Home键返回桌面,再点击桌面图标返回App...原创 2018-06-30 00:50:40 · 589 阅读 · 0 评论 -
Android基础 - Service实例深入理解
上篇学习了Service一些基础知识,知道了在Service做耗时任务(网络请求、IO等等)需开启一个线程,否则会导致ANR,接下来通过实例加深Service的使用理解。Service种类及特点Service几种典型实例下面以模拟下载文件为例子1、不可交互的后台服务不可交互的后台服务即是普通的Service,是通过startService方法启动,其生命周期顺序...原创 2018-07-07 00:39:19 · 753 阅读 · 2 评论 -
Android基础 - Service生命周期(一)
Service简介四大组件之一,与Activity不同之处,没有UI界面,是在后台运行的组件。适合执行一些长期在后台运行和没有用户交互的任务。默认是在主线程运行,若要执行耗时操作,需放在开启子线程进行。Service工作状态启动状态:主要用于执行后台计算 startService:启动服务stopService:停止服务绑定状态:主要用于其他组件(Activity、Fra...原创 2018-07-03 01:21:30 · 450 阅读 · 0 评论 -
Android基础 - BroadcastReceiver全面解析
简介BroadcastReceiver,同样是Android四大组件之一,有两个重要角色:广播发布者、广播接受者。使用场景及作用作用用于接受或者监听应用发出来的广播,并作出相应的响应。使用场景用于不同组件间的通信,包括应用内和不同应用间的交互通信。监听系统资源的变化,如网络变化、SD卡状态等多进程的通信实现原理是典型观察者模式的应用,基于消息发布...原创 2018-07-08 22:55:37 · 2763 阅读 · 0 评论