Android SingleTask与SingleInstance的区别 原文地址 现有2个项目,taskA.taskB.taskA负责调用taskB中指定的界面. taskB中有3个界面,a.b.c,每个界面显示它所在的task id. SingleTask: 其中b界面被声明为SingleTask. 先运行taskB,显示a界面,由a界面调用b界面,这时b界面的taskid与a界面的taskid是一致的,说明b界面与a界面在同一个task中:由b界面调用c界面时,c界面的taskid与a和b…
在AndroidManifest.xml中配置activity时,android:launchMode属性会指定启动activity的模式,有四种: standard singleTop singleTask singleInstance 这四种模式一般配合Intent属性变量FLAG_ACTIVITY_XXX使用,比如FLAG_ACTIVITY_NEW_TASK,本文暂时撇开FLAG_ACTIVITY_XXX,只讨论这四种模式的启动结果,先考虑只在同一个应用下的情况. standard模式 系…
本文参考了此文http://hi.baidu.com/amauri3389/blog/item/a54475c2a4b2f040b219a86a.html 另附 android task与back stack开发文档翻译 参见:http://mypyg.iteye.com/blog/919643     http://blog.csdn.net/infsafe/article/details/5666964 Activity有四种加载模式:standard(默认), singleTop, sin…
Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述: 可能刚刚接触Xamarin的人来说,对于这个概念比较的模糊,认为这说的不都是同一个东西吗?事实并不是这样的,我们先来说说Xamarin.Android和Xamarin.IOS吧,这两个其实就是一个单独的工程,在这里面我们可以针对安卓或者IOS进行代码的编写,而且支持原生的代码调用,这对于安卓或者IOS的开发人员了解Xamarin是很有帮助的. 上面也说到了Xamarin.Android与Xamairn.…
JVM与DVM区别 1.由来 Android是基于java的既然java已经有了java虚拟机,为什么android还要弄一个DVM了?最重要的就是版权问题,一开始就是用的 JVM,没过多久就被SUN公司告了. 由于版权的原因,google自己弄了一个DVM 2.dvm好处 dvm把所有的.class文件变成了一个dex文件.将编译后的文件编程一个文件,提高了速度 由上图可知道,jvm基于的架构是"栈",栈是普通的内存,而andriod是基于"寄存器"的架构,寄存器…
standard:Activity的默认加载方法,即使某个Activity在Task栈中已经存在,另一个activity通过Intent跳转到该activity,同样会新创建一个实例压入栈中.例如:现在栈的情况为:A B C D,在D这个Activity中通过Intent跳转到D,那么现在的栈情况为: A B C D D .此时如果栈顶的D通过Intent跳转到B,则栈情况为:A B C D D B.此时如果依次按返回键,D  D C B A将会依次弹出栈而显示在界面上. singleTop:如…
本文主要介绍Parcelable和Serializable的作用.效率.区别及选择,关于Serializable的介绍见Java 序列化的高级认识. 1.作用 Serializable的作用是为了保存对象的属性到本地文件.数据库.网络流.rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个 程序间的.而Android的Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同Android程 序间(AIDL)高效的传输数据而设计,这些数据仅在内存…
ImageView中XML属性src和background的区别: background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸.src是图片内容(前景),bg是背景,可以同时使用. 此外:scaleType只对src起作用:bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式,示例代码如下: <ImageView android:id="@+id/img"     andr…
我想在一个页面的顶端放入两个按钮,应该用title还是actionbar.他们两个什么区别?分别该什么时候用? 答: android title 是UI上的一小部分,它支持Text和Color,你可以在上面设置文本信息作为title,还可以设置背景颜色,不过这些大部分在android2.0的app上应用. action bar则是现在android app应用中主要的导航控件,它上面可以包含一些按钮和导航信息,还可以为Activity添加action,显示app的title,或者是一些链接,ac…
1.继承不同: java.lang.Object ↳ android.view.View ↳android.widget.ImageView ↳ android.widget.ImageButton java.lang.Object ↳ android.view.View ↳ android.widget.TextView ↳android.widget.Button 因而ImageButton 不支持setText,而Button支持.反之,ImageButton 支持setImageURI,…
android 适配器 simpleadapter 和 baseadapter 设计网络程序或者数据处理显示程序的时候,常常会使用 simpleadapter 和baseadapter 来实现. adapter 是适配器模式,是数据和界面之间的桥梁.baseadapter 是一个抽象的类,要使用必需为其定义子类并实现相关方法.simpleadapter 派生于 baseadapter ,已经实现了相关的方法,所以可以直接使用.二者在使用效果上没有太大的区别,两者可以设计出几乎一模一样的界面.但在…
Android Touch Screen 与传统Click Touch Screen不同,会有一些手势(Gesture),例如Fling,Scroll等等.这些Gesture会使用户体验大大提升. Android中的Gesture识别(detector)是通过GestureDetector.OnGestureListener接口实现的. 首先,Android事件处理机制是基于Listener实现的,比如触摸屏相关的事件,就是通过onTouchListener实现: 其次,所有View的子类都可以…
本文主要介绍Parcelable和Serializable的作用.效率.区别及选择,关于Serializable的介绍见Java 序列化的高级认识. 1.作用 Serializable的作用是为了保存对象的属性到本地文件.数据库.网络流.rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的.而Android的Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同Android程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存…
首先用一段通俗易懂但是不是非常专业的话描述一下三者的概念.区别和联系. Gradle是个构建系统,能够简化你的编译.打包.测试过程.熟悉Java的同学,可以把Gradle类比成Maven. Gradle Wrapper的作用是简化Gradle本身的安装.部署.不同版本的项目可能需要不同版本的Gradle,手工部署的话比较麻烦,而且可能产生冲突,所以需要Gradle Wrapper帮你搞定这些事情.Gradle Wrapper是Gradle项目的一部分. Android Plugin for Gr…
参考:AndroidSDK/docs/reference/android/content/Intent 看到相关代码,对这两个参数的区别有点搞不清. 原文地址请保留http://www.cnblogs.com/rossoneri/p/3985597.html 现在知道的是new Intent(Intent.ACTION_GET_CONTENT, null)必须要setType("type/后缀"),否则会会弹出异常FATAL EXCEPTION:main android.content…
来自:http://www.2cto.com/kf/201604/496917.html 今天又有人问Tools,Build-Tools,Platform-tools有什么区别,是干嘛的? 现在对SDK目录做一下总结阐述! SDK目录 add-ons 这里面保存着附加库,第三方公司为android 平台开发的附加功能系统.比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面. docs 这里面是Android SDKAPI参考文档,所有的API都可以在这里查到.…
本文实例分析了Android编程中FileOutputStream与openFileOutput()的区别.分享给大家供大家参考,具体如下: openFileOutput() 首先给大家介绍使用文件如何对数据进行存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的. public void save() { try { FileOutputStream outStream=this.openFileO…
本文主要介绍Parcelable和Serializable的作用.效率.区别及选择,关于Serializable的介绍见Java 序列化的高级认识. 1.作用 Serializable的作用是为了保存对象的属性到本地文件.数据库.网络流.rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的.而Android的Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同Android程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存…
区别与联系 View: 显示视图,内置画布,提供了图形绘制函数.触屏事件.按键事件函数等,必须在UI主线程内更新画面,速度较慢: SurfaceView: 基于view视图进行拓展的视图类,更适合2D游戏的开发,是view的子类,使用了双缓冲机制,即:允许在子线程中更新画面,所以刷新界面速度比view快. GLSurfaceView: 基于SurfaceView视图再次进行拓展的视图类,在SurfaceView基础上封装了EGL环境管理以及render线程,专用于3D游戏开发的视图.是Surfa…
1. 生命周期: startService()方式启动,Service是通过接受Intent并且会经历onCreate()和onStart().当用户在发出意图使之销毁时会经历onDestroy(),而bindService()方式启动,与Activity绑定的时候,会经历onCreate()和onBind(),而当Activity被销毁的时候,Service会先调用onUnbind()然后是onDestroy(). 2. 控制方式: 前者的控制方式需要使用固定的方法,对Service进行单一的…
break 的含义是中断,return 的含义是结束整个方法的执行. 区别. public static void main(String agrs[]){ int i; for(i=0;i<10;i++) { if( i == 5){ System.out.println("正确"); return; } } System.out.println("123"); } 上面这段代码只会输出"正确". public static void m…
一直一来对android:layout_height.android:layout_width.android:height.android:width这几个属性的关系有些不理解,既然有了android:layout_height和android:layout_width为什么还要有android:height.android:width呢?网上搜了好久发现都是重复一句扯淡的话,今天下午抽时间好好研究了下发现只有android:layout_height和android:layout_width…
android项目里面的AndroidManifest.xml,会有这样的定义        <activity android:name=".Main"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.…
Ref:http://blog.csdn.net/jiangwei0910410003/article/details/17008687 1). Thread:Thread 是程序执行的最小单元,它是分配CPU的基本单位.可以用 Thread 来执行一些异步的操作. 2). Service:Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的.如:onCreate,onStart 这些函数在被…
http://blog.csdn.net/hufeng882412/article/details/7310142 针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent,还是onClick,亦或是onLongClick事件?在Android中,一次用户操作可以被不同的View按次序分别处理,并将完全响应了用户一次UI操作称之为消费了该事件(consume),那么Android是按什么次序将事件传递的呢?又在什么情况下判定为消费了该事件?      搞清楚这些问题对…
background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸.src是图片内容(前景),bg是背景,可以同时使用. 此外:scaleType只对src起作用:bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式,示例代码如下: <ImageView android:id="@+id/img"      android:src="@drawable/logo"…
Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用. invalidate()是用来刷新View的,必须是在UI线程中进行工作.比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面.invalidate()的调用是把之前的旧的view从主UI线程队列中pop掉. 一个Android 程序默认情况下也只有一个进程,但…
Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值. id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc.@+id/xyz等. 如果在@后面使用"+",表示当修改完某个布局文件并保存后,系统会自动在R.Java文件中生成相应的int类型变量.变量名就是"/"后面的值,例如,@+id/xyz会在R.java文件中生成int xyz = value,其中value是一个十六进制的数.如果xyz在R.java中…
Android Service,后台,Android的后台就是指,它的运行是完全不依赖UI的.即使Activity被销毁,或者程序被关闭,只要进程还在,Service就可以继续运行.比如说一些应用程序,始终需要与服务器之间始终保持连接,就可以使用Service来实现.而Serview就是运行在主线程中的,所有我们需要在Service中再创建一个子线程,然后在这里去处理耗时逻辑,否则会阻塞主线程的运行. 既然在Service里也要创建一个子线程,那为什么不直接在Activity里创建呢?这是因为A…
http://phenix.blogbus.com/logs/220656659.html 博主简直碉堡了, 我用PendingIntent给singleTask的顶层Activity传值一直收不到,因为在onNewIntent中getIntent是旧的Intent,并不是新的. 所以要在onNewIntent调用setIntent(intent)就行了!…