- 博客(43)
- 收藏
- 关注
原创 Android传感器编程入门
本讲内容:Android传感器编程入门,分别包括加速度传感器(accelerometer),陀螺仪(gyroscope),环境光照传感器(light),磁力传感器(magnetic field),方向传感器(orientation),压力传感器(pressure),距离传感器(proximity)和温度传感器(temperature) 一、前言我很喜欢电脑,可是笔记本还是太大,笔记...
2011-10-12 12:24:42
185
原创 用单片机点亮一个LED灯
今天用了下Porteus,发现用这个模拟单片机电路和程序实在是太方便了。下面是电路图。 控制代码 #include<iom16v.h>#include<macros.h>#define uint unsigned intvoid delay(uint ms) { uint i,j; for(i=0;i<m...
2011-10-09 20:03:11
850
原创 从一个字节数组里面读4个字节并转换为整型数字
int syn = 0;byte[] data = new byte[4];data[0] = 0;data[1] = 0;data[2] = 0;data[3] = 15;int a1 = data[0];int a2 = data[1];int a3 = data[2];int a4 = data[3];a1 = a1 << 2...
2011-09-30 10:39:08
3540
原创 java nio demo
server public class Receive { public static void main(String[] args) throws Exception { CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder(); ByteBuffer buffer = ByteBuffe...
2011-09-27 10:16:57
124
原创 单片机拾遗
很久之前研究过点单片机的知识,我估计很多人一听到单片机,硬件开发就会觉得头皮发麻,认为会很复杂。 其实,单片机比java开发神马的简单多了,不然怎么会叫单片机呢。 一般来说,单片机的功能就是端口控制功能。一般会有几组输入输出控制端口。 A,B,C,D,每一组有八个端口,可以设置为输入或者是输出。 比如说AVR单片机就用DDRx(A~B)来表示控制位,来控制端口的方向...
2011-09-26 23:06:00
234
原创 h264解码接口的调用
前段时间需要用到在android里面软解码h264视频,就到网上找了些fmmepg的移植代码,可是虽然接口给我了,但是还是不会用。记录下研究新得把,太无聊了。 在h264里面,分为VCL层和NAL层。VCL为实际的h264实现,所有视频文件格式存储,具体的编解码工作都在这一层。 NAL层,我理解的是传输层,不管是在本地播放还是在网络播放的传输,都要通过这一层来传输。h264的文件被...
2011-09-22 14:49:38
425
原创 android 存储一些app配置信息
private void initDB() { SharedPreferences perferences = PreferenceManager .getDefaultSharedPreferences(this); if (!perferences.contains("database")) { Log.v(TAG, "init database.");...
2011-09-15 23:48:47
443
原创 内存映射文件性能对比测试
今天对比了一下内存映射文件的性能和普通文件的测试,不比不知道,一比吓一跳啊。差距太大了。 public class FileTest { static int length = 0x8000000; // 128 Mb public void doMemTest() { try { long start = System.currentTimeMilli...
2011-09-15 10:58:28
956
2
原创 实现http续传下载的方式
public void download() throws Exception { URL url = new URL("http://localhost/down.zip"); HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection(); httpConnection.setRequ...
2011-09-14 15:22:41
149
原创 一个排序单向循环链表
写道public class RecurringQueue { private Node head; private Node tail; private Node cursor; public void add(Node node) { if (head == null) { head = node; tail = node; head.setNext(tail); ...
2011-09-14 15:12:33
325
原创 Android UI设计技巧
1.使用include标签实现包含共享UI设计(1)创建新的布局文件 title_layout.xml,里面包含共享内容的布局(2)layout属性:其对应抽取出来的共享的布局内容<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation...
2011-09-09 09:36:23
95
原创 JAXB小例子
package jaxb.test;import javax.xml.bind.annotation.XmlAccessType;import javax.xml.bind.annotation.XmlAccessorType;import javax.xml.bind.annotation.XmlAttribute;import javax.xml.bind.annot...
2011-05-11 15:52:32
91
原创 JNI中jstring 和char* 之间的转换方法
最近在学习NDK下的opengl es2.0开发,看过很多demos都是直接用一串字符串把shader代码写死的。并没有用一个单独的shader脚本语言文件。glShaderSource()这个方法需要的shader脚本也是通过一个char** 传入的。 而且在NDK下面也没看到有什么方式可以直接调用android工程里面的res资源文件。(目前是没发现才刚开始学) 所以我就想把s...
2011-04-11 16:19:37
1135
原创 windows下的Android-ndk-r5b 环境搭建
由于Android系统是搭建在Linux之上的,所以想调用jni的话必须把c++动态链接库编译为so。 第一步,windows下的linux环境准备,先装一个cygwin。 安装步骤我就不多说了,网上有很多参考例子。这里我给大家介绍个国内比较快的镜像地址: http://mirrors.sohu.com/cygwin/ 安装cygwin需要很久,这个镜像地址我是花了...
2011-04-10 18:36:06
209
原创 Oracle SQL优化
尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。不用NOT IN操作符,可以用NOT EXISTS或者外连接+替代。Oracle在执行IN子查询时,首先执行子查询,将查询结果放入临时表再执行主查询。而EXIST则是首先检查主查询,然后运行子查询直到找到第一个匹配项。NOT EXISTS比NOT IN效率稍高。但具体在选择IN或EXIST操作时,要根据主子表数据...
2010-06-07 11:20:50
114
什么是图像的深度,通道信息
图像的深度: 图片是由一个个像素点构成的,所有不同颜色的像素点构成了一副完整的图像,计算机存储图片是以二进制来进行的。1 bit : 用一位来存储,那么这个像素点的取值范围就是0或者1,那么我们看来这幅图片要么是黑色要么是白色。4 bit : 取值范围为 0 到 2 的4次方8 bit : 来存储像素点的取值范围为 0 到 2 的8次方 以此类推,我们把计算机存储单个像素点...
2009-10-21 10:16:01
1624
原创 什么叫灰度图
任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:1.浮点算法:Gray=R*0.3+G*0.59+B*0.112.整数方法:Gray=(R*30+G*59+B*11)/1003.移位方法:Gray =(R*28+G*151+B*77)>>8; 4.平均值法:Gray=(R+G+B)/3;5.仅取绿色:Gray=...
2009-10-19 10:56:01
362
CodeGenerator
/** * Returns reference to ICompilationUnit object within the given project name and java file name. * * @param projectName * Name of project created in Eclipse wo...
2009-08-13 23:35:15
137
第二章 用隐喻来更充分的理解软件开发
1. 隐喻的重要性 重要的科学研究成果往往来自于类比,光的波动性最早是研究声音跟光之间的相似性得出来的结论,光和声音都有振幅(亮度,响度),频率(色彩,音调)和其他一些共有的属性。我们在对系统建模的时候也是靠一些已有的模型来对一些未知领域的类比,分析共性来理清对新系统的理解。 2. 常见的软件隐喻 写作型 就好比我们写一封信一样,从头到尾一直写下去,发现不满意...
2009-08-11 22:22:44
114
第一章 欢迎进入软件构建的世界
软件构建是一个非常复杂的过程,过去25年以来人们总结出了如下几个清晰的构建过程:1. Concept阶段 这个阶段用来定义问题,即当前系统存在什么样的问题,开发软件要解决一个什么样的问题。2. Requirement阶段 这个阶段用来收集需求,详细定义软件的各个功能。系统的业务流程,规则。3. 架构阶段 这个阶段用来定义软件的结构,软件各个组成部分之...
2009-08-11 21:22:09
126
oracle 查询锁SQL
SELECT a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_textFROM v$session a,v$sqltext cWHERE a.sid = 139and a.sql_address=c.address(+)ORDER BY c.pie...
2009-07-23 15:55:42
176
原创 Java hashCode
有许多人学了很长时间的Java,但一直不明白hashCode方法的作用,我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可...
2008-08-20 17:48:18
83
原创 计算三角形网格的tangent space
又一篇学习笔记,参考Mathematics for 3D Game Programming and Computer Graphics和ShaderX4上一篇关于tangent space计算的文章写的东西。对于计算时需要分裂顶点的内容看的还不是太清楚-_-b。另外,目前的算法还不能完美处理镜像或者在纹理不连续处可能出现的问题,就算在Farcry中,很多问题也是通过美工来“隐藏”的,...
2008-07-11 12:28:53
429
原创 Bump Mapping概述
Bump Mapping概述 1. 概述 无论是程序员还是美工人员,几乎每个游戏开发者都知道一些3D图形学的知识,因此每个人都或多或少了解一点bump mapping。Bump mapping是在像素级别扰动物体表面法向量的一种光照技术,它一般采用纹理映射作为输入表示扰动的大小。在光照计算时考虑到扰动的法向量,不需要增加额外的几何信息就可以增强被渲染物体的表面细节。 Bu...
2008-07-10 22:26:25
489
关于色彩的几个概念
饱和度(纯度)Saturation – 彩色强度的浓度。 饱和度为零是白色,而最大饱和度可能是最深的颜色。饱和度是指色彩的鲜艳程度,也称色彩的纯度。饱和度取决于该色中含色成分和消色成分 ( 灰色 ) 的比例。含色成分越大,饱和度越大;消色成分越大,饱和度越小。 对比度 – 一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量, 差异范围越大代表对比越大,差异范围越小...
2008-05-24 13:34:47
287
各种光照计算的原理
这个教程用到了向量数学知识,如果你对向量数学还不是很了解,请先阅读向量教程:read the tutorial。光照与物体表面的相互作用可以通过将一些数学公式应用于基于per pixel(区别于基于顶点)的着色,从而模拟出真实生活中的各种材质效果。比如浮雕效果,波浪效果,油漆效果等。在这个教程中,我们有如下假定:第一,我们讨论的是基于像素着色(per-pixel basis),每个pixel...
2008-05-06 13:30:55
735
HTTP 1.1
应用和技术的发展总是带来新的需求,从而推动新技术的发展。HTTP 1.1 与 1.0 规范有一个很大的不同:1.0 规范下服务器在处理完每个 Get/Post 请求后会关闭套接口连接; 而 1.1 规范下服务器会保持这个连接,在处理两个请求的间隔时间里,这个连接处于空闲状态。 Java 1.4 引入了支持异步 IO 的 java.nio 包。当连接处于空闲时,为这个连接分配的线程资源会返还到线程池...
2008-05-05 11:42:58
159
置换贴图
displacement mapping。我习惯叫这个东西置换贴图,但是今天看到有人翻译成位移映射,似乎更准确。翻译一篇介绍,原文来自维基百科。位移映射是同凹凸贴图,法线贴图,切线贴图相区别的另一种制造凹凸细节的技术,它使用一个高度贴图制造出几何物体表面上点的位置被替换到另一位置的效果。这种效果通常是让点的位置沿面法线移动一个贴图中定义的距离。它使得贴图具备了表现细节和深度的能力,且可以同时允许自...
2008-05-04 00:22:07
1006
2
光线跟踪
在我们的场景中,有一个点光源L,两个透明的物体Q1与Q2,一个不透明的物体Q3。首先,从视点出发经过一个像素点的视线E传播到达球体Q1,与其交点为P1.从P1向光源L作一条阴影测试线S1,发现其间没有遮挡的物体,那么就用局部光照模型计算光源对P1在其视线E的方向上的光强,作为该点的局部光强。同时还要跟踪该点处反射光线R1和折射光线T1,他们也对P1点的光强也有贡献。在反射光线R1方向...
2008-04-25 22:21:10
186
Shadow Map
有光则有影,即时渲染的阴影可以使场景看上去更加真实。算法描述: ShadowMap是一种基于阴影图的阴影生成方法,阴影图是一张2D贴图。阴影图中的每个像素都记录了从光源到遮挡物(遮挡物就是阴影生成物体)的每个“可见”像素的距离。这里的“可见”像素是指,以光源为观察点,光的方向为观察方向,设置观察矩阵并渲染所有遮挡物,最终出现在渲染表面上的像素。使用ShadowMap渲染阴影主要分两个过程:生成...
2008-04-18 14:58:11
140
光照计算
首先我们将要了解如下问题1. 学习Direct3D支持的光照资源, 以及它们照射出的灯光类型2. 弄懂怎样定义灯光去影响其照射的表面3. 找出怎样算出描述三角形的方向以便我们能够确定光线照射到三角形的角度我们在这里将融合《3D游戏编程大师技巧》和《Direct3D》的部分内容。即, 将它们一一映射。颜色模型和材质 物体的材质决定了它将如何于光线交互, 材质用来描述物体被光线照射后将对光线产...
2008-04-14 15:31:33
1144
HLSL normal map code
一般来说normalMap都是从高模获得,用来使低模渲染获得更好的颜色效果帖上一段凹凸贴图的hlsl,不一定要用shader实现,看懂原理就行了struct VS_INPUT{ float4 position : POSITION; float3 normal : NORMAL; float3 tangent : TANGENT; float2 texcoord0 : TEXCOORD...
2008-04-14 11:22:23
244
凹凸贴图
什么是法线贴图技术呢?这是一种用来实现3D效果的一种技术,要想理解这种技术还请您听我慢慢道来。 我们知道,在游戏中经常会有这样的情况,就是一个平面——这个平面在现实中并不是一个“平”面,例如砖墙的表面带有石质浮雕等等。这样的情况如果要求游戏开发人员将复杂的3D细节都做出来是不现实的,因为即使不计较在建模时候的复杂度,过多的3D细节也同样会大量消耗显示芯片的性能,让游戏根本没有可玩性...
2008-04-14 11:13:47
262
一个java 线程互斥体
java 代码 package test; public final class Mutex { private long locks; private Thread owner; public synchronized void lock() { ...
2007-11-22 10:56:17
254
简单的Hessian demo
接到通知会在公司闲置一个月,真是开心啊!终于有时间研究研究新东西给自己充充电了~,hessian是我接触过的最为简单的远程调用框架,听各位大大说效率也还不错,好处也一大堆。俺就不说废话了~先写一个接口,将来要给客户端调用的java 代码 package hessian.service; /** * * @autho...
2007-11-13 16:35:08
196
DES 加密
java 代码 public class CryptoUtils { private static final String KEY = "12345678123456781234567811111111"; public static String encrypt(String strData...
2007-09-20 14:59:00
80
Hiberante Interceptor
java 代码 public class CryptoInterceptor extends EmptyInterceptor { public boolean onLoad(Object entity, Serializable id, Object[] state, String[] propertyNam...
2007-09-20 14:16:24
98
Hibernate Criteria Queries
条件查询(Criteria Queries)具有一个直观的、可扩展的条件查询API是Hibernate的特色。 1. 创建一个Criteria 实例org.hibernate.Criteria接口表示特定持久类的一个查询。Session是 Criteria实例的工厂。Criteria crit = sess.createCriteria(Cat.class);crit.setMaxR...
2007-08-22 10:14:05
111
一段同步接收和发送MQ消息的代码
java 代码 package com.sdb.payment.core.mq; import org.apache.log4j.Logger; import com.ibm.mq.MQC; import com.ibm.mq.MQEnvironment; import com.ibm.mq.MQEx...
2007-08-13 16:03:55
442
一段操作LDAP的java代码
java 代码 public class LdapService { private Logger logger = Logger.getLogger(LdapService.class); private Properties env; private DirContext ctx; ...
2007-08-13 15:51:19
116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人