自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (5)
  • 收藏
  • 关注

原创 linux 64位系统下安装flash player插件

对像我这样用惯了xp而为了生活不得不工作在ubuntu11.04 64位系统下面的程序猿们来说,总是因为不熟悉系统而遇到诸多不便。工作过劳想要忙里偷闲,看看湖人的比赛,打开直播网页去露给我一副如下黑框:按照他的指示猛点,总是得到一个不了了之的结果。心有不甘,于是找插件,找安装方法,现记录下来以备后需:1)下载64位flashplayer插件,可在此下载(偷偷赚俩金币,为省金币也可到官网

2013-12-11 16:01:53 4303

原创 MT6572平台加入呼吸灯功能——编写APP Demo

package com.along.breathleds;import android.app.Activity;import android.os.Bundle;import android.os.RemoteException;import android.os.ServiceManager;import android.widget.SeekBar;import android

2013-11-11 17:40:26 2590

原创 MT6572平台加入呼吸灯功能——编写Framework层接口

在Android中,硬件服务一般运行在一个独立进程中为各种应用程序提供服务(也有特别的,如上一篇开头我们说的上层应用也可以单独写自己的JNI层代码,那样书写比较简单,但是只能为该应用提供服务),因此,APP与这些硬件服务之间的通信需要通过代理来实现。一)添加AIDL接口文件    进入frameworks/base/core/java/android/os/目录,新增IBreathLeds

2013-11-11 17:09:57 3437

原创 MT6572平台加入呼吸灯功能——编写JNI

只完成驱动层和HAL层的开发,还不足以让上层APP访问到我们的硬件设备,还必须编写JNI方法做好C/C++和Java代码的衔接。这里进行的JNI层开发以及下一篇将要讲述的Framework层API接口的开发是严格按照android推荐的框架格式来进行的。上层应用也可以单独写自己的JNI层代码来访问硬件设备。一)编写调用HAL模块的Service文件com_android_server_Brea

2013-11-11 16:31:54 2180

原创 MT6572平台加入呼吸灯功能——编写HAL模块

HAL即硬件抽象层,是Google为满足那些不想开源的Linux驱动开发者的要求在Android系统加入的一个层次结构。HAL的源代码存储位置并不固定,一般会存储在hardware/libhardware/目录中,最终编译生成的.so文件主要放在system/lib/hw目录。下面为详细添加方法:一)编写hw_breath_leds.h头文件    进入hardware/libhardwa

2013-11-11 15:24:21 4134

原创 MT6572平台加入呼吸灯功能——编写linux驱动

一)编写驱动核心源代码。    即编写linux驱动程序,运行于内核空间的代码。这部分基本上和android没什么关系,完全按照linux驱动编程格式来的。包含一个*.c,一个*.h(可有可无),一个Kconfig。一个Makefile。    进入kernel/drivers/目录,新建breath_leds目录,进入该目录,新建breath_leds.c:#include #

2013-11-11 13:00:17 6255 2

原创 MT6572平台加入呼吸灯功能——控制芯片简介

