前戏
也许你会奇怪,既然AS提供了Socket实现,为什么还要用ANE来实现Socket连接?
在 在ANE插件中启动AIR开发的Android应用 一文的最后,我提到了一个应用案例,我现在将这个案例明确的说明一下。
对于游戏开发者来说,我们希望能推送给用户一些消息。如果使用常规的手段,只能在用户打开游戏的时候,才能和服务器通信,收到这些消息。
如果用户几天不上线,那么可能会错过这些消息,导致游戏中的公告、奖励不能及时到达。
要解决这个问题,我们可以在Android系统中注册一个Service。这个Service长期保持与服务器的连接,或者隔段时间连接一次服务器,收到消息后马上推送给用户。 …
阅读更多原因很简单——选择的 API Level 不对。
java.util.Arrays.copyOf方法:- 对于 JAVA 来说,是从 JAVA 1.6 版本开始加入的;
- 对于 Android 来说,是从 API Level 9 才开始有的。
如果基于Android 2.2(API Level 8)开发,当然就没有copyOf方法。
阅读更多在Android原生应用开发中,启动一个应用非常容易:
1Intent __intent = new Intent(this, YourAppActivity.class); 2startActivity(__intent);但在ANE插件开发中,要启动AIR开发的Android应用,就不那么容易了。
因为我并不知道AIR应用的Activicy类名是什么,无法设置Indent。
ANE包含在AIR应用中,我或许可以在ANE中得到AIR应用的Activity类名,但我尝试了下面的方法,不顶用:
阅读更多由于AIR的File API在Android上设备上的限制,我在 ANEToolkit 的 Storage 工具中,提供了 readFile 和 writeFile 方法。这两个方法提供将 ByteArray 作为文件写入 Android 设备,或者从 Android 设备中读取一个文件,并作为 ByteArray 返回。
本来挺简单的一个功能,可调试来调试去总是报错。插件的调试并不那么容易,必须不断的打包插件、打包APK,测试APK。而且这样的功能只能在手机上调试才行。
弄了几个小时,把注意事项总结如下:
- 在将JAVA的byte[]数组写入FREByteArray对象之前,需要先设定 …
只要安装了JDK或者JRE,就可以在cygwin中直接使用JAVA命令。但最大的问题,是在于windows下的JAVA需要Windows格式的路径,而cygwin默认提供给JAVA的路径,JAVA是无法识别的。
例如有一个JAVA程序encrypt.jar,正确的方式应该这样调用:
阅读更多
在JAVA中将透明的图像转换成JPEG格式
在JAVA中将图像文件转换成JPEG,通常使用下面的代码:
阅读更多1File __pngFile = new File("exportUnit.png"); 2File __jpgFile = new File("exportUnit.jpg"); 3writeJPEG(__pngFile, __jpgFile, 80); 4 5public static void writeJPEG(File $source, File $dest, int $quality) throws IOException 6{ 7 String __formatName …在Sprite Sheep Editor中,使用了这样的一个小技术(思路来自这里):将透明图像的Alpha通道转换成黑白(灰度)图像,然后与正常图像拼合成一张大图,再存储成JPEG格式。
这方法其实是一个折衷方案。因为JPEG格式是不支持透明的,很多时候为了获得透明效果,我们只能使用PNG格式。但PNG是无损压缩的,在图像尺寸上没有优势。如果将Alpha通道转换成黑白图并保存到JPEG图像中,就能大幅降低最终的图像文件大小。
在我的测试中,一个2000x3300的32位带Alpha通道的PNG图像文件大小为2MB,转换为4000x3300(因为拼合了黑白图片,宽度增加一倍)70%压缩比的JPEG后,文件大小为1.1MB。
当然,转换 …
阅读更多转自:http://caihx.javaeye.com/blog/605143
套接字基础
1. 介绍
多数程序员,不管他们是否使用 Java语言进行编码,都不想知道很多关于不同计算机上的应用程序彼此间如何通信的低级细节。程序员们希望处理更容易理解的更高级抽象。Java程序员希望能用他们熟悉的 Java 构造,通过直观接口与对象交互。
套接字在两个领域中都存在 ―我们宁愿避开的低级细节和我们更愿处理的抽象层。本教程讨论的低级细节将只限于理解抽象应用程序所必须的部分。
阅读更多