- 博客(80)
- 资源 (85)
- 收藏
- 关注
转载 Java设计模式---简单工厂
先看一段书中的代码,类似的代码相信很多人、包括我都写过。因为作为初学者,对于接口的使用一般都会这样写。 /***一个接口、简单定义一个方法test(String str),输出给定 的字符串*/public interface Api { public void test(String str);}/***实现类,对接口Api的实现*/pu
2013-10-25 15:26:46
717
转载 Android-避免出现bitmap内存限制OUT OF MEMORY的一种方法
<br />在编写Android程序的时候,我们总是难免会碰到OOM(OUT OF MEMORY)的错误,那么这个错误究竟是怎么来的呢,可以先看一下这篇文章ANDROID BITMAP内存限制OOM,OUT OF MEMORY。<br /><br />这里,我使用Gallery来举例,在模拟器中,不会出现OOM错误,但是,一旦把程序运行到真机里,图片文件一多,必然会出现OOM,我们通过做一些额外的处理来避免。<br /><br />1.创建一个图片缓存对象HashMap dataCache,integer对
2011-06-01 00:22:00
953
转载 android 使用异步加载图片
<br />import java.io.FilterInputStream;import java.io.IOException;import java.io.InputStream;import java.lang.ref.SoftReference;import java.util.HashMap;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.o
2011-06-01 00:15:00
1465
转载 Android RIL 架构学习总结
<br /><br />1.Android RIL 概念<br />Android RIL是基于telephony 服务和raido 硬件层的抽象层, 通过研究RIL的代码可以看到,Android的rild库是介于HAL接口与baseband modem之间,它同样提供了语音、数据、短信、SIM卡管理以及STK应用的功能,实现思路跟微软的RIL有异曲同工之妙,也是把标准的 GSM27.007中常用的如dial这些做主动请求的操作称之为request,一共75个;另外一类GSM模块主动上报的例如信号强度、基站
2011-05-09 00:32:00
1775
转载 Android GSM驱动模块(rild)详细分析(三)response流程
<br />Android GSM驱动模块(rild)详细分析(三)response流程<br />熊猫哥哥 发表于IT168和Opendroid 转载请注明<br /><br />前文对request的分析, 终止在了at_send_command_full_nolock里的writeline操作,因为这里完成命令写出到硬件设备的操作,接下来就是等待硬件响应,也就是response的过程了。我们的分析也是从这里开始。<br />response信息的获取,是在第一篇初始化分析中,提到的readerLoop
2011-05-09 00:12:00
982
转载 Android GSM驱动模块(rild)详细分析(一)基本架构及初始化
<br />Android GSM驱动模块(rild)详细分析(一)基本架构及初始化<br />熊猫哥哥 发表于IT168和Opendroid 转载请注明<br /><br />Android的RIL驱动模块, 在hardware/ril目录下,一共分rild,libril.so以及librefrence_ril.so三个部分,另有一radiooptions可供自动或手动调试使用。都依赖于include目录中ril.h头文件。目前cupcake分支上带的是gsm的支持,另有一cdma分支,这里分析的是gsm
2011-05-09 00:11:00
911
转载 Android GSM驱动模块(rild)详细分析(二)request流程
<br />Android GSM驱动模块(rild)详细分析(二)request流程<br />熊猫哥哥 发表于IT168和Opendroid 转载请注明<br /><br />1. 多路复用I/O机制的运转<br />上文说到request是接收,是通过ril_event_loop中的多路复用I/O,也对初始化做了分析.现在我们来仔细看看这个机制如何运转.<br />ril_event_set负责配置一个event,主要有两种event:<br />ril_event_add添加使用多路I/O的even
2011-05-09 00:11:00
883
转载 Gstreamer的一些基本概念与A/V同步分析
<br />一、媒体流(streams )<br />流线程中包含事件和缓存如下:<br />-events <br /> -NEW_SEGMENT (NS) <br /> -EOS (EOS) * <br /> -TAG (T) <br />-buffers (B) * <br />其中标* 号的需要同时钟进行同步。<br /><br />典型的流如图1 所示:<br /><br /><br />图1 媒体
2011-04-27 23:32:00
1410
转载 Gstreamer应用程序指南学习笔记
<br /><br />Gstreamer说明<br />一 Gstreamer简介<br />是一个框架,灵活轻便。<br />第一部分基本没有难度,只要能看懂英文。从我目前接触的感觉上看,Gstreamer确实简化了动态库的加载,模块与模块间的合作。<br />但是Gstreamer用得还是有点不太习惯,可能是 GLIB这种风格没有适应。<br />gstreamer整个分为:<br />l core:核心库<br />l 基础插件:一些很基础的插件<br />l
2011-04-21 23:49:00
2282
转载 GLib学习笔记
<br /><br />一 Glib笔记1<br />以前主要是做C++,最近有个机会转到嵌入式的C,大部分用的是Glib/Gobject系统,前一周的样子把相关内容大致浏览了一遍,主要以reference Menu为主。我看英文书的一个习惯是看一章,总结一章,这样学得快,记得牢。以前整理过很多书籍,不过都是本地的doc文档。在学Glib过程中,从网上学到很多知识,所以我也放到博客上吧。仅供自己总结,风格比较随意。<br /> 这一部分主要是Glib的基础1.1 版本信息<br />注意,自己的程序里边都要
2011-04-21 23:47:00
5083
转载 Android开发——MediaPlayer源码不完整分析
<br />前段时间在工作中遇到一个问题就是MediaPlayer的播放网络流媒体的时候,当没有完全下载完毕的时,我们调用seekTo的时候会触发OnCompletionListener,你们懂的咯,这样就直接播放下一首了。挺纠结的,所以就决定看看mediaplayer的源码咯,希望能从中找到解决的方法。<br />seekTo在MediaPlayer的调用流程如下图:<br /> <br /><br /> <br />在MediaPlayer.java中的seekTo是一个native修饰的方法<br /
2011-04-20 23:34:00
1974
转载 Android的Media架构介绍
<br />本文主要介绍Android MediaPlayer的架构,主要由OpenCore 里的PV Player来实现的。<br /><br />1.概述<br />Android的MediaPlayer包含了Audio和Video的播放功能,Music和Video两个应用程序都是调用MediaPlayer实现的。<br /><br />代码主要分布在以下的目录中:<br />JAVA程序的路径:<br />packages/apps/Music/src/com/android/music/<br />
2011-04-20 21:17:00
2155
转载 android中点中overlay弹出带尾巴的气泡的实现
<br /><br /> <br />就是上面的样子<br /><br />做这个过程中我碰到两个问题:<br />1:如何做带尾巴的气泡View<br />2:如何把这个View添加到MapView中.<br /><br /><br />1:如何做带尾巴的气泡View<br />我是采用背景图的方式来实现的.当然,普通的PNG在View 缩放的时候会失真,尤其是那个尖尖的尾巴.<br />后来采用9.png的格式,才完成了不变形的效果.9.png格式的Png可以用SDK/Tools/draw9patch.
2011-04-12 00:08:00
1843
1
转载 Android通过手势实现的缩放处理
<br />主要原理是onTouchEvent事件中的参数MotionEvent,它有一个getSize()方法。在一个点的时候,该方法永远返回0,而在两个触电的时候,该方法则根据两点相对位置变化而返回不同的值。我们只需计算出两点之间的距离变化,距离的大小表明我们希望目标变化的趋势。而getX()和getY()方法则永远座落在两触点之间,这样趋势和目标我们都有了。剩下的就是对目标根据趋势进行放大或缩小即可。 下边是根据我前边描述的思路编写的代码:让一个蓝色的圆根据手势放大或者缩小。流感中,代码就不指望太清晰
2011-04-06 00:03:00
1658
转载 Android放大镜的实现
<br />package chroya.demo.magnifier; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.BitmapShader; import android.graphics.Canvas; import android.gra
2011-04-05 23:58:00
1343
转载 Android多点触控开发原理
<br />Android多点触控在本质上需要LCD驱动和程序本身设计上支持,目前市面上HTC、Motorola和Samsung等知名厂商只要使用电容屏触控原理的手机均可以支持多点触控Multitouch技术,对于网页缩放、手势操作上有更好的用户体验。 在Android平台上事件均使用了MotionEvent对象方式处理,比如开始触控时会触发ACTION_DOWN而移动操作时为ACTION_MOVE最终放开手指时触发ACTION_UP事件。当然还有用户无规则的操作可能触发ACTION_CANCEL这个动作。
2011-04-05 23:46:00
1049
原创 反编译Android的apk包得到源码
<br /><br />1. 先从 http://download.youkuaiyun.com/source/2927864 下载反编译工具dex2jar和jd-gui(当然也可以google搜索下载);<br />2. 将要反编译的apk包改扩展名为zip(apk包实则为zip压缩包),解压zip文件;<br />3. 在解压出来的文件夹中会有个classes.dex文件(程序的二进制文件),在下载dex2jar和jd-gui中找到dex2jar程序,在cmd窗口中运行 dex2jar classes.dex ,
2011-03-08 23:51:00
1299
1
转载 Android---功能模块一之颜色选择器自定义Preference 对话框
<br />在Api Demo里面有一个叫ColorPickerDialog的对话框,该对话框扩展了Dialog 的功能,使其具备颜色选择器的功能。具体可以参考Api Demo源代码,路径为:android-sdk-windows/samples/android-7/ApiDemos/src/com /example/android/apis/graphics/ColorPickerDialog.java<br />本功能是基于上述的颜色选择器对话框进行扩展,模仿PreferceActivity 组件的实现
2011-03-08 23:33:00
2110
转载 Android高手进阶教程(九)之----Android Handler的使用!!!
大家好我们这一节讲的是Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title.首先我们看一下习惯了Java编程的人,在不知道Handler的用法之前是怎么样写的程序,代码如下所示:package com.android.tutor; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android
2011-01-29 22:02:00
773
转载 Android 完美解决自定义preference与ActivityGroup UI更新的问题
<br />本篇讲述内容大致为如何自定义preference 开始到与ActivityGroup 互用下UI更新的解决方法。<br />首先从扩展preference开始:<br />类文件必须继承自Preference并实现构造函数,这里我一般实现两个构造函数分别如下(类名为:test):<br /> <br />public test(Context context) { this(context, null); // TODO Auto-generated cons
2011-01-20 00:35:00
985
转载 简单实现Android顶部工具栏和底部工具栏
<br />这两个工具栏全是用布局来实现的。<br /><br />底部工具栏布局代码:<br /> <br /><?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:Android="http://schemas.android.com/apk/res/android" Android:background="@drawable/bottom" Android:layout_width="fill
2010-12-16 22:48:00
1232
原创 android布局属性详解
<br />Android布局属性详解<br /> RelativeLayout用到的一些重要的属性:<br /> 第一类:属性值为true或false<br /> android:layout_centerHrizontal 水平居中<br /> android:layout_centerVertical 垂直居中<br /> android:layout_centerInparent 相对于父元素完全居中<br /> android:layout_alignParentBottom 贴紧父元
2010-12-16 00:17:00
754
转载 Android中级教程之--------Android应用程序的生命周期(一定要理解,面试会问的哦!)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weizhulin.blog.51cto.com/1556324/311433Android的应用程序的生命周期,我相信这在以后的Android面试一定是经常考的题目,所以大家一点要重视哦!下面我将图文双线程,希望对大家有一点帮助!首先我们看一下Android应用程序的生命周期图: 在大部份情况下,每个Android应用都将运行在自己的Linux进程当中。当这个应用的某些代码需
2010-12-15 00:43:00
656
2
转载 Android高手进阶教程(八)之----Android Widget开发案例(世界杯倒计时!)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weizhulin.blog.51cto.com/1556324/311438今天我们要写一下Android Widget的开发,由于快点凌晨,我就不说的太具体了,同志们就模仿吧!首先看一下效果图: 下面是Demo的详细步骤:一、新建一个Android工程命名为:WidgetDemo. 二、准备素材,一个是Widget的图标,一个是Widget的背景。存放目录如下图: 三、修改string.
2010-12-15 00:42:00
551
转载 Android高手进阶教程(七)之----Android 中Preferences的使用!
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weizhulin.blog.51cto.com/1556324/311440大家好,我们这一节讲的是Android Preferences 的学习,Preferences 在Android当中被用来记录应用,以及用户喜好等等,它可以用来保存简单的数据类型,如Int,Double,Boolean等。Preferences中保存的数据可以理解为Map型。我们通过PreferenceManage
2010-12-15 00:39:00
676
转载 Android高手进阶教程(六)之----Android 中MenuInflater的使用(布局定义菜单)!
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weizhulin.blog.51cto.com/1556324/311446大家好,我们上一节讲的是LayoutInflater 的 使用,而这一节我将讲一下MenuInflater ,顾名思义,LayoutInflater 是用来解析定义在layout 下的布局文件,那么MenuInflater 是不是用来解析定义在menu 目录下的菜单布局文件呢? 恭喜你答对了!(*^__^*) 嘻嘻
2010-12-15 00:36:00
532
转载 Android高手进阶教程(五)之----Android 中LayoutInflater的使用!
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weizhulin.blog.51cto.com/1556324/311450大家好我们这一节讲的是LayoutInflater的使用,在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于 findViewById(),不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体 widge
2010-12-15 00:35:00
510
转载 Android高手进阶教程(四)之----Android 中自定义属性(attr.xml,TypedArray)的使用!
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weizhulin.blog.51cto.com/1556324/311453今天我们的教程是根据前面一节扩展进行的,如果你没有看,请点击 Android高手进阶教程(三) 查看第三课,这样跟容易方便你的理解!在xml 文件里定义控件的属性,我们已经习惯了android:attrs="" ,那么我们能不能定义自己的属性能,比如:test:attrs="" 呢?答案是肯定的.好了我就不卖关子了
2010-12-15 00:33:00
531
转载 Android高手进阶教程(三)之----Android 中自定义View的应用
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weizhulin.blog.51cto.com/1556324/311457大家好我们今天的教程是在Android 教程中自定义View 的学习,对于初学着来说,他们习惯了Android 传统的页面布局方式,如下代码:view plaincopy to clipboardprint?
2010-12-15 00:30:00
634
转载 Android高手进阶教程(二)之----Android Launcher抽屉类SlidingDrawer的使用!
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weizhulin.blog.51cto.com/1556324/311461最近在研究Lanucher ,看了源码,发现了SlidingDrawer 这个类,也就是所谓的"抽屉"类。它的用法很简单,要包括handle ,和content .handle 就是当你点击它的时候,content 要么抽抽屉要么关抽屉。别的不多说了,具体步骤如下.1.新建Android 工程,命名为Sliding
2010-12-15 00:28:00
573
转载 Android高手进阶教程(一)-------Android常用名令集锦
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weizhulin.blog.51cto.com/1556324/311463大家好,今天我们要讲的是android开发中,比较常用的名令集锦, 在我们开发中难免用到Android命令,有些确实命令确实很有用处。特别对于一些初学者来说,命令根本没有想过用也不会用,比如他们想安装一个.apk文件到模拟器上面,但是他们不会启动模拟器,他们只会先启动Eclipse,然后在启动模拟器,这样不但浪费时
2010-12-15 00:24:00
559
1
转载 Android Map开发基础知识学习笔记
<br />注册 Android 地图 API 密钥<br /> <br />运行:keytool -list -keystore ~/.android/debug.keystore<br />用得到的MD5码到http://code.google.com/intl/zh-CN/android/maps-api-signup.html注册API密钥。参考:<br />http://www.cnblogs.com/feisky/archive/2010/01/17/1650083.html<br /> <br
2010-12-13 02:36:00
632
转载 Android 给贪吃蛇游戏加背景音乐
<br />Android有个贪吃蛇的游戏,但是打开这个游戏非常枯燥,给加个背景音乐吧<br />1、增加一个类,这个类是继承Service的,如下。<br />package com.example.Android.snake;import Android.app.Service; import Android.content.Intent;import Android.media.MediaPlayer; import Android.os.IBinder;public
2010-12-11 01:55:00
4752
1
转载 如何成为一名优秀的android开发者
<br />很多初入Android或Java开发的新手对Thread、Looper、Handler和Message仍然比较迷惑,衍生的有HandlerThread、java.util.concurrent、Task、AsyncTask由于目前市面上的书籍等资料都没有谈到这些问题,今天Android123就这一问题做更系统性的总结.<br /><br /> Android开发过程中为什么要线程能?<br /><br /> 我们创建的Service、Activity以及Broadcast均是一个主线程处理,
2010-12-10 00:38:00
629
原创 Java按字节长度截取字符串之二
<br /> 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。<br /> <br />public static String substring(String str, int toCount,String more) { int reInt = 0; String reStr = "";
2010-12-10 00:36:00
719
转载 Java实现按字节长度截取字符串
<br />Java实现按字节长度截取字符串 <br />当给一个包含英文和汉字的字符串时,如: <br />String str="china中国china"; <br />有时候需要按字节长度截取字符串,当要截取6个字节时,不能只截取“china”和“中”的一半,这时候就需要做处理。 <br /><br /><br />方法:使用String的matches("[/u4e00-/u9fa5]")判断每个字符是不是汉字。 <br /> 下面代码的实现方式不是很好。。 <br /><br />pu
2010-12-10 00:33:00
1493
原创 搭建 Windows 下基于 Eclipse 的 PHP 开发环境
下载完成后,解压,然后把解压出来的文件夹都复制到eclipse主目录的plugins目录下。<br /> 在配置Eclipse之前,首先需要一个Apache+PHP的基础环境,<br /> 可以装wampp或php home,它们都是集成化安装,比较方便,下载地址如下: <br /> wampp2.2<br /> php home<br /> 建议装wampp2.2,集成Apache,MySQL,Perl,PHP。而且解压缩就可用,我就用它挺方便的。<br /> 下面我就以安装wampp2.2为
2010-12-08 21:29:00
882
原创 JAVA中native方法调用
<br />在java中native是关键字。它一般在本地声明,异地用C和C++来实现。它的声明有几点要注意:1)native与访问控制符前后的关系不受限制。2)必须在返回类型之前。3)它一般为非抽象类方法。4)native方法在异地实现,象抽象方法一样,所以没有方法体,以分号结束。如下列5种声明:<br /> native public void f(); 正确。<br /> private native void f();
2010-11-30 20:47:00
1175
1
转载 Android之handler使用
<br />android里面对于异步消息的处理,提供了一套Handler的实现方案。Handler有很多适宜的应用和微妙之处,使它在和Thread以及Service等一起使用的时候达到很好的效果。<br />一. Handler与Thread的区别。<br />Handler与调用者处于同一线程,如果Handler里面做耗时的动作,调用者线程会阻塞。Android UI操作不是线程安全的,并且这些操作必须在UI线程中执行。Android提供了几种基本的可以在其他线程中处理UI操作的方案,包括Activit
2010-11-25 22:42:00
781
转载 Android DRM
<br />简而言之,DRM系统提供一套机制对用户使用手机上的媒体内容(如ringtong, mp3等)进行限制,如限制拷贝给第三方,限制使用次数或时限等,从而保护内容提供商的权利。建议读者可以阅读OMA DRM 的规范,以便更好的了解代码。<br /><br />相关代码主要位于下列目录:<br />frameworks/base/media/java/android/drm/mobile1<br />frameworks/base/media/libdrm/moblile1<br />framework
2010-11-20 10:00:00
1208
2
Google Android SDK开发范例大全(第二版)源码.part2
2010-12-09
Google Android SDK开发范例大全(第二版)源码.part1
2010-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人