简介:这里我们使用了一片SN3112来控制led灯的亮灭,SN3112是一片12路led控制芯片。每路单独256级亮度可控,CPU通过I2C接口对其进行编程控制。通过将SDB脚拉低或者软件设置可关断芯片,进入低功耗模式。    SN3112寄存器功能列表: 地址名称功能默认值00h关断寄存器软件关断SN3112(0x00为关断,0x01为打开

2013-11-11 11:18:30 4268

原创 编译Android模拟器内核goldfish

上一篇讲述了怎么下载android内核,这篇以编译google为android模拟器提供的内核goldfish为例,记录下我的编译过程。一、下载交叉编译器    新建一个目录android_tools用于存放交叉编译器,然后cd到该目录下,执行如下指令:               git clone https://android.googlesource.com/platform/

2013-06-08 15:51:43 5870

原创 ubuntu12.04下下载android内核源码

环境:VMWare虚拟机+ubuntu12.04    下载前的动作就不说了,无非是安装git、repo之类,具体看官网http://source.android.com/source/downloading.html。    注意:虚拟机网络须配置成NAT类型,如下图,host-only类型没试过,刚开始使用桥接类型(Bridged)时,下载一点点就卡死在那,打死都不动了。

2013-06-07 18:55:34 1772 6

原创 编写Linux驱动八步骤

一、建立Linux驱动框架(装载、卸载Linux驱动)    Linux内核在使用驱动时首先要装载驱动,在装载过程中进行一些初始化动作(建立设备文件、分配内存等),在驱动程序中需提供相应函数来处理驱动初始化工作,该函数须使用module_init宏指定;Linux系统在退出是需卸载Linux驱动,卸载过程中进行一些退出工作(删除设备文件、释放内存等),在驱动程序中需提供相应函数来处理退出工作,

2013-06-07 10:47:16 2840

原创 android下PreferenceScreen 加载流程

前面引入主题的废话不多说,也不会说,Preference的加载过程我们就从addPreferencesFromResource()方法开始研究。    addPreferencesFromResource()方法在PreferenceActivity类和PreferenceFragment类(Android3.0以后才有)中都有实现,两个中内容是差不多的(只是PreferenceActivit

2013-05-31 18:09:03 10183 1

原创 动画旋转示例代码

class MyAnimation extends Animation {private int centerX, centerY;private Camera camera = new Camera();@Overrideprotected void applyTransformation(float interpolatedTime,Transformation t)

2013-03-22 19:11:38 775

原创 android4.1上去除SwitchPreference中Switch控件与Preference的绑定响应

SwitchPreference是android4.0新加的一个控件,类似于CheckBoxPreference,继承自TwoStatePreference类,顾名思义,有两种状态,并含有一个Switch控件。    当我们直接调用SwitchPreference控件时,会发现无论我们点击SwitchPreference控件的任何区域,Switch状态都会改变。所以,当我们想要一种效果:只是点

2013-01-11 15:27:04 17214 5

转载 Android Bitmap和Canvas学习笔记

位图是我们开发中最常用的资源,毕竟一个漂亮的界面对用户是最有吸引力的。1. 从资源中获取位图可以使用BitmapDrawable或者BitmapFactory来获取资源中的位图。当然,首先需要获取资源:Resources res=getResources();复制代码使用BitmapDrawable获取位图  1.      使用

2012-11-01 16:15:13 899

翻译 API: com.graphics.Camera

综述一个Camera对象可以用来计算3D转换,并生成一个矩阵模型(matrix)应用于Canvas等对象。摘要构造器Camera()创建一个新的camera对象,不包含任何初始转换公共方法voidapplyToCanvas(Canvas canvas)计算出与当前转换过程相一致的matr

2012-10-23 17:21:54 1009

转载 onAttachedToWindow () 和 onDetachedFromWindow () ; 以及更新视图的函数ondraw() 和dispatchdraw()的区别

protected void onAttachedToWindow() This is called when the view is attached to a window. At this point it has a Surface and will    start drawing. Note that this function is guaranteed to be ca

2012-10-16 19:00:28 6468

原创 android属性收集

1,android:ellipsize     TextView内容过长时的处理方式:             android:ellipsize="start"                 android:ellipsize="end"                 android:ellipsize="middle"                 android:e

2012-10-16 09:52:50 2483

原创 java中utf-8编码的byte数组转换成String类型代码

private String utfToString(byte[] data) {    String str = null;    try {           str = new String(data, "utf-8");    } catch (UnsupportedEncodingException e) {    }       return str; }

2012-09-28 17:23:53 23998 1

原创 linux历程--管道通信

1)管道概念   管道是单向的,先进先出的(FIFO),它把一个进程的输出和另一个进程的输入连接在一起。一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道头部读出数据。2)管道创建   管道包括无名管道和有名管道两种,前者用于父进程和子进程间的通信,后者可用于运行于同一系统中任意两个进程间的通信。   无名管道由pipe()函数创建:       int p

2012-09-27 22:31:55 1261

原创 linux历程--进程通讯概述

1)进程间通讯目的   1,数据传输:一个进程需要将它的数据发送给另一个进程   2,资源共享:多个进程间共享同样的资源   3,通知事件:一个进程需要向另一个或一组进程发送消息,通知他们发生了某种事件               (如进程结束等)   4,进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制                进程希望能够拦截另

