详解Android首选项框架ListPreference 原文地址 探索首选项框架 在深入探讨Android的首选项框架之前,首先构想一个需要使用首选项的场景,然后分析如何实现这一场景.假设你正在编写一个应用程序,它提供了一个搜索飞机航班的工具.而且,假设该应用程序的默认设置是根据机票价格由低到高的顺序显示航班,但用户可以将首选项设置为始终根据最少停站数或特定航线来航班.如何实现这一场景? ListPreference 显然,必须为用户提供UI 来查看排序选项列表.该列表将包含每个选项的单选按钮…
详解android:scaleType属性 转自:http://blog.csdn.net/encienqi/article/details/7913262    http://juliaailse.iteye.com/blog/1409317 Android:scaleType是控制图片如何resized/moved来匹对ImageView的size. ImageView.ScaleType / android:scaleType值的意义区别: CENTER /center  按图片的原来si…
http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android 博客分类: android 常用:1.进入模拟器的shell模式 :  adb shell 2.安装应用程序:  adb install -r 应用程序.apkadb installadb install <apk文件路径> :这个命令将指定的apk文件安装到设备上adb install  -r…
相关的基本概念: 1.任务栈(Task)   若干个Activity的集合的栈表示一个Task.   栈不仅仅只包含自身程序的Activity,它也可以跨应用包含其他应用的Activity,这样有利于保障用户体验,维护用户操作体验上的完整性.例如:微信ActivityA 分享文章到QQActivityB,两个activity是存在于不同app中的,但是被系统放在一个任务中,分享后,用户按back键返回,可以返回到原来的微信Activity A中,这就确保了用户体验.   2.查看当前系统的任务栈…
linux内存空间与BInder Driver Android进程和linux进程一样,他们只运行在进程固有的虚拟空间中.一个4GB的虚拟地址空间,其中3GB是用户空间,1GB是内核空间 ,用户空间是非共享的,内核空间是共享的,如下图: linux本身就提供了IPC工具,但是android中的Binder功能更丰富,不仅可以用来实现进程件的IPC通信,还可以用来调用另一个进程的函数,支持RPC操作,Binder使用运行在内科空间中的抽象驱动程序Binder(IPC) Driver,来实现进程间的…
activity的生命周期 activity的四种状态 running:正在运行,处于活动状态,用户可以点击屏幕,是将activity处于栈顶的状态. paused:暂停,处于失去焦点的时候,处于paused,可能是被如弹框一样遮盖,被通明的activity的放置到栈顶,paused一起状态都存在. stopped:处于stopped状态,是当前的activity被遮盖,是完全遮挡的那种,覆盖屏幕,一起的状态信息还是存在的. killed:activity被销毁,回收,一切的状态信息不存在了.…
http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android 博客分类: android 常用:1.进入模拟器的shell模式 :  adb shell 2.安装应用程序:  adb install -r 应用程序.apkadb installadb install <apk文件路径> :这个命令将指定的apk文件安装到设备上adb install  -r…
图文详解 Android Binder跨进程通信机制 原理 目录 目录 1. Binder到底是什么? 中文即 粘合剂,意思为粘合了两个不同的进程 网上有很多对Binder的定义,但都说不清楚:Binder是跨进程通信方式.它实现了IBinder接口,是连接 ServiceManager的桥梁blabla,估计大家都看晕了,没法很好的理解 我认为:对于Binder的定义,在不同场景下其定义不同 定义 在本文的讲解中,按照 大角度 -> 小角度 去分析Binder,即: 先从 机制.模型的角度 去…
详解 Android 通信 :http://www.androidchina.net/5028.html…
相关的基本概念: 1.任务栈(Task)   若干个Activity的集合的栈表示一个Task.   栈不仅仅只包含自身程序的Activity,它也可以跨应用包含其他应用的Activity,这样有利于保障用户体验,维护用户操作体验上的完整性.例如:微信ActivityA 分享文章到QQActivityB,两个activity是存在于不同app中的,但是被系统放在一个任务中,分享后,用户按back键返回,可以返回到原来的微信Activity A中,这就确保了用户体验.   2.查看当前系统的任务栈…
实例详解Android快速开发工具类总结 作者:LiJinlun 字体:[增加 减小] 类型:转载 时间:2016-01-24我要评论 这篇文章主要介绍了实例详解Android快速开发工具类总结的相关资料,需要的朋友可以参考下 一.日志工具类 Log.java ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42…
目录结构: contents structure [+] Service简单概述 Service在清单文件中的声明 Service启动服务 Service绑定服务 扩展Binder类 使用Messenger 关于绑定服务的注意点 关于启动服务与绑定服务间的转换问题 前台服务以及通知发送 服务Service与线程Thread的区别 管理服务生命周期 Android 5.0以上的隐式启动问题 如何保证服务不被杀死 1.Service简单概述   Service(服务)是一个一种可以在后台执行长时间运…
本文是看完android框架揭秘第六章后的总结 android系统服务提供最基本的,最稳定的核心功能,如设备控制,信息通知,通知设定,以及消息显示等,存在于Android Framework与Android Libraries,如下图: 系统服务分类:本地系统服务和java层系统服务 1.本地系统服务主要包括Audio Flinger,Surface Flinger,Media Player Service,Camera Service,Audio Policy Service等 ,除了Surf…
在软件应用过程中,菜单的存在是必不可少的,我这次讲一下,我对android菜单的一个基础做法吧 Android的菜单分为三种类型:选项菜单(Option Menu).上下文菜单(Context Menu).子菜单(Sub Menu)注:其中,Sub Menu就是将功能相同的操作分组显示,他作用在OptionsMenu上,是OptionsMenu的二级菜单 一.选项菜单(Option Menu) 当用户单击设备上的菜单按钮(Menu),触发事件弹出的菜单就是选项菜单. 效果图: 实现过程讲解: 在…
TranslateAnimation详解 Android JDK为我们提供了4种动画效果,分别是: AlphaAnimation,RotateAnimation, ScaleAnimation, TranslateAnimation.今天我想讲解的是TranslateAnimation这个动画效果.也是本人在做一个移动图片的动画效果的项目时,遇到了一些问题.在网上查了很多资料,搞了好几天.终于明白怎么使用这个TranslateAnimation,在本文中记录下来,以便以后忘记了可以查阅. Tra…
Handler是整个消息系统的核心,是Handler向MessageQueue发送的Message,最后Looper也是把消息通知给Handler,所以就从Handler讲起. 一.Handler Handler的构造函数有很多,但本质差不多: public Handler() { this(null, false); } public Handler(Callback callback, boolean async) { //自动绑定当前线程的looper mLooper = Looper.m…
我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念         Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发送消息和接收消息不是同步的处理. 这种机制通常用来处理相对耗时比较长的操作. Handler工具类在多线程中有两方面的应用: 1.发送消息,在…
我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念         Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发送消息和接收消息不是同步的处理. 这种机制通常用来处理相对耗时比较长的操作. Handler工具类在多线程中有两方面的应用: 1.发送消息,在…
我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念         Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发送消息和接收消息不是同步的处理. 这种机制通常用来处理相对耗时比较长的操作. Handler工具类在多线程中有两方面的应用: 1.发送消息,在…
在Android中实现异步任务机制有两种方式,Handler和AsyncTask. Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制.关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下. 为了简化操作,Android1.5提供了工具类android.os.AsyncTask,它使创建异步任…
前面我们讲到的属性动画都是使用代码的定义方式:Android属性动画之ValueAnimator和Android属性动画之ObjectAnimator和AnimatorSet,下面我们再来看看使用XML文件该怎么做. (1) XML文件位置:res/animator/filename.xml (2) 文件编译后的类型:ValueAnimator, ObjectAnimator, AnimatorSet.这三种类型前面已经介绍过. (3) 引用资源的方式: In Java: R.animator.…
目录结构: contents structure [+] 补间动画 使用java代码实现Alpha.Rotate.Scale.Translate动画 通过xml文件实现Alpha.Rotate.Scale.Translate动画 步骤 xml实现Animation案例 动画叠加 动画速率 逐帧动画 实现小熊快跑动画效果 Movie 类的使用(GIF动画) LayoutAnimationController 属性动画 基本简介 ValueAnimator类 ObjectAnimator类 Anim…
从以下几个方面详细说一下Activity的生命周期: 1.回到主屏幕再打开和退出程序的时候. 2.屏幕旋转的时候. 3.打开其它的Activity的情况. 4.打开一个Layou透明的Activity的情况. 源代码:MyApplication.7z 先来一张Activity的生命周期图镇楼. 新建一个工程,实现如图所示的生命周期的所有方法,只是在方法里添加一个打印输出,让我们能清楚的看到 当前Activity执行的生命周期回调方法. @Override protected void onSta…
简介: PowerTutor 是由美国密歇根大学在谷歌的指导下开发的.它是用来展示google智能手机中主要组件或应用功耗的一种应用程序.例如,CPU,网络链接,LCD显示屏,GPS等.它允许开发者很直观的看到应用的功耗信息以优化应用的设计.因此,我们可以使用 PowerTutor 来监视产生功耗的任何一款应用程序. 示例: 下面我们来熟悉一下该工具的使用:(工具下载地址:点击下载) 图示一: 注释:上图为我们展示的就是PowerTutor启动之后的画面,我们点击Start Profiler开始…
1.简介 在Android中,我们除了从界面上启动程序之外,还可以从命令行启动程序,如使用命令行工具am. am全称activity manager,是Android下非常实用命令,其代码在frameworks\base\cmds\am\src\com\android\commands\am 命令窗口通过adb shell 进入android 的Linux命令界面,输入am -help看到如下信息: 从上图你可以知道,能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,…
我们曾经给大家一个<MeeGo移动终端设备开发UI设计基础教程>,同时很多朋友都在寻找Android UI开发的教程,我们从Android的官方开发者博客找了一份幻灯片,介绍了一些Android UI设计,我们把这个教程整理出来,希望大家喜欢. 想了解全部Android UI教程内容请点击51CTO独家专题:谷歌官方教程:Android UI设计技巧 作为开发者,为啥我们要关心UI,前面的一堆通通可以忽略掉,直接跳到最后一条.因为好的UI设计可以帮助我们卖出更多拷贝,赚到更多钱. 这个教程包含…
1 Android.mk作用 当使用JNI开发时,我们需要创建一个native工程,Android.mk就是一个makefile的配置文件,帮助我们把编写的C/C++代码编译成动态或者静态的链接库. 2 示例解析 下面使用一个最简单的Android.mk配置文件引导生成.so动态库.Android.mk文件内容如下: LOCAL_PATH := $(call my-dir) LOCAL_CPP_EXTENSION := .cpp include $(CLEAR_VARS) LOCAL_MODUL…
屏幕方向 是对Activity而言的,所以你可以在AndroidManifest.xml 文件中,通过<activity> 标记的screenOrientation 属性进行设定,例如: <activity android:name=".SketchpadActivity" android:screenOrientation="landscape"/><!--让该Activity总是显示为横屏--> screenOrientati…
在开始实例讲解之前,先引用官方文档中的一段话: Frame动画是一系列图片按照一定的顺序展示的过程,和放电影的机制很相似,我们称为逐帧动画.Frame动画可以被定义在XML文件中,也可以完全编码实现. 如果被定义在XML文件中,我们可以放置在/res下的anim或drawable目录中(/res/[anim | drawable]/filename.xml),文件名可以作为资源ID在代码中引用:如果由完全由编码实现,我们需要使用到AnimationDrawable对象. 如果是将动画定义在XML…
相信很多的朋友都有在APP中实现定位的需求,今天我就再次超炒冷饭,为大家献上国内开发者常用到的三种定位方式.它们分别为GPS,百度和高德,惯例先简单介绍下定位的背景知识. 什么是GPS定位.基站定位和Wi-Fi定位? 1.GPS定位:根据设备GPS芯片和GPS卫星实现定位,GPS定位在室内是不可以使用的.GPS定位精度和芯片本身以及实际使用环境有关,一般情况下,GPS定位精度在10m左右. 2.基站定位:根据设备获取的基站信息实现定位,基站定位精度一般不受使用环境影响,主要和基站的覆盖半径有关.…