Android
huichengongzi
这个作者很懒,什么都没留下…
展开
-
Android中将像素转换为sp/dp
private static final float DIP = 16.0f; // 将dip转换为pixel,将pixel转换为dip只需将算式进行逆运算即可final float scale = getContext().getResources().getDisplayMetrics().density;int pixel = (int) (DIP * scale + 0.5转载 2013-02-28 10:36:16 · 1246 阅读 · 0 评论 -
Type View requires API level 14 (current min is 4): <GridLayout>
android:columnCount="4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/gridContainer" android:animateLayoutChanges="true"原创 2013-02-28 14:27:41 · 10998 阅读 · 3 评论 -
Android动画学习笔记
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 1. View Animation(Tween Anima转载 2013-02-27 17:27:44 · 446 阅读 · 0 评论 -
Android Animation学习笔记
关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式:1. Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画;2. Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。动画类型下面先来看看Android提供的动画类型。转载 2013-02-27 16:43:54 · 447 阅读 · 0 评论 -
Android隐藏状态栏和标题栏,相当于全屏效果
隐藏标题栏需要使用预定义样式:android:theme=”@android:style/Theme.NoTitleBar”. 隐藏状态栏:android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”.[代码] [XML]代码02manifest xm转载 2013-02-26 11:38:00 · 694 阅读 · 0 评论 -
Canvas的save和restore
在创建新的控件或修改现有的控件时,我们都会涉及到重写控件或View的onDraw方法。 onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布。 在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢? ❑ save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩转载 2013-02-27 13:51:22 · 491 阅读 · 0 评论 -
android MediaPlayer深入分析
转载请注明出处:http://blog.csdn.net/superfang119/article/details/8250166最近在做一个基于android的dvb的机顶盒,需要在android上增加实现对数字电视的支持。因此先对MediaPlayer进行一个深度的了解,以便能够合理的添加所需的功能。我的平台是海思的3716c,基于android4.0定制的代码,所有可以文中分转载 2013-01-18 17:39:37 · 2240 阅读 · 0 评论 -
Android深入浅出之Binder机制
目录(?)[-]ProcessStatedefaultServiceManagerBpBinderIServiceManagerBpServiceManagerMediaPlayerServiceaddServiceBnServiceManagerServiceManager存在的意义MediaPlayerService打开binderlooper Native层定义XXX接口定义BnX转载 2013-01-18 17:44:29 · 585 阅读 · 0 评论 -
android4.0 MediaPlayer的notify监听机制的全面剖析
本文将贯穿android的整个体系,深入剖析MediaPlayer的notify监听机制的前世今生。欢迎来到本博客,此为原创文章,转载请注明出处http://fangli.blog.51cto.com/6272355/1083583本文主要阐述内容介绍:一.java应用层上Listener监听机制的使用方式二.java框架层中MediaPlayer类的notify机转载 2013-01-18 17:41:42 · 1637 阅读 · 0 评论 -
OMXCodec与OMX事件处理流程
from :http://blog.csdn.net/tjy1985/article/details/7397752学习了解Mutilmedia Framework有一段时间了,今天闲下来稍微整理整理。OMXCodec.cpp类属于libstagefright,在整个MM PF 相当OMX的适配层,供awesomeplayer调用,而OMX.cpp,OMXNoteIns转载 2013-01-31 11:37:33 · 836 阅读 · 0 评论 -
Android多媒体浅析
from : http://blog.csdn.net/qianjin0703/article/details/6587492发现Android影音系统超复杂的,个人水平有限,关注以下几个问题:1. 系统如何选择多媒体引擎2. 引擎如何选择编解码器3. 分离器如何分离音视频4. 视频解码播放过程如何使用OMX IL5. 音频解码播放过程与转载 2013-01-31 10:00:37 · 613 阅读 · 0 评论 -
Android 菜单(OptionMenu)大全 建立你自己的菜单
转自:http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),今天这讲是OptionsMenu 一、概述 public转载 2013-01-25 14:35:48 · 564 阅读 · 0 评论 -
Android init.rc文件浅析
目录(?)[-]1. 简述2. 关键字3. 语句解析1. 动作Action2. 服务services3. 选项options4. 触发器trigger5. 命令commands6. 属性Properties4. 一个 i转载 2012-12-21 18:58:04 · 553 阅读 · 0 评论 -
Android 2.3 SD卡挂载流程浅析(一)
Android 2.3中关于SD卡挂载简介 在Android 2.3中,当SD卡插入系统之后,系统会自动挂载。Vold 就是负责挂载SD卡的,vold 的全称是volume daemon。实际上是负责完成系统的CDROM,USB 大容量存储,MMC 卡(后文有简介,具体请百度)等扩展存储的挂载任务自动完成的守护进程。它提供的主要特点是支持这些存储外设的热插拔。在Android上的这个转载 2012-12-18 10:03:11 · 780 阅读 · 0 评论 -
判断SD卡是否已经挂载
提供一个监听方法BroadcastReceiver 设置IntentFilter为: Intent.ACTION_MEDIA_MOUNTED Intent.ACTION_MEDIA_EJECT Intent.ACTION_MEDIA_REMOVED 然后再public void onReceive(Context context, Intent intent) 中实现你的启动逻辑转载 2012-12-19 11:08:16 · 3949 阅读 · 0 评论 -
Android 2.3 SD卡挂载流程浅析(七)
前面六篇文章: 《Android 2.3 SD卡挂载流程浅析(一)》 《Android 2.3 SD卡挂载流程浅析(二)》 《Android 2.3 SD卡挂载流程浅析(三)》 《Android 2.3 SD卡挂载流程浅析(四)》 《Android 2.3 SD卡挂载流程浅析(五)》转载 2012-12-18 10:55:38 · 1287 阅读 · 0 评论 -
android异常处理
而Java提供了一套比较优秀的异常处理机制: 1、使开发人员不必编写特殊代码来测试返回值就能发现问题, 2、在语法结构就把正常的代码和异常处理的代码清晰的分开来, 3、允许我们使用相同的异常处理代码来处理一定范围内的所有异常。 以期产生一种高效的、有组织的异常处理方式。异常分为三大类:1.运行时异常:Runtime原创 2013-03-29 10:19:57 · 4629 阅读 · 0 评论 -
Android <meta-data>
在AndroidManifest.xml中,元素可以作为子元素,被包含在、 、和元素中,但不同的父元素,在应用时读取的方法也不同。1 :在Activity的应用。 xml代码段: java代码段: ActivityInfo info=this.getPackageManager()转载 2013-04-05 09:45:05 · 1069 阅读 · 2 评论 -
如何扫描出android手机中所有的视频文件
public static List allVideoList = null;// 视频信息集合 allVideoList = new ArrayList(); getVideoFile(allVideoList,Environment.getExternalStorageDirectory());// 获得视频文件 private void getVideoFile(f转载 2013-06-14 14:29:11 · 4353 阅读 · 2 评论 -
Android中如何使用ViewPager实现类似laucher左右拖动效果
现在很多Android应用在首次安装完都会有指引如何使用该应用的某些功能的指引界面,这样会获得很好的用户体验,能够帮助用户更好使用应用的某些功 能。其实该功能和Android主界面的 luncher 的功能完全一样的效果,可以实现左右拖动。下面结合 ViewPager 的实例来展示如何实现该功能,先看下该Demo的结构图:注:ViewPager类是实现左右两个屏幕平滑地切换转载 2013-04-11 15:17:08 · 1131 阅读 · 0 评论 -
Android实现通用的ActivityGroup(效果类似Android微博客户端主界面),强烈建议不要再使用TabActivity
ActivityGroup在实际的开发中是十分常见的,在我使用过的Android应用中,十个应用里面有九个应用的主界面都是使用ActivityGroup的。说起ActivityGroup,在国内好像直接使用它开发的并不多,基本都是使用TabActivity,它是ActivityGroup唯一的一个子类。Android端新浪微博的主界面就是用TabActivity来实现的,还有其它的一些应用也几乎都转载 2013-03-27 16:39:20 · 2846 阅读 · 0 评论 -
Android 软件优化
Android软件开发中常见的几个瓶颈不同分辨率适配不同版本调试语言?性能?触摸?动画?内存,内存,内存...Android软件内存限制Android系统对每个软件所能使用的RAM空间进行了限制(如: Nexus one 对每个软件的内存限制是24M) Java语言本身比较消耗内存 dalvik虚拟机也要占用一定的内存空间OOM功臣—Bitmap当在转载 2013-03-27 14:36:51 · 774 阅读 · 0 评论 -
横竖屏切换时候Activity的生命周期
from:http://www.2cto.com/kf/201210/161861.html横竖屏切换时候Activity的生命周期 曾经遇到过一个面试题,让你写出横屏切换竖屏Activity的生命周期。现在给大家分析一下他切换时具体的生命周期是怎么样的:1、新建一个Activity,并把各个生命周期打印出来2、运行Activity,得转载 2013-03-27 14:06:35 · 777 阅读 · 0 评论 -
[Android]使用ActivityGroup来切换Activity和Layout
前言 在一个主界面中做Activity切换一般都会用TabActivity,使用方便,Activity互相之间相对独立,但是可定制性不强,而且修改起来很麻烦。当然也可以把layout分开,把逻辑代码全写在主界面的逻辑代码中,但是很明显可维护性相当差,这里通过ActivityGroup来解决这个问题。 声明 欢迎转载,但请保留文章原始出处:)转载 2013-03-27 16:29:40 · 714 阅读 · 0 评论 -
Android中的Handler, Looper, MessageQueue和Thread
前几天,和同事探讨了一下Android中的消息机制,探究了消息的发送和接收过程以及与线程之间的关系。虽然我们经常使用这些基础的东西,但对于其内部原理的了解,能使我们更加容易、合理地架构系统,并避免一些低级错误。对于这部分的内容,将分成4小节来描述:1.职责与关系2.消息循环3.线程与更新4.几点小结--------------------------转载 2013-03-27 15:51:06 · 672 阅读 · 0 评论 -
Android代码优化技术
Google设计Android平台时选择了Java,Java语言是一种解释型语言,需要Java VM实时解析运营,虽然有JNI机制但是似乎谷歌并不希望Android平台出现很多安全问题,提供程序运行效率的方法就显得尤为重要了,尤其是性能敏感的游戏设计。 1.Java内存控制 对于字符串操作而言如果需要连加这样的操作建议使用StringBuilder,经过调试不难发现如果你的字符转载 2013-03-27 14:35:24 · 706 阅读 · 0 评论 -
Looper与Handler是如何通过Message发生关系的
经常看到Android的消息用法大概为:Looper.prepare()Looper.myLooper();xxxHandler = new Handler() { handleMessage(Message msg){...} }; Looper.loop(); 刚开始搞不清楚状况, 根据名字完全看不出有什么关系转载 2013-03-27 15:53:13 · 599 阅读 · 0 评论 -
Android性能优化
1.http用gzip压缩,设置连接超时时间和响应超时时间http请求按照业务需求,分为是否可以缓存和不可缓存,那么在无网络的环境中,仍然通过缓存的httpresponse浏览部分数据,实现离线阅读。2.listview 性能优化1).复用convertView在getItemView中,判断convertView是否为空,如果不为空,可复用。如果couvertvi转载 2013-03-27 14:37:52 · 624 阅读 · 0 评论 -
Webkit for Android分析
From : http://mogoweb.net/archives/182网上有许多webkit的分析文章,其中针对android porting的一篇文章WebKit – WebKit For Android,写的非常好,分析得非常深入。不过这篇文章针对的Android版本比较老(具体版本无从考究),因此本文将在这篇文章的基础上,加入android 4.0 webkit porti转载 2013-03-26 15:24:23 · 1489 阅读 · 0 评论 -
守护线程setdaemon()
package thread; /* * Thread.setdaemon(),守护线程/用户线程-------也就是后台线程 * 一,后台线程随”最后一个前台线程“的停止而停止 * 二,在线程开始前调用 */ public class Setdaemon { public static void main(String args[]){转载 2013-04-08 15:16:16 · 856 阅读 · 0 评论 -
WebKit 分析–for android
一、WebKit简介WebKit是一个开源的浏览器网页排版引擎,包含WebCore排版引擎和JSCore引擎。WebCore和JSCore引擎来自于KDE项目的KHTML和KJS开源项目。Android平台的Web引擎框架采用了WebKit项目中的WebCore和JSCore部分,上层由Java语言封装,并且作为API提供给Android应用开发者,而底层使用WebKit核心库(WebCore转载 2013-03-22 10:45:21 · 793 阅读 · 0 评论 -
Android中数据存储的几种方法
在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供器(Content provider)和网络2010-05-20 23:12一,PreferencesPreferences是一个较轻量级的存储数据的方法,具体使用方法:在A中保存值:SharedPre转载 2013-03-24 22:34:23 · 654 阅读 · 0 评论 -
ANDROID JNINativeMethod
Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java和C++函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:[cpp] view plaincopytypedef struct {转载 2013-03-22 13:56:55 · 1026 阅读 · 0 评论 -
Android 2.3 SD卡挂载流程浅析(六)
前面五篇文章: 《Android 2.3 SD卡挂载流程浅析(一)》 《Android 2.3 SD卡挂载流程浅析(二)》 《Android 2.3 SD卡挂载流程浅析(三)》 《Android 2.3 SD卡挂载流程浅析(四)》 《Android 2.3 SD卡挂载流程浅析(五)》 在这五篇文章中,简单的分析了将SD卡插转载 2012-12-18 10:53:16 · 1053 阅读 · 0 评论 -
Android 2.3 SD卡挂载流程浅析(五)
前面四篇博文:《Android 2.3 SD卡挂载流程浅析(一)》、《Android 2.3 SD卡挂载流程浅析(二)》、《Android 2.3 SD卡挂载流程浅析(三)》、《Android 2.3 SD卡挂载流程浅析(四)》主要是对SD卡的挂载流程从底到上的一个分析,本文将继续接着《Android 2.3 SD卡挂载流程浅析(四)》文章分析,前文主要分析了C/C++的一些代码,本文将主转载 2012-12-18 10:50:53 · 802 阅读 · 0 评论 -
Android 2.3 SD卡挂载流程浅析(四)
前面的三篇博文《Android 2.3 SD卡挂载流程浅析(一)》、《Android 2.3 SD卡挂载流程浅析(二)》、《Android 2.3 SD卡挂载流程浅析(三)》的分析,知道了SD卡挂载的消息是如何从底层传递到上层的,在《Android 2.3 SD卡挂载流程浅析(三)》中,我们已经知道了最后是在updatePublicVolumeState()中调用onStorageStat转载 2012-12-18 10:48:38 · 889 阅读 · 0 评论 -
显示长字符
显示长字符:private String longStrDisplay(String str) { if(str==null||"".equals(str)) { returncontext.getString(R.str原创 2012-08-31 11:22:10 · 471 阅读 · 0 评论 -
使用TextView/EditText应该注意的地方
Android TextView 自动换行问题 关于android软键盘enter键的替换与事件监听 软件盘的界面替换只有一个属性android:imeOptions,这个属性的可以取的值有normal,actionUnspecified,actionNone,actionGo,actionSearch,actionSend,actionNext,actionDone,例如当值为act转载 2012-08-01 15:26:52 · 3352 阅读 · 0 评论 -
如何在Eclipse中打开已经存在的工程
怎样从Eclipse当中打开一个存在的项目?多么常见又难以解决的问题! 看原文:http://www.skidmore.edu/academics/mcs/java/pages/tutorials/quick_Tutorial.htm 看精华: 假设原来的工程在目录c:\test\prj下面,那么你需要做的是这么几步:首先打开Eclipse;第二、选择转载 2012-07-30 10:29:15 · 7034 阅读 · 0 评论 -
如何调整launcher2屏幕的布局
android系 统默认的启动之后的icon布局是4行4列,第一行由search widget完全占据。这样的设计对于小屏幕的手机比较合适,但是对于大屏幕的tablet之类的设备而言,巨大的屏幕上只能摆放12个icons(第一 行被search widget占据),就显得很空荡,icon之间的距离太宽了,显得不是那么美观。那么如何来调整launcher home screen的布局呢?转载 2012-08-09 17:35:53 · 1658 阅读 · 0 评论