2012-09-27 22:29:56 741

原创 android中禁止GridView上下滑动的方法

1,定义一个类继承GridView,如下:public class SourcePanel extends GridView {        public SourcePanel(Context context) {              super(context);        }        public SourcePanel(Context contex

2012-09-21 15:23:36 13599

翻译 Android视图动画(View Animation)

你可以使用视图动画系统(View Animation)去处理渐变动画(tweened animation,也称补间动画)。补间动画常用根据一些动画信息(如起始点、终点、大小、旋转和其他一些常见的动画因素)计算动画。    补间动画可以在一个View对象上处理一系列简单的变换(位置,大小,旋转和透明度)。因此,如果你有一个TextView对象,你可以移动,旋转,伸缩其字体。如果它还包含一个背景图

2012-09-19 13:54:56 1483

翻译 Android图形动画概述

动画     android的framework提供了两种动画系统:属性动画(Property animation,在Android3.0以后才引入)和视图动画(View animation)。选择这两种动画系统都是可行的,但是一般情况下,理应优先选择属性动画,因为它更加灵活,并且提供了更多的特性。除了这两种动画系统,你同样可以利用图片动画(Drawable animation):装载图片资源

2012-09-15 15:48:48 967

原创 串口的打开与关闭的jni层代码

1,先上代码(jni层的serial_port.c):#include #include #include #include #include #include #include #include "android/log.h"static const char *TAG="serial_port";#define LOGI(fmt, args...) __

2012-09-14 11:58:16 2452

原创 随笔--android中修改SeekBar控件默认显示

布局文件中相关代码如下:            android:id="@+id/seekbar"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:minHeight="9dip"

2012-09-05 23:01:29 1910

原创 linux历程--进程控制编程

1)获取ID      #include      #include      //获取本进程ID      pid_t getpid(void)      //获取父进程ID      pid_t getppid(void)2)进程创建-fork      #include      pid_t fork(void)   功能:创建子进程。fork神奇

2012-09-04 23:04:06 574

原创 随笔--Java中字符串转换成byte型数据的方法

如题问题(如将String型数据“fe”转换成byte型数据0xfe等)。方法如下(因同事需要而网上找不到答案所以我临时写了一个,时间仓促,可能不够优化):     private byte getByteFromString(String str) {             byte retByte = 0;                 int len = str.leng

2012-09-03 18:52:56 1479

原创 linux历程--进程控制理论基础

1)定义:进程是一个具有一定独立功能的的程序的一次运行活动。2)特点:动态性、并发性、独立性、异步性3)进程经典三状态:就绪态、执行态、阻塞态。    进程创建后首先处于就绪态;    就绪态通过进程调度进入执行态;    执行态因为时间片完回到就绪态;    执行态通过I/O请求进入阻塞态(如访问串口时该串口正在读取数据);    阻塞态因为I/O完成

2012-08-31 23:38:39 628

原创 随笔--android上遇到的易忽视的区别

1)android:src 与 android:background 的区别:       今天在设置ImageView属性的时候看到src和background属性,以前就以为是一前一后两层图案的区别,总以为如果只要一层图案,src和background二选一即可,今天发觉不是这样的。android:layout_width和android:layout_height等属性是针对src图案的

2012-08-30 09:27:43 860

原创 linux历程--时间编程

