随笔分类 -  Android

LinearLayout源码笔记
摘要:onMeasure()会调用measureVertical(intwidthMeasureSpec,intheightMeasureSpec)mTotalLength保存已经measure过的child所占用的高度void measureChildBeforeLayout(View child, int childIndex, int widthMeasureSpec, int totalWidth, int heightMeasureSpec, int totalHeight) //对每一个child进行测量,heightMeasureSpec为LinearLayout本身... 阅读全文
posted @ 2012-10-30 22:28 清水湾 阅读(691) 评论(0) 推荐(0) 编辑
Speex源码分析
摘要:/**Bit-packingdatastructurerepresenting(partof)abit-stream.*/(speex_bits.h--49)typedefstructSpeexBits{char*chars;/**<"raw"data*/intnbBits;/**<Totalnumberofbitsstoredinthestream*/intcharPtr;/**<Positionofthebyte"cursor"*/intbitPtr;/**<Positionofthebit"cursor" 阅读全文
posted @ 2011-09-23 14:14 清水湾 阅读(1955) 评论(0) 推荐(0) 编辑
ANDROID: NDK编程入门笔记
摘要:ANDROID: NDK编程入门笔记为何要用到NDK?前段时间,工作中需要用android的应用程序访问android的根文件系统中的文件,但是由于应用程序的权限限制,无法访问这些文件,怎么办? 所以这就要用到了NDK编程了,既用C/C++代码实现访问系统文件,并将其生成本地库,供android中的java代码调用,这样就可以在java代码中通过调用C/C++编写的库的接口来实现对系统文件的访问。下面就介绍下Android NDK的入门学习过程:入门的最好办法就是学习Android自带的例子, 这里就通过学习Android的NDK自带的demo程序:hello-jni来达到这个目的。一、 开发 阅读全文
posted @ 2011-08-30 13:48 清水湾 阅读(538) 评论(0) 推荐(0) 编辑
android反编译
摘要:修改官方Twitter For Android,自定义 APIhttp://www.geeka.net/2010/05/api-twitter-for-android-diy/Android 中的拿来主义(编译,反编译,AXMLPrinter2,smali,baksmali)!http://blog.csdn.net/android_tutor/article/details/5724435Android 数字签名学习笔记http://www.cnblogs.com/feisky/archive/2010/01/17/1650076.htmlAndroid - 反编译android apk文件 阅读全文
posted @ 2011-08-29 10:22 清水湾 阅读(270) 评论(0) 推荐(0) 编辑
Cdma定位
摘要:publicvoidonClick(Viewv){//TODOAuto-generatedmethodstubtm=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);//inttype=tm.getNetworkType();//if(type==TelephonyManager.NETWORK_TYPE_CDMA){location=(CdmaCellLocation)tm.getCellLocation();if(location==null)return;intsid=location.getSystemId(); 阅读全文
posted @ 2011-08-17 12:13 清水湾 阅读(841) 评论(2) 推荐(0) 编辑
android 截屏
摘要://得到当前view所在view结构中的根viewView vv = v.getRootView();//设置属性 vv是你要截取的Viewvv.setDrawingCacheEnabled(true);//取得位图Bitmap bm = vv.getDrawingCache();//用imageView显示刚才截的图imageView.setImageBitmap(bm); 阅读全文
posted @ 2011-07-25 13:22 清水湾 阅读(637) 评论(0) 推荐(0) 编辑
学习网站链接
摘要:http://www.eoeandroid.com/thread-92831-1-4.html1 Theme和style学习:Android主题与样式:http://blog.sina.com.cn/s/blog_4e5143100100jrwi.html2 DevDiv特别推出--Android从入门到精通系列资料http://www.devdiv.com/thread-52600-1-1.html3 vim+ctags+cscope 打造Android源码阅读工具http://hi.baidu.com/snownight/blog/item/2f6e6327fe8e0210918f9d94 阅读全文
posted @ 2011-07-17 20:47 清水湾 阅读(400) 评论(0) 推荐(0) 编辑
android 开源项目
摘要:1 jamendoandroid平台在开源的在线音乐播放https://github.com/telecapoland/jamendo-android.githttp://blog.csdn.net/gaomatrix/article/details/6847602 源码分析2 开源项目介绍:包括FBReaderJ,Angle,Open GPS Tracker ,Rokon ,LGame ,OpenIntents ,android-bluetooth ,Android apktool,quake2android 等项目。http://www.cnblogs.com/TerryBlog/arch 阅读全文
posted @ 2011-07-14 00:15 清水湾 阅读(456) 评论(0) 推荐(0) 编辑
android service 生命周期
摘要:服务的生命周期部分内容参考自CSDN博客:http://blog.csdn.net/wtao158/archive/2010/01/08/5149721.aspx有了 Service 类我们如何启动他呢,有两种方法: • Context.startService() • Context.bindService() 1. 在同一个应用任何地方调用 startService() 方法就能启动 Service 了,然后系统会回调 Service 类的 onCreate() 以及 onStart() 方法。这样启动的 Service 会一直运行在后台,直到 Context.stopService() 阅读全文
posted @ 2011-07-11 13:10 清水湾 阅读(389) 评论(0) 推荐(0) 编辑
Android中悬浮窗口
摘要:调用WindowManager,并设置WindowManager.LayoutParams的相关属性,通过WindowManager的addView方法创建View,这样产生出来的View根据WindowManager.LayoutParams属性不同,效果也就不同了。比如创建系统顶级窗口,实现悬浮窗口效果!WindowManager的方法很简单,基本用到的就三个addView,removeView,updateViewLayout。而WindowManager.LayoutParams的属性就多了,非常丰富,具体请查看SDK文档。这里给出Android中的WindowManager.java 阅读全文
posted @ 2011-07-08 18:26 清水湾 阅读(396) 评论(0) 推荐(0) 编辑
WindowManager的使用
摘要:写Android程序的时候一般用WindowManager就是去获得屏幕的宽和高,来布局一些小的东西。基本上没有怎么看他的其他的接口。这两天想写一个简单的类似于Toast的东西,自定义布局,突然发现,原来Toast的时间是不能自己定义的,只有两个固定的时间,分别是2秒和3.5秒。我的需求是自定义显示的时间,这个显然不能满足我的需求。但是它是如何做到显示一个View凌驾于现有的所有的View之上的呢?我们Android平台是一个又一个的Activity组成的,每一个Activity有一个或者多个View构成。所以说,当我们想显示一个界面的时候,我们首先想到的是建立一个Activity,然后所有的 阅读全文
posted @ 2011-07-08 18:08 清水湾 阅读(1070) 评论(0) 推荐(0) 编辑
android使用ANT打包,签名,混淆
摘要:view plaincopy to clipboardprint?·········10········20········30········40········50·· 阅读全文
posted @ 2011-06-29 18:27 清水湾 阅读(3724) 评论(0) 推荐(0) 编辑
Android进阶:打jar包获取assets中的资源 解决selector XML文件不能解析的问题
摘要:大家都知道Android项目中的res目录中的资源eclipse插件会在gen中自动生成相应的id应用,这样就统一了资源管理那么这种自动生成的id就是写死的东西了 这就导致了不容易做修改项目中需要将现有的组件打成jar包 这样打包后类文件当然是肯定没问题 但是资源文件就不行了。这个地方的id不能在新建的项目中被应用了所以资源文件不能被打到res目录中,这种情况下就必须要打到assets目录中这样就会出现问题了 一般情况下我们应用资源文件是通过int型的id来引用的, 这里就不能直接应用了 我们需要手动读取Assert目录下的资源Android提供了AssetManager来管理资源读取就很简单 阅读全文
posted @ 2011-06-29 15:44 清水湾 阅读(2130) 评论(0) 推荐(0) 编辑
Android的Task和Activity相关
摘要:android:allowTaskReparenting 用来标记Activity能否从启动的Task移动到有着affinity的Task(当这个Task进入到前台时)——“true”,表示能移动,“false”,表示它必须呆在启动时呆在的那个Task里。 如果这个特性没有被设定,设定到<application>元素上的allowTaskReparenting特性的值会应用到Activity上。默认值为“false”。 一般来说,当Activity启动后,它就与启动它的Task关联,并且在那里耗尽它的整个生命周期。当当前的Task不再显示时,你可以使用这个特性来强制Activity 阅读全文
posted @ 2011-06-22 16:18 清水湾 阅读(599) 评论(0) 推荐(0) 编辑
android manifest.xml中元素含义
摘要:activity的属性可以在android.R.styleable 类的AndroidManifestActivity 方法中看到,AndroidManifest.xml中所有元素的属性的介绍都可以参考这个类android.R.styleable。属性值是在android.R.style中 可以看到,比如这个"@android:style/Theme.Dialog" 就对应于android.R.style.Theme_Dialog。android:allowTaskReparenting是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。------ 阅读全文
posted @ 2011-06-22 11:44 清水湾 阅读(397) 评论(0) 推荐(0) 编辑
判断应用程序后台运行
摘要:service+ActivityManager.... ActivityManageram=(ActivityManager)getSystemService(ACTIVITY_SERVICE);List<RunningTaskInfo>TaskList=am.getRunningTasks(2);if(TaskList==null||TaskList.isEmpty())return;RunningTaskInforti=TaskList.get(0);Stringtmp=rti.topActivity.getPackageName();------- tmp就是包名 阅读全文
posted @ 2011-06-18 11:05 清水湾 阅读(308) 评论(0) 推荐(0) 编辑
JAVA获取JPEG文件Exif相关信息
摘要:iew plaincopy to clipboardprint?包的下载地址:http://www.drewnoakes.com/code/exif/releases/metadata-extractor-2.2.0.jarpackagecom.imgread;importcom.drew.metadata.*;importcom.drew.metadata.exif.*;importcom.drew.imaging.jpeg.JpegProcessingException;importjava.io.*;importjava.util.Iterator;publicclassEXIFRead 阅读全文
posted @ 2011-06-01 22:02 清水湾 阅读(3677) 评论(0) 推荐(0) 编辑
TelephonyManager
摘要:TelephonyManager的隐藏API调用方式:使用反射:调用TelephonyManager的隐藏API是先参考Framework的\base\telephony\java\com\android\internal\telephony\ITelephony.aidl,然后自己实现一个ITelephony.aidl,最后在TelephonyManager中通过反射机制实例化自定义的ITelephony,实例化之后就可以调用ITelephony里面的函数了。ethod getITelephonyMethod = telMgr.getClass().getDeclaredMethod(&qu 阅读全文
posted @ 2011-04-27 19:01 清水湾 阅读(1480) 评论(0) 推荐(0) 编辑
ConnectivityManager
摘要:1 网络连接类型 ConnectivityManager监听网络变化broadcat<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = connec.getActiveNetworkInfo();//倘若手机目前不在网络的服务范围,则connec.getActi 阅读全文
posted @ 2011-04-21 15:04 清水湾 阅读(2272) 评论(0) 推荐(0) 编辑
Cache专用: SoftReference(转)
摘要:转自http://blog.csdn.net/historyasamirror/archive/2010/12/14/6076505.aspx没有想到有一天真的会用到SoftReference,学的时候完全不知道这东西能干吗。今天它确实派上用场了,没错,我也是用它来做cache。SoftReference的语义就是当内存不够用的时候,GC会回收SoftReference所引用的对象。所以,在memory sensitive的程序中将某些大型数据设置成SoftReference再合适不过了。创建一个SoftReference:view plaincopy to clipboardprint?Ob 阅读全文
posted @ 2011-04-06 11:58 清水湾 阅读(641) 评论(0) 推荐(0) 编辑