- 浏览: 48019 次
- 性别:
- 来自: 西安
最新评论
-
nanapoleon:
test_angel 写道test_angel 写道 我在编译 ...
本地方法调用1 -
test_angel:
test_angel 写道 我在编译so库的时候报以下错误:指 ...
本地方法调用1 -
test_angel:
我在编译so库的时候报以下错误:指点指点error: exp ...
本地方法调用1 -
nanapoleon:
现在网上满天飞的各类关于Android图像渲染的水文实在让我不 ...
How about some Android graphics true facts?--转
文章列表
使用maven来部署websocket(JSR356)的时候,由于理解不清晰,碰到了很久404找不到的问题。
现在总结一下,因为是新规范,所以要求较新的jdk7以及tomcat7.0.47以上,但我碰到了更多的麻烦,基本有两点:
1、先使用tomcat-7.0.55的版本自带例子(examples),都无法使用websocket接口,经排查,由于本机装了两个版本的jdk,虽然java命令是1.7版本(默认使用system32中的java),但是JAVA_HOME却是1.6的版本。所以,将JAVA_HOME改为1.7版本jdk,tomcat的例子就可以跑通了。
2、确定了tomcat的支持,但自己 ...
看见以前写的文章,都是4月份了。。呵呵,最近终于有时间,重新来搞搞opengl。不出意料,不一会就碰见拦路虎---多边形锯齿。
查遍谷歌和度娘,stackoverflow也看了不少,竟然没有现成方案解决opengl的多边形锯齿问题!
最后终于在各种补充基础后,找到了解决方案,要是省了你很多时间,请给32个赞。
代码很简单:
mGLView = new GLSurfaceView(this);
mGLView.setEGLConfigChooser(new EGLConfigChooser() {
@Override
public ...
最近试写了一些opengl的程序,发现的一些小问题,准备记录下来,如果日后理解了在回头看看,应该也算见证了一些成长。
首先交代下上下文。其实我们知道color着色,可以分为直接使用颜色glColor4f();也可以使用顶点数组来着色glColorPointer();来着色。但是,如果启动了这个属性:gl.glEnable(GL10.GL_TEXTURE_2D);就会使的颜色的命令失效。所以,如果前面enable了,在画之前要先将此属性disable掉,在进行颜色的涂画。 所以,这也延伸出一个问题,纹理就和颜色没有共同存在机会了,也就是说颜色永远不会影响纹理。但是,我感觉应该不是这样的,是不是对混 ...
在Object类中定义的几个hashCode约定如下:
1. 在同一应用中,一个对象的hashCode函数在equals函数没有更改的情况下,无论调用多少次,它都必须返回同一个整数。
2. 两个对象如果调用equals函数是相等的话,那么调用hashCode函数一定会返回相同的整数。
3. 两个对象如果调用equals函数是不相等的话,那么调用hashCode函数不要求一定返回不同的整数。
我们在改写equals 和 hashCode 函数的时候,一定要遵守如上3条约定,在改写equals的同时也改写hashCode的实现,这样才能保证得到正确的结果。
看来以前真没注意,equals了 ...
Notice the black pixels along the borders. The ones on the top and left borders indicate the places where the image can be stretched, and the ones on the right and bottom borders indicate where the content should be placed.
// Get the source image's dimensions
BitmapFactory.Options options = ...
早都说过要在系统层看看写写了,不过以前真的没搞过这方面的东西,实在是不知道怎么搞。和java一提笔就知道要写什么差了很多。所以,似乎前两周都是看了看书,找找感觉,根本不清楚有什么可以写出来的。好吧,其实,我现在也是不知道写什么,还是没有入门啊,魂淡。
先来点简单的吧,然后由浅入深。这次写的都是些简单的概念,懂行的童鞋请直接忽视,谢谢。
系统编程,位于低层,它直接和内核以及核心系统链接库(core system library)交互。系统软件包括你的shell、编译器和调试器、核心实用程序(core utility)、文本编辑器以及系统守护进程(sy ...
序列化介绍到后面,必然会开始解释其中的存储机制。这里面我想也没什么好讲的,无非是定义一种数据格式,然后按照这个格式存取罢了。
比如,字符串对象Harry会被存为 74 00 05 Harry (00 05是长度,74我想应该是L java/lang/String的简写吧,猜的。和后面的Harry Hacker对应的起来)
类标示符,则以72开头,比如下面的Employee类的完整类描述符:
72 00 08 Employee
E6 D2 86 7D AE AC 18 18 02 (一个唯一标示符,SHA的前8字节)
00 03 (对象个数)
D 00 06 salary(do ...
序列化起初看样子,我以为紧紧是记录和还原对象的值而已,如A.x=10,B.y=20。
不过,其实很多情况确实没有想过,例如下面的例子:
Employee harry = new Employee("Harry Hacker", 50000, 1989, 10, 1);
Manager carl = new Manager("Carl Cracker&q ...
这周是个开始,给家里的笔记本装了环境(现在都用java7了啊,看来是有一阵子没装过环境了。我的印象还都是java6呢),虚拟机的ubuntu也装ok,下周准备checkout下android源码,不过现在都4.1了,又感觉落后太多了,因为3.0以后的就没有好好研究过了,it这行真是活到老学到老,算是上了贼船了。希望能把学习养成一种习惯,怎么就这么难~~但是,如果不这样,很快就会被淘汰了啊魂淡!
虽然环境用不了多长时间搭,但是,还是用掉了我本就不多的业余生活。不过,每周都要有长进,是我长期以来希望能一直坚持下去的习惯。所以,讲讲以前编程时比较陌生的序列化吧。
当你需要存储相同 ...
奥运男篮太精彩了,呵呵,这周更新点比较水的吧,最近工作真的好忙,没有办法写些经典的了。
在开发中,2.3以前的动画架构,已经非常慢了。因为,一个没有硬件加速,一个是做动画每次都要重绘所有的绘画动作。在3.0以后 ...
这周不但周内忙,周日帮礼泉的同学结婚,两天也一晃过去了。值得一提的是,我竟然一天中两顿吃出苍蝇来!让我情何以堪。T.T
随便写点什么吧。解析byte为String,以前也搞过,用的都是String的一些方法,看了书,发现一些更标准的,和大家分享一下。
其实很多方法可以解析,散布在Java类库的各处。但是,在java se1.4中,引入了java.nio包中Charset类统一了对字符集的转换。
字符集建立了量自己Unicode码元序列与使用本地字符编码方式的字节序列之间的映射。ISO-8859-1是最流行的字符编码方式之一(java源码也能找到这样的编码方式,我的 ...
为什么用问号?因为有点不知道写什么了。。。这周真的很忙,没有太多的时间来学习,就吃吃老本吧。
首先,先谈谈android自己的动画机制。
我们知道,继承Animation需要实现一个方法,applyTransformation (interpolatedT ...
不知不觉都到了第7章了,我都不好意思再讲下去了,这么个东西介绍了7章。。。这章讲完后该去实践实践了,恩。。。
Java编程语言中,使用本地方法对于程序来说是要冒很大的安全风险的。C的运行期,系统对数组越界错误,不良指针造成的间接错误不提供任何防护。所以,对于本地方法的程序员来说,处理所有的出错条件以保持Java平台的完整性显得格外重要。处理所有的出错条件以保证Java平台的完整性显得格外重要。尤其是,当你的本地方法诊断出一个它无法解决的问题时,那么它应该将此问题报告给Java虚拟机。然后,在这种情况下,很自然地会抛出一个异常。然而,C语言没有异常,必须调用Throw或ThrowNew函数来创建一 ...
jni如何访问数组?
jarray array - ...;
jsize length = (*env)->GetArrayLength(env, array);
int i, j;
jobject x = (*env)->GetObjectArrayElement(env, array, i);
(*env)->SetObjectArrayElement(env, array, j, x);
上面方法看上去很简单,但效率明显较低,你可能想要直接访问数组元素,特别是在进行向量或矩阵计算时更加明显。
我们可以使用GetXxxArrayElements函数返回一个纸箱数组起 ...
上面调下面的方法,下面访问上面的变量,还有编码签名,还差什么?好吧,还差下面掉java层的方法嘛。
由于前面我们讲了酷似反射的变量访问,我们这章就加快速度,多讲一些,减少废话。那个,今天看了“杀生”,这类片子还真是看不懂啊~^_^
不开玩笑了,这个杀生啊,不是不是,那个访问java方法啊,我们直接上代码了,和访问field几乎差不多:
(*env)->CallXXXMethod(env, obj, method_id, args)
jmethodID GetMethodID(JNI *env, jclass cl, const char name[], c ...