1)时间类型     UTC:世界标准时间,即格林威治标准时间(GMT);     Calendar Time:日历时间,是用“从一个标准时间点(如:1970年1月1日0点)到此时经历的秒数”来表示的时间。2)时间获取    #include           // typedef long time_t          time_t time(time_t *

2012-08-26 12:11:30 641

原创 linux历程--文件编程(系统调用)

1)通常需要包含的头文件:     #include     #inclide     #include2)系统调用-创建    int creat(const char *filename, mode_t mode);   参数 filename:要创建的文件名(包含路径,缺省为当前路径)            mode:创建模式,常见创建模式:S_IRUSR

2012-08-26 12:05:37 617

原创 linux历程--Makefile工程管理

1)简介:make在执行时,需要一个名为Makefile的文件,Makefile文件描述了整过工程的编译,连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译;需要创建哪些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行行文件。2)规则:用于说明如何生成一个或多个目标文件。   规则格式:        target(目标):prerequisites(依赖)

2012-08-26 11:57:29 1015

翻译 随笔--为android模拟器配置图形加速器

警告:在SDK Tools Revicion 17版本中,模拟器的图像加速器性能只是测试阶段,在使用该特性时要警惕兼容性和错误发生。模拟器的图形加速器利用的是开发计算机上管理图形的硬件性能,特别是GPU(图形管理单元),从而使屏幕刷屏更快。为了使用图形加速器的性能,必须确保拥有如下版本的android开发工具:(1)Android SDK Tools, Revision 17 或者更高

2012-08-24 15:55:26 3704

原创 linux历程--GDB调试

1)GDB主要完成三方面功能:    启动被调试程序;    让被调试程序在指定位置停住;    当程序被停住时,可以检查程序状态(如变量值)。2)GDB命令:    启动GDB(两种方法):            gdb 调试程序名    (如: gdb helloword)            gdb                    file

2012-08-24 12:49:32 619

原创 linux历程--GCC程序编译

1)GCC编译器能将C、C++语言源程序、汇编语言编译、链接成可执行文件。2)GCC通过后缀名来区分输入文件的类别:   .c为后缀:C语言源代码文件   .a为后缀:由目标文件构成的库文件   .C,.cc或.cxx为后缀:C++源代码文件   .h为后缀:头文件   .i为后缀:已经预处理过的C源代码文件   .ii为后缀:已经预处理过的C++源代码文件

2012-08-24 12:46:39 500

原创 linux历程--shell脚本基本编程

1)shell脚本第一行必须是如下格式:      #!/bin/sh   符号#!用来指定该脚本文件的解析程序。上面就是使用/bin/sh来解析该脚本,   编辑好后,要执行该脚本,还必须有可执行属性:      chmod +x filename注:可在终端输入 cat  /etc/passwd 指令查看linux为各用户预设的shell解析器。如:   root:x:

2012-08-24 12:43:15 688

原创 随笔——USB的CRC算法

USB说明书中列举了两种生成多项式(generator polynomials)即除数多项式:一种是针对令牌包(tokens)的x5+x2+1,另一种是针对数据包的x16+x15+x2+1,由于余数要永远比除数小一阶的缘故,所以令牌(tokens)CRC是5bit组合,数据CRC是16bit组合。两种CRC计算方法一样,步骤如下:步骤一:创建被除数:D(x) = xdF(x) +

2012-08-15 10:21:53 5391 5

最新的MTK_on_line_FAQ_SW_ALPS

MTK_on_line_FAQ_SW_ALPS, mtk的宝典,亲们都懂的

2013-09-11

Android4.1.1原版Contacts代码

android4.1.1原生系统Contacts代码

2013-01-15

vmware7.1.4安装ubuntu10.04

非常详细的虚拟机下ubuntu的安装过程

2012-09-19

android下USB Host开发

android下USB Host开发的一些注意事项和开发步骤

2012-08-06

Oracle虚拟机与物理机共享文件

Oracle虚拟机与物理机共享文件的方法,在作者电脑上测试通过,不知道对大家有木有用。。

2012-07-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除