- 博客(289)
- 收藏
- 关注
原创 JAVA 远程通讯机制
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、 Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将...
2013-12-22 23:51:43 258
原创 APN(default、mms、supl、dun、hipri接入点类型的区别)
设置APN上网时,大家可能经常遇到这个问题:为什么有时要填写default有时要填写supl,而彩信又偏偏要mms?这个问题留到最后,让我们看看每个接入点类型的含义:英文原文来自于Google Android Developers原文连接:http://developer.android.com/reference/android/net/ConnectivityManager.html我尽量用...
2013-10-10 19:31:38 9600
原创 AMR音频编码器概述及文件格式分析
全称Adaptive Multi-Rate,自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的。AMR-WB应用于EDGE、3G可充分体现其优势。足够的传输带宽保证AMR-WB可采用从6.6kb/s到23.85kb/s共九种编 网上有些分析AMR NB 和AMR WB区别的资料,为节省篇幅,就不一一转过来了,可以...
2013-10-10 19:29:37 299
原创 浅谈移动互联网应用的开发
中国的移动互联网用户已经达到2.33亿,随着越来越多的互联网用户开始访问移动互联网,和一些不浏览互联网的用户开始访问移动互联网,可以想象移动互联网在以多么惊人的速度进行增长。未来,移动互联网将成为IT发展的下一个蓝海。那么未来移动互联网可以为我们做什么?其实移动互联网就是把一个随身携带的手机,连到一个浩瀚的互联网上,能够帮助我变成一个更强大的我,可以应用手机的这种不会失去的记忆力,可以用互联网上巨...
2013-05-06 23:13:52 1070
原创 移动互联网_微信协议分析
协议。手机终端跟后台服务器之间的交互协议,这个协议的设计是整个系统的骨架,在这一点做好设计可以使得系统的复杂度大大降低。容灾。当系统出现了若干服务器或若干支架(宕机的时候),仍然需要让系统尽可能的提供正常的服务。轻重。如何在系统架构中分布功能,在哪一个点实现哪一个功能,代表系统中间的功能配置。监控。为系统提供一个智能仪表盘。在协议设计上,移动互联网和常规互联网有很大的区别。首先有CMWAP和...
2013-05-06 22:45:03 235
原创 android 设计模式-享元模式
享元(FlyWeight)模式,原意是“轻量级”模式,它用来解决大量相同对象被多次实例化,从而导致内存被大量占用的情况。在有的时候我们要多次使用某个类中的公有实例方法,我们通常的做法是,先new一个该类的实例,然后再调用该类的这个方法,调用完毕后这个类也就变成垃圾。这种调用方式如果出现的频率很高,会在对象生成和内存占用上付出很大的代价,享元模式尽可能多地节省对象的生成次数,让多个对象共用一个缓存中...
2011-12-16 23:01:42 183
原创 statusbar 2.3
以前我的文章分析过StatusBar上图标显示的流程,现在分析一下在Android2.3中,StatusBar的架构,其实StatusBar的实现方法还是进行了许多大的修正的,比如原来StatusBar的操作都是在Service进程中,现在许多图标显示更新等的操作都移到了应用进程中。代码目录结构:主要位于两个目录中1,frameworks/base/services/java/com/...
2011-11-08 16:04:13 148
原创 android 输入法默认设置
设置默认输入法 在 frameworks\base\core\res\res\values\config.xml 添加一个属性: <!--leo add--> <string name="config_default_input_method">com.android.inputmethod.pinyin/.PinyinIME</stri...
2011-07-07 14:00:51 276
原创 Android Media Scanner Process
下面是系统图 MediaScannerReceiver会在任何的ACTION_BOOT_COMPLETED, ACTION_MEDIA_MOUNTED或 ACTION_MEDIA_SCANNER_SCAN_FILE 意图(intent)发出的时候启动。因为解析媒体文件的元数据或许会需要很长时间,所以MediaScannerReceiver会启动MediaSc...
2011-06-06 22:58:24 127
原创 handler与多线程消息处理
在Android下面也有多线程的概念,在C/C++中,子线程可以是一个函数,一般都是一个带有循环的函数,来处理某些数据,优先线程只是一个复杂的运算过程,所以可能不需要while循环,运算完成,函数结束,线程就销毁。对于那些需要控制的线程,一般我们都是和互斥锁相互关联,从而来控制线程 的进度,一般我们创建子线程,一种线程是很常见的,那就是带有消息循环的线程。消息循环是一个很有用的线程方式,曾经自己用...
2011-06-04 13:42:36 192
原创 android light
背光设置是在:设置->声音和显示->亮度,通过进度条来设置的。文件:packages/apps/Settings/src/com/android/settings/BrightnessPreference.javaprivate static final int MINIMUM_BACKLIGHT = android.os.Power.BRIGHTNESS_DIM + 10;priva...
2011-03-24 16:15:15 161
原创 PowerManagerService sensor
默认分类 2010-12-24 14:34:55 阅读144 评论1 字号:大中小 订阅 frameworks/base/services/java/com/android/server/PowerManagerService.java首先通过sensormanager来获得service 这里以light sensor为例 void systemReady() { ...
2011-03-22 20:06:45 104
原创 android 单例
1. Framework层的代码: Android中,整个framework层的组件的初始化是在SysteServer.java中完成的,这些组件都是系统级组件,包括HardwareService,PowerManagerService,WindowManagerService BluetoothDeviceService,ActivityManagerService......,具体代码在S...
2011-02-15 09:26:51 120
原创 JAVA 线程
我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。 当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。 同步这个词是从英文...
2011-01-11 10:32:35 123
原创 WeakReference
reachable, the following happens:A set ref of references is determined. ref contains the following elements:All weak references pointing to obj.All weak references pointing to objects from which obj i...
2011-01-11 09:02:58 142
原创 ubuntu9.04 字体安装两种方法
ubuntu9.04 字体安装两种方法 文章分类:JavaEye 字体搭配:推荐安装雅黑和consolas的混合字体(见附件),宋体。firefox,gedit使用宋体,eclipse使用Courier New。其他软件一律使用雅黑。安装方法一:运行如下命令引用sudo mkdir -p /us...
2011-01-07 23:02:02 123
原创 Android 开发之 Services 服务
Service Service Class Overview 提要 Service Lifecycle 服务生命周期 Permissions 权限 Process Lifecycle 进程生命周期 Summary 总结 Class Overview 提要 服务(Service)是一个在后台运行的组件, 它一直保持运行, 并且不和用户进行交互. ...
2010-11-02 18:21:49 134
原创 深入学习android之AlarmManager
对应AlarmManage有一个AlarmManagerServie服务程序,该服务程序才是正真提供闹铃服务的,它主要维护应用程序注册下来的各类闹铃并适时的设置即将触发的闹铃给闹铃设备(在系统中,linux实现的设备名为”/dev/alarm”),并且一直监听闹铃设备,一旦有闹铃触发或者是闹铃事件发生,AlarmManagerServie服务程序就会遍历闹铃列表找到相应的注册闹铃并发出...
2010-11-01 16:50:31 107
原创 git-svn 常用功能示例
git-svn 常用功能示例 版本的要求务必保证 git-core 和 git-svn 的版本大于 1.5.3,这里使用的版本为 1.5.4.2-1~bpo40+2。svn 仓库我们这里以 Google Code Hosting 提供的 svn 仓库为原型虚拟了一个:https://virtual.googlecode.com/svn...
2010-09-14 18:10:17 224
原创 git-svn
尽管你可以从网上找到成千上万篇关于Git和git-svn, 但是本文主要介绍如何在一个以svn作为版本管理软件的项目里使用git。(假如你已经有了git-svn工具, 那我们就开始用git吧!)先介绍些背景知识, Git 是 Linus Torvalds 为Linux内核开发的一套版本控制软件。他对版本控制有些特殊的要求,但是没有一个能满足他的要求。Git 有两个最大的优点...
2010-09-14 10:32:43 130
原创 eclipse+android+ddms+adt
用eclipse + ADT作为android开发工具,可以说是很方便的,在HelloActivity小程序里我们就感觉到eclipse功能的强大。那么,我们可以用 eclipse来开发android源码吗?如果我们直接把android源码里一个工程导入eclipse,一般来说都会出现错误,说许多类库(包)找 不到。今天找到关于怎样使用eclipse来开发android源码的官方文档:https:...
2010-09-14 10:30:52 277
原创 Menus
Android Menus文章分类:移动开发1.Options Menu. 通过按下手机上的MENU键,可以打开Options Menu。Options Menu最多只能在屏幕最下面显示6个菜单项,称为Icon Menu.如果添加了多于6个的菜单项,将通过"More"菜单项显示,这种称为Expanded Menu.当Options Menu第一次被打开时,系统将调用Activi...
2010-09-05 19:01:59 165
原创 Observer 观察者
在Java中通过Observable类和Observer接口实现了观察者模式。一个Observer对象监视着一个Observable对象的变化,当Observable对象发生变化时,Observer得到通知,就可以进行相应的工作。例如在文档/视图结构中,文档被修改了,视图就会得到通知。 java.util.Observable中有两个方法对Observer特别重要,一个是setCha...
2010-08-31 22:54:19 181
原创 Linux常用定位/显示命令
Linux常用定位/显示命令 2009年12月30日, 5:28 下午 <!-- 由 marco -->Linux查找/定位功能的相关命令:常用命令简要中文说明程序所在目录more分页显示一个文件或任何输出结果,按q键停止显示/binless与more命令类似,不同的是less命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动...
2010-08-28 23:31:08 990
原创 Android开机自启动应用开发
目前需要开发一个开机自启动的GTD应用程序来提醒用户的一些重要日程安排,对于这类应用,Android提供了一个BroadcastReceiver组件来对于应用程序的运行环境进行监听,并对于各种事件进行对应的处理。使用BroadcastReceiver十分简单,我们只需要在AndroidManifest.xml或者我们的代码中进行相应的注册(这也是Android开发的两种方式)。这样之后在广...
2010-08-28 10:07:58 85
原创 Java的多线程机制
程序、进程和线程: 程序是一段静态的代码,它是应用程序执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的单位,一个进程执行过程中可以产生多个线程,每个线程有自身的产生、存在和消亡的过程,也是一个动态的概念。每个进程都有一段专用的内存区域,而线程间可以共享相同的内存区域(包括代码和数据),并利用...
2010-08-25 23:59:34 293
原创 Android2.1_Launcher学习笔记
文章分类:移动开发好么,2.0的源码没看几天,2.1的出了。 学习记录一下, 主要是Launcher启动时从数据库读取各种桌面物件信息到最后显示到屏幕桌面上的流程。 之前看2.0的时候,大概能分出来下面四个层次,2。1里面基本一样: DB--mListInModel--mListInLauncher--ViewChildInCellLayout I II III IV 扫了下代码,Laun...
2010-08-11 13:40:33 74
原创 Browsing Android Source in Eclipse
Google’s Android SDK includes android.jar, which contains the Android public API class files. They also provide an Eclipse plugin, making it quite easy to get started. What you will not find, howeve...
2010-08-09 16:00:29 204
原创 android 编译
1 我的系统是Ubuntu 8.04 * 2 系统上必须安装以下工具(摘自网上的资料): sudo apt-get install build-essential sudo apt-get install make sudo apt-get install gcc sudo apt-get install g++ ...
2010-08-07 16:31:32 97
原创 如何在Ubuntu上安装GIT
如何在Ubuntu上安装GIT<!--oogle_ad_section_star-->今天花了很长时间才在Ubuntu 上安装好GIT 1.6.0.2,最开始本不需要1.6,所以只用1sudo apt-get install git-core就把GIT1.5安装好。可以使用GIT://,SSH等方式。但后来需要HTTP的支持,1....
2010-08-04 19:51:34 140
原创 jdk,tomcat,eclipse 配置
MyEclipse是Eclipse的一个插件,所以,你必须先安装Eclipse才可以安装MyEclipse。 MyEclipse是一个编译器,要做JAVA程序,就要配置基本的JDK环境变量 一、安装JDK 首先下载JDK 5.0(JDK 5.0的下载页面为:http://java.sun.com/j2se/1.5.0/download.jsp); 然后运行JDK 5.0安装程序jdk-1_5_0_...
2010-08-02 21:44:24 100
原创 Ubuntu linux 右键添加"以管理员身份打开","在终端中打开"
Ubuntu linux 右键添加"以管理员身份打开","在终端中打开"2010年05月15日 星期六 上午 00:56右键中添加"在终端中打开"安装一个包,即可在右键里面 添加一个“打开终端”的菜单。sudo apt-get install nautilus-open-terminal右键中添加"以管理员身份打开"在终端输入 sudo apt-get install nautil...
2010-08-02 15:04:29 844
原创 自制android1.5的源码包
最近打算玩下android,听hong老大说最好看看源码。而android官方并没有提供直接可用的。具体参考如下:http://www.williamhua.com/2009/04/29/git-and-repo-for-dummies/ http://blog.michael-forster.de/2008/12/view-android-source-code-in-eclipse.html ...
2010-08-02 13:44:47 95
原创 ubuntu 9.04上下载android源码
ubuntu 9.04上下载android源码作为开源手机操作系统,android一经推出,便引来业界极大的关注。Google现在的android源码的版本号已经是1.50r1的。越来越多的爱好者开始加入到android源码的研究中,下面就ubuntu 9.04上如果去获得android最新源码。1. 安装git 和gnupg 。输入 $sudo apt-get inst...
2010-08-02 13:20:17 96
原创 虚拟机VMware安装ubuntu以及安装vmtools
虚拟机软件可在一台计算机(这台计算机成为宿主计算机)上模拟出若干台计算机,每台模拟出的计算机都有自己单独的硬件配置,可以安装单独的操作系统,不受 宿主操作系统的限制且互补干扰,这样可以实现一台电脑“同时”拥有多个操作系统,还可以将这些操作系统连接成一个网络。下面开始图解教程:一 安装虚拟机设置在起始页中点击新建虚拟机接下来进入虚拟机设置 用典型的满足大部分用户选择...
2010-08-02 11:35:32 115
原创 Android Codec 集成和 video Overlay
Codec集成和video overlay是现在FSL对android多媒体修改的所有东西,codec library以.so的形式放在prebuilt目录下,没有源文件。而video overlay的实现主要是使用了FSL的ipu底层库,将视频数据直接发送到硬件,由硬件进行merge。A、Codec 集成1、codec 集成方法 首先声明一下俺说的codec集成是...
2010-07-29 16:58:30 112
原创 LCD 原理和移植总结
LCD 原理和移植总结图1. LCD子系统结构Framebuffer:是linux的framebuffer驱动在内存开辟的一块显存,存放一帧图像数据。IPU:是mx51的图像处理单元,里面包含DMA控制器和DI显示接口等。LCD Driver:是一块和LCD屏幕整合在一起的驱动芯片,接收IPU传过来的数据和时序信号,转化为有规律的LCD驱动电压。一...
2010-07-27 09:34:58 446
原创 如何在两个activity中传数据
首先定义一个自定义类。注意红色部分。public class MyClass implements Serializable{private int number;private int max;private int min;private ArrayList<String> url;public void SetNumber(int number){ this.number...
2010-07-22 11:51:07 132
原创 google map 的移植过程
一、相关文件及所在目录:/system/app/Maps.apk/system/etc/permissions/com.google.android.gtalkservice.xml/system/etc/permissions/com.google.android.maps.xml/system/framework/com.google.android.gtalkservic...
2010-07-22 11:11:11 92
原创 Why would a static inner interface be used in Java?
Q:I have just found a static inner interface in our code-base. class Foo { public static interface Bar { /* snip */ } /* snip */}复制代码I have never seen this b...
2010-07-22 11:01:30 117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人