intent传递对象

Activity跳转Flag详解

自古美人都是妖i 提交于 2019-11-27 07:45:03
Android 的一个特色就是 application A 的 activity 可以启动 application B 的 activity,尽管 A 和 B 是毫无干系的,而在用户看来,两个场景紧密联系,视觉上二者构成了一个整体。Android 就是把这种误觉定义为 Task,它既不是 class,也不是 AndroidMainifest.xml 中的一个元素。从表现上看 Task 就像是一个 stack,一个一个的 activity 是构成 stack 的元素,做着入栈 (push) 和出栈 (pop-up)这样简单重复性的劳动。 默认的规则总是满足大多数的应用场景,但是也总会有一些例外打破习以为常的惯例。Task 的默认规则同样并非牢不可破,修改的方法还是有的。借助 Intent 中的 flag 和 AndroidMainifest.xml 中 activity 元素的属性,就可以控制到 Task 里 Activity 的关联关系和行为。 在 android.content.Intent 中一共定义了20种不同的 flag,其中和 Task 紧密关联的有四种: 1.FLAG_ACTIVITY_NEW_TASK 2.FLAG_ACTIVITY_CLEAR_TOP 3.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 4.FLAG_ACTIVITY

71道Android开发面试题

情到浓时终转凉″ 提交于 2019-11-27 07:14:32
文章转载自: http://www.pythonheidong.com/blog/article/3310/ 注:本文来自“安卓巴士” Android面试题 1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、 内存回收程序负责释放无用内存 C、 内存回收程序允许程序员直接释放内存 D、 内存回收程序可以在指定的时间释放内存对象 2. 下面异常是属于Runtime Exception 的是(abcd)(多选) A、 ArithmeticException B、 IllegalArgumentException C、 NullPointerException D、 BufferUnderflowException 3. Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(c). c A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12 4. 下列程序段的输出结果是:(b ) void complicatedexpression_r(){ int x=20, y=30; boolean b; b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60; System.out.println(b); } A、true B

bindService和AIDL的简单应用例子

隐身守侯 提交于 2019-11-27 03:37:34
1.Service不是一个单独的进程,它和它的应用程序在同一个进程中 2.Service不是一个线程,这样就意味着我们应该避免在Service中进行耗时操作 话不多说,我们直接上代码,是bingService启动service的,startService暂时先不上了。。。。。通过bindservice可以使service和avtivity通信。。。 首先创建一个TestServiceOne继承Service; public class TestServiceOne extends Service { private static final String TAG = "TestServiceOne"; private int count; private boolean quit; private MyBinder binder = new MyBinder(); public class MyBinder extends Binder{ public int getCount(){ return count; } } @Override public IBinder onBind(Intent intent) { Log.i(TAG, "onBind方法被调用!"); return binder; } @Override public void onCreate(){ super

Android中后台service的使用

天涯浪子 提交于 2019-11-26 15:27:39
Service简介 Service 是Android中四大组件之一,能够长时间的在后台(不和用户交互)运行,能够给当前App或者其他App的组件提供服务。创建一个Service和创建一个Activity很相似,但是我们需要继承Service这个类。 Service生命周期 Service的启动有两种方式startService()和bindService(). startService(): 启动服务,当一个Android组件(如一个Activity)调用startService()的时候,启动一个服务。服务一旦启动,就可以一直在后台运行下去,即使这个启动它的组件被摧毁。这样的服务模式,通常用于执行一个操作而不需要返回结果给调用者。 bindService(): 绑定服务,当一个Android组件(如一个Activity)调用bindService()。一个绑定服务提供了一个客户端到服务端的接口,允许组件与服务之间进行交互,这样可以实现跨进程的通信。绑定服务的生命周期默认是跟随它的绑定组件的,但是一个绑定服务可以绑定多个Android组件,如果这些Android组件都被销毁,那么这个绑定服务也将被销毁。 这是Service的生命周期示意图 下面是运用StartService实例 Service代码 public class MyService extends Service {