------ 活动的启动模式 ------ 在实际项目中应该根据特定的需求为每个活动指定恰当的启动模式. 四种启动模式: standard . singleTop . singleTask . singleInstance, 可以在AndriodManifest.xml中通过给<activity>标签制定android:launchMode属性选择启动模式. >> standard:活动默认的启动模式.每当启动一个新的活动,他就会在返回栈中入栈,并处于栈顶 位置.系统不会在乎这活动…
在安卓系统中默认每次启动一个Activity时,系统会创建一个实例,并按照先进后出的原则放入任务栈中,当我们按back键时,就会有一个activity从任务栈顶移除,重复下去,直到任务栈为空,系统就会回收这个任务栈.但是这样以来,系统多次启动同一个Activity时就会重复创建多个实例,这种做法显然不合理,为了能够优化这个问题,Android提供四种启动模式来修改系统这一默认行为. Activity的四种启动模式如下: standard.singleTop.singleTask.singleIn…
------ 活动的生命周期 ------ Android是使用任务Task来管理活动的,一个任务就是一组存放在栈里的活动的集合.每当启动一个活动 ,他就会在返回栈中入栈,并处于栈顶位置.而每当我们按下 Back 键或调用 finish()方法去销毁一个 活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置.系统总是会显示处 于栈顶的活动给用户. 活动的生命周期最多可能有四种状态: >> 运行状态: 活动处于栈顶位置 >> 暂停状态: 活动不再处于栈顶位置,但是…
原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件. Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备.目前尚未有统一中文名称,中国大陆…
作为Android四大组件之一,Activity可以说是最基本也是最常见的组件,它提供了一个显示界面,从而实现与用户的交互,作为初学者,必须熟练掌握.今天我们就来通过实验演示,来帮助大家理解Activity的四大启动模式. 演示效果如下: 第一步:实验前准备,相关配置文件以及Activity的建立 (1)AndroidMainfest.xml配置文件 <?xml version="1.0" encoding="utf-8"?> <manifest…
在实际项目中我们应该根据特定的需求为每个活动指定相应的启动模式.启动模式一共分为4种:standar.singleTop.singleTask和singleInstance.可以在AndroidManifest.xml文件中通过标签指定android:launchMode属性来选择启动模式. 1.standard standard是活动的默认启动模式,在不进行显示指定的情况下,所有活动都会自动使用这种启动模式.之前提到过,Android是使用返回栈来管理活动的.在standard模式下,每当启动…
平时使用广播的场合比较多,但细节的东西,看过了也没有总结,以至于某些场合有小问题,还是要把原理和属性搞清楚才能运用自如. 其实也是自己比较懒,先看别人的blog,有个概念再去官网看英文的能好理解一些. 这篇补充上一篇消息推送的知识,先罗列一些基础知识,再说自己不足的地方和问题. 照例,先搬砖: 1. Android中pendingIntent的深入理解 2. Android Service 服务(二)—— BroadcastReceiver 3. Android----基础----第八天----…
前言 前言 从软件测试最终目的发现问题缺陷来看,Findyou比较认同一个观念,测试的能力大致可以划分成三个能力层次:发现问题.定位问题.预防问题.有机会探讨一下这个分类. 发现问题各种方式方法,比如边界值,如何有效提高发现问题的效率?比如APP前后台切换数据为什么容易丢失?什么情况下容易产生OOM? 定位问题要求测试综合能力强,你比如业务熟悉.代码熟悉.平台(比如Linux系统.Android系统)熟悉等均有很强的要求.比如上文的栗子,APP前后台切换界面录入数据丢失,能否通过日志.代码.系统…
四大组件之一活动 活动状态 运行状态:活动处于栈顶 暂停状态:活动不处于栈顶,但仍然可见 停止状态:完全不可见 销毁状态:离开返回栈 生存期 onCreate() onStart():不可见到可见调用 onResume():与用户进行交互,处于栈顶运行态 onPause():准备启动或者恢复另一活动, onStop():完全不可见的时候调用 onDestory():被销毁之前调用,之后变为销毁状态 onRestart():这个方法由停止状态变为运行状态之前调用,也就是活动重新启动了 当Activ…
一.配置所需开发环境 1.基本环境配置 JDK 5或以上版本(仅有JRE不够) (http://www.oracle.com/technetwork/java/javase/downloads/index.html). Eclipse 3.6 或以上版本(https://www.eclipse.org/downloads/,建议下载Eclipse IDE for Java EE Developers) 2.下载安装eclipse ADT插件  1)下载用于在Eclipse 开发android应用…
https://github.com/zhantong/interview/blob/master/Android/Android.md 四大组件是什么? 四大组件的启动方式? Activity生命周期? 不同场景下Activity生命周期状态?启动?返回前台?退回后台?锁屏解锁?A启动B? Activity重载如何保存状态?这个方法主动销毁也有效吗(如返回键)? onSavedInstance()调用时机? 什么是任务? Activity启动模式? 横竖屏切换Actvity生命周期?https…
1.android文件存储 对Android系统了解的都知道,Android系统有四种基本的数据保存方法,一是SharedPreference,二是文件,三是SQLite,四是ContentProvider.看出来了吧,Preference,对就是使用SharedPreferneces以键值对的形式进行保存的. 2.SharedPreferneces 做软件开发应该都知道,很多软件会有配置文件,里面存放这程序运行当中的各个属性值,由于其配置信息并不多,如果采用数据库来存放并不划算,因为数据库连接…
原文链接:http://www.orlion.ga/432/ 一.活动的生命周期 1.返回栈 Android中的活动是可以重叠的,我们每启动一个新的活动,就会覆盖在原活动之上,然后点击Back键会销毁最上面的活动,下面一个活动会重新显示出来,Android是使用任务(Task)来管理活动的,一个任务就是一组放在栈里的活动的集合,这个栈也被成为返回栈.默认情况下我们启动一个新的活动它就会在返回栈中入栈,并处在栈顶的位置.当我们按下返回键或者调用finish ()方法销毁一个 活动的时候,处在栈顶的…
ctivity的四种启动模式: standard.singleTop.singleTask.singleInstance 为了打印方便,定义一个基础Activity,在其onCreate方法和onNewIntent方法中打印出当前Activity的日志信息,主要包括所属的task,当前类的hashcode,以及taskAffinity的值.之后我们进行测试的Activity都直接继承该Activity import android.content.Intent; import android.c…
最近有几位朋友给我留言,让我谈一下对Activity启动模式的理解.我觉得对某个知识点的理解必须要动手操作才能印象深刻,所以今天写一篇博文,结合案例理解Activity启动模式.由于之前看过"区长"的一篇博文(文章结尾处有链接)深受启发,因此本文是在那篇文章的基础上更加全面的讲解.        众所周知当我们多次启动同一个Activity时,系统会创建多个实例,并把它们按照先进后出的原则一一放入任务栈中,当我们按back键时,就会有一个activity从任务栈顶移除,重复下去,直到任…
Activity是Android的四大组件之一,他的重要性毋庸置疑,对于这么重要的一个组件,我们首先要知道这些都是由系统进行管理和回调的,要理解Activity的启动模式,我们首先来了解一下Android中的任务栈. 任务栈Task,是一种用来放置Activity实例的容器,他是以栈的形式进行盛放,也就是所谓的先进后出,2个基本操作:压栈和弹出,所以在其中只能根据压栈和弹出操作更改Activity的顺序.我们启动一个Application的时候,系统会为它默认创建一个对于的Task,用来盛放根A…
Android中Activity是由返回栈来管理的,在默认情况下,每当启动一个新的Activity,它都会在返回栈中入栈,并且出于栈的顶端.但是有些时候Activity已经在栈的顶端了,也就不需要再启动的时候重新创建一个Activity的实例了,所以我们就需要其他的启动方式. Activity的启动方式一共分为四种:standard.singleTop.singleTask.singleInstance,可以在AndroidManiFest.xml中通过<activity>标签指定androi…
前言:改变Activity的启动模式可以清单文件AndroidManifest的Activity标签添加属性android:launchMode="standard"中修改如下图:launchMode一共有四种属性:standard (默认) ,singleTop,singleTask,singleInstance 1,standard: 正常模式 拿来主义,默认都是这个属性 :也就是说你每次StartActivity都会在回退栈中生成一个Activity实例 内存图: 2,singl…
在自己清单中的Activity里配置这四大启动之一. stander    标准模式   先进后出 singletop     会检查栈顶如果有,那么就复用,不会重新开启. singletask    检测当前的任务栈 singleinstance   会自己新建一个栈,并在自己的栈里待着,但不会附加.…
Activity的四种启动模式   Activity的启动模式在清单文件中配置: <activity ... activity:lauchMode:"..."; //有四种模式选择,如不设置,默认为standard模式     1.standard :标准的启动模式   系统的默认模式,一次跳转即会生成一个新的实例.假设有一个activity命名为A1,执行语句: startActivity(new Intent(A1.this, A1.class)); 后A1将跳转到另外一个A…
Android 四大组件: Activity.Service.Broadcast Receiver.Content Provider. http://developer.android.com/intl/zh-cn/guide/components/fundamentals.html Activity: https://developer.android.com/intl/zh-cn/guide/components/activities.html Service: https://develo…
Android应用程序使用java语言编写的.Android SDK工具将所有的数据和资源文件以及代码进行编译,打包称为一个apk文件.一个apk文件中的所有代码被认为是一个应用,android系统的设备使用这个apk文件来安装应用.          一旦在设备上安装了,每个android应用都生存在自己的安全沙盒内部:     ①android操作系统是一个多用户的linux系统,在这之中每一个应用是一个不同的用户     ②默认情况系,系统给每一个应用分配一个不相同的user id,这个u…
------活动之间传递数据------ 向下一个活动传递数据: Intent中提供了一系列的putExtra()方法,可以把数据暂存到Intent中,启动另一个活动的时候就可以取出来. 代码: (存数据) String data = "Hello SecondActivity"; Intent intent = new Intent(FirstActivity.this, SecondActivity.class); intent.putExtra("extra_data&…
-----------Andriod 01--------------->>> Andriod系统架构    linux内核与驱动层. 系统运行库层. 应用框架层. 应用层 内核驱动层:  linux2.6内核. 显示驱动.WIFI驱动.视频驱动等系统运行库层:Dalvik虚拟机. 数据库SQLite. 2D/3D显示. WebKit内核等应用框架层:  各种API应用层:      安装在系统中的应用都属于这一层 >>> Andirod四大组件    活动Activi…
IPC  (Inter-Process Communication) 意思是: 进程间的通信,是指两个进程之间进行数据交换的过程. Android中如何开启多进程呢? 只需要给四大组件(Activity.Service.Receiver.ContentProvider)在Android Menifest 中指定 android:process 属性即可. 不同的进程组件拥有独立的虚拟机.Application以及内存空间,直观的理解相当于两个应用不同的UID. 不同进程中,存在内存中的数据是互不…
Android四大组件 1. 广播接收者的两种类型: (1)系统广播接收者,就是继承BroadcastReceiver这个类,然后还要在清单文件中注册,注册之后给他一个action.当系统发生了这个action时,就会执行我们所写的那个广播接收者的onReceive()方法里面的代码. (2)自定义的广播接收者,也是继承BroadcastReceiver这个类,也要在清单文件中注册,但是给他的action名字是我们自己写的,我们写好的action字符串通过set给intent,然后使用sendB…
Context是Android中一个非常重要的概念,用于访问全局信息,几乎所有的基础组件都继承自 Context,理解 Context 对于学习 Android 四大基本组件非常有帮助. 1. Context作用 新建一个LearnContext工程,看如何通过Context来进行资源的访问. public class MainActivity extends AppCompatActivity { private TextView tv; @Override protected void on…
注:本文转载于:http://blog.csdn.net/xianming01/article/details/7526987 AndroidManifest.xml文件解析. 1.重要性 AndroidManifest.xml是Android应用程序中最重要的文件之一.它是Android程序的全局配置文件,是每个 android程序中必须的文件.它位于我们开发的应用程序的根目录下,描述了package中的全局数据,包括package中暴露的组件 (activities, services, 等…
1.Android的Activity任务栈 在Android的系统中,在APP运行时每个APP都会默认有一个任务栈,任务栈的名称以APP的包名命名.任务栈是一中先进后出的结构,APP中每一个调用的Activity均会按照先后顺序进栈,处于焦点下的Activity处于任务栈的栈顶. 当用户按back键时,栈内的Activities会按照先后顺序出栈,并调用该Activity的OnDestroy方法.如果栈内已经没有元素时,系统会回收该APP的任务栈. 在Activity的的xml标签中,可以定义每…
[1].ProgressBar   <ProgressBar android:id="@+id/progress_bar" android:layout_width="match_parent" android:layout_height="wrap_content" /> int progress = progressBar.getProgress(); progress = progress + 10; progressBar.s…