service与activity交互的方式有多种,这里说说使用Messenger来实现两者之间的交互. Service程序 public class MessengerService extends Service { final Messenger mMessenger = new Messenger(new IncomingHandler()); @Override public IBinder onBind(Intent intent) { return mMessenger.getBin…
Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activity搬上来了,也确实,和Activity打交道的次数基本上是最多的,而且他的内容和知识点也是很多的,非常值得我们优先把他掌握,Activity中文翻译过来就是"活动"的意思,但是主席觉得这样翻译有些生硬,直接翻译成"界面"可能更好,的确,Activity主要也是用于U…
 转载请注明:http://www.cnblogs.com/igoslly/p/6853730.html  调用子Activity 需要子Activity返回值 MainActivity使用startActivityForResult方法 毋需子Activity返回值 MainActivity使用startActivity方法 MainActivity传值子Activity 直接设置intent.putExtras                 MainActivity传值时: Intent…
前言  google在更新Android8.0后对Service的权限越发收紧.导致目前想要启动服务必需实现服务的前台化(否则在服务启动5秒后,系统将自动报错).下面我们就来看看如何在8.0上启动服务. 看看8.0之前的版本怎么启动Service 在看8.0启动服务的方法之前,我们先看看8.0之前是怎么启动服务的.这样可以对比,也可以理解增加了那些部分. 1.在Activity启动服务: Intent intent = new Intent(MainActivity.this,MainServi…
0.  前言 不论是Android还是其他操作系统,都会有自己的IPC机制,所谓IPC(Inter-Process Communication)即进程间通信.首先线程和进程是很不同的概念,线程是CPU调用的最小单元,进程一般在PC和移动设备上指一个程序或者一个应用,一个进程可以包含多个线程. IPC方式有很多,在Android中常用的IPC方式包括Bundle.文件.Messenger.AIDL.ContentProvider和Socket等方式. 本篇主要讲解使用Messenger的方式.本文…
0. 前言 本文转载自AItsuki的博客. 首先说明一下为什么要写这么一篇博客:最近看了一些其他人的项目,发现很多项目的做法是建立一个专门存放Adapter类的Package包,也有的项目干脆直接都写在Activity中.而我属于后者,我并不觉得Adapter需要单独占用一个包,因为大多数时候他们并不能给其他Activity复用. 其实这两种方式都是可以的,但有一点很关键,那就是无论如何,adapter不能持有activity的引用,否则可能会因为adapter里面可能会做一些耗时操作,当ac…
fragment触发事件后传递会给activity,可以通过在fragment中定义一个接口,让activity实现这个接口. 具体代码如下 public class AAFragment extends Fragment { private OnFragmentInteractionListener mListener; public void onButtonPressed(Uri uri) { if (mListener != null) { mListener.onFragmentInt…
两种不同情况下的Activity生命周期 (1)典型情况下的生命周期 指在有用户参与的情况下,Activity所经过的生命周期的改变. (2)异常情况下的生命周期 指Activity被系统回收或者由于当前设备的Configuration发生改变重而导致Activity被销毁传重建. 先来看看典型情况下的生命周期分析 看看官方文档的Activity生命周期图 注意以下几点: (1)onstart()和onResume()从实际使用过程来说差不多,但是onstart()的时候Activity虽然可见…
设置类似钉钉或tel的圆形用户名首字母头像 设置有两种方法,一是使用已有的库或自定义的view组件,但如果确定只是文字头像,也可使用textview的backgrou属性,调整资源文件使textview达到圆形的效果, textview文字属性 文字属性使用gravate调整位置, activity的launchmode四种 其中singleTop singleStrack 使用方式不同,当首页界面,加载页设计为此时,不会频繁销毁activity,同时有利于广告植入, linerlayout o…
一.使用场景如果要通知多个Activity,广播较为适合.但广播较为耗费性能. 二.Broadcast更新Activity中的UI 1.新建一个接口OnUpdateUI,用于回调更新UI public interface OnUpdateUI { void updateUI(String i); } 2.BroadcastReceiver代码 public class MyBroadcast extends BroadcastReceiver { OnUpdateUI onUpdateUI; @…