We are doing

1.手机软件研发查看
2.专注于J2ME J2EE SYMBIAN 软件开发

LWUIT 国内版本

J准备贡献 lwuit 的修正BUG 适合国内使用的UI接口
1.修正 TextFiled BUG

2.缩小代码量

3.去掉ResouceEditor 减少内存使用率

不过不知道提交给sun 公司 会不会有人鸟我,使用LWUIT 做了几个项目,把Lwuit得代码都读了和研究了一篇,并且发现了其中很多的BUG ,最主要就是代码太多了,在国内直接使用的可能性基本上没戏,一个JAR 包打下来就300K了,我们压缩了后只有100多K ,.

LWUIT 是我和孙 一起深入研究的第一个开源项目,我相信以后偶有更多,有兴趣的朋友可以一起来搞 !

Androi Widget 实现股票数据实时更新

widget股票分享
前些天无意间搜索android widget 看到了it168的关于android widget 设计大赛,然后自己去找了些关于ANDROID WIDGET 的设计资料,真是太少了,国内差不多就是三个版本,差不多没有撒区别,建立第一个DEMO真的有点麻烦,各位前辈别拍砖头呢,这里写些关于ANDROID widget的设计心得。
0906222233d4a3f932da1e587c

项目配置文件目录

项目中使用的关于读入 股票走势图的类
这个类从网络上读取图片的内容 然后返回一个BITMAP,下面有一个Image SCALE 方法,对BITMAP的大小进行处理。

1. package org.allove.widget;
2.

3. import java.io.BufferedInputStream;
4. import java.io.IOException;
5. import java.net.URL;
6. import java.net.URLConnection;
7.

8. import android.graphics.Bitmap;
9. import android.graphics.BitmapFactory;
10. import android.graphics.Matrix;
11. import android.util.Log;
12.

13. public class ImageDownload {
14.

15. public static Bitmap getRemoteImage(final String urlString) {
16. try {
17. URL aURL = new URL(urlString);
18. final URLConnection conn = aURL.openConnection();
19. conn.connect();
20. final BufferedInputStream bis = new BufferedInputStream(conn
21. .getInputStream());
22. final Bitmap bm = BitmapFactory.decodeStream(bis);
23. bis.close();
24.

25. return bm;
26. } catch (IOException e) {
27. Log.d(”DEBUGTAG”, “Oh an error…”);
28. }
29. return null;
30. }
31. public static Bitmap scaleBitmap(Bitmap bitmap){
32.
33.
34. int width = bitmap.getWidth();
35. int height = bitmap.getHeight();
36. int newWidth = 125;
37. int newHeight = 30;
38.
39. // calculate the scale - in this case = 0.4f
40. float scaleWidth = ((float) newWidth) / width;
41. float scaleHeight = ((float) newHeight) / height;
42.
43. // createa matrix for the manipulation
44. Matrix matrix = new Matrix();
45. // resize the bit map
46. matrix.postScale(scaleWidth, scaleHeight);
47. // rotate the Bitmap
48. matrix.postRotate(45);
49.

50. // recreate the new Bitmap
51. return Bitmap.createBitmap(bitmap, 0, 0,
52. width, height, matrix, true);
53. }
54. }

复制代码

WIDGET 中的 xml 配置文件的参数设置问题
xml参数与 代码中的一个AppWidgetProviderInfo中的内容是匹配的

AppwidgetProviderInfo

1. < ?xml version="1.0" encoding="utf-8"?>
2. 3. android:minWidth="240dp"
4. android:minHeight="300dp"
5. android:updatePeriodMillis="60000"
6. android:initialLayout="@layout/appwidget_provider"
7. android:configure="org.allove.widget.WidgetConfiger"
8. >
9.

复制代码
android:updatePeriodMillis=”60000″ 更新数据的时间
minwidth
minheight 配置界面

忙碌的生活—Android 屏幕取词

好久都没有时间写BLOG了,一个字忙。。最近BOSS 让做一个ANDROID 的词典软件,设计得跟金山词霸一样NB,金山词霸有的在手机软件里面也要有,我刚看到都晕了。这一个星期都在研究这个东东,android屏幕取词算法,真还有点小复杂,从一段话里面取出词来然后翻译,这个在PC 上面进行还是不错的。。

嘻嘻 总算搞定了。哎,怀念当学生的日子,做不出来直接给老师说,我搞不定 我需要学习,现在不会的时候,是先要给老板说我行,然后自己拼命去学习。。。

要是公司没要求我直接就把代码和实现算法贴出来分享给大家了,一起探讨和优化。。

再见了我的学生生活! 我还会回来的!

天空下的西电

LZW无损压缩算法的实现

LZW编码是围绕称为词典的转换表来完成的。

LZW编码器(软件编码器或硬件编码器)就是通过管理这个词典完成输入与输出之间的转换。LZW编码器的输入是字符流(Char stream),字符流可以是用8位ASCII字符组成的字符串,而输出是用n位(例如12位)表示的码字流(Code stream),码字代表单个字符或多个字符组成的字符串。LZW编码器使用了一种很实用的分析(parsing)算法,称为贪婪分析算法(greedy parsing algorithm)。在贪婪分析算法中,每一次分析都要串行地检查来自字符流(Char stream)的字符串,从中分解出已经识别的最长的字符串,也就是已经在词典中出现的最长的前缀(Prefix)。用已知的前缀(Prefix)加上下一个输入字符C也就是当前字符(Current character)作为该前缀的扩展字符,形成新的扩展字符串——前缀-字符串(String):Prefix+C。这个新的前缀-字符串(String)是否要加到词典中,还要看词典中是否存有和它相同的前缀-字符串String。如果有,那么这个前缀-字符串(String)就变成前缀(Prefix),继续输入新的字符,否则就把这个前缀-字符串(String)写到词典中生成一个新的前缀(Prefix),并分配给它一个代码。

LZW算法得到普遍采用,它的速度比使用LZ77算法的速度快,因为它不需要执行那么多的缀-符串比较操作。对LZW算法进一步的改进是增加可变的码字长度,以及在词典中删除老的缀-符串。在GIF图像格式、UNIX的压缩程序和用于调制解调器的V.42bis中已经采用LZW算法。

注:
LZW算法取得了专利,专利权的所有者是美国Unisys(优利系统公司),除了商业软件生产公司之外,可以免费使用LZW算法。
LZW算法有两个相关的美国专利(分属于IBM和Unisys),按照其专利保护时效数据,目前应该均已到期(在各国的最后到期时间约为2006年8月)。代码>>
[点击阅读全文]

android壁纸程序设计经验分享


天气在线 — 手机天气搜索

Allove天气搜索即将推出Allove 天气全搜索手机软件,提供全世界天气预报。天气在线,商机在线。敬请期待

Android模拟器和安装APK文件

以前不知道再哪里看见过这么一句话:Google和百度把现在的人变得白痴了。其实,这是说的那些一有问题就搜索而不思考的人。我有的时候懒的话就 这样,不去思考,直接搜索,然后什么都得不到。但是,有的时候你又会发现整个互联网上面的东西全部都是一样的,不是你抄我的就是我抄他的,根本就是千篇一 律的答案。如果搜索引擎能够做到让每个相同的文件只有一份就好了。

回过头来你会发现,做为一个开发者,有的时候,官方文档是最好的参考资料。而不是Google百度。好了进入正题,今天要讲的是关于android模拟器和apk镜像文件的一些事情。

一.如何正确的启动模拟器(早于Android 1.5的开发版本跳过此步)

关于在eclipse里面如何集成android这些问题就不说了,这写问题我想还是不用在这里废话的。要正确的启动模拟,你必须先要创建一个 AVD( Android Virtual Device 虚拟设备 ) , 你可以创建多个AVD,但是你的每一个启动了的模拟器都必须有一个AVD,这样你才能正确运行。 下面是创建AVD的语法(关于基本的WINDOWS语法就不赘述了,这都不知道也就不要做开发了) :
android create avd –target 1 –name myavd (当然你需要在CMD里面使用android提供的/tools)

上面这个动作完成之后你就可以在eclipse里面启动android模拟器了,其他事情暂时不需要做了。如果你想要直接启动模拟器的话,
到tools下面双击emulator.exe是行不通的,你必须这样做:

emulator -avd youravdname (这样才可以正常启动一个模拟器的实例)

【PS:当然你也可以在eclipse里面通过AVD管理器建立AVD,那样更方便,但是作为一个基于Linux的系统,我偏爱Command Line】
[点击阅读全文]

手机阅读_小说阅读调查

各位网友感谢大家对ALLOVE的支持和厚爱,我们准备开发一款免费的手机小说网络阅读器,不过我们还在犹豫之中,谢谢你们给我们留言和提提建议!0 平时你用手机看小说吗?1,你在固定的网站看小说的习惯吗?2你更倾向于在wap或者手机阅读器上阅读?3.手机阅读器你一般用什么?4,你觉得如果我们开发需要注意些什么?

ALLOVE 手机小说阅读器。可以直接在手机上面阅读最好的小说,更加优于传统的WAp阅读方式,小说按照章节排列,更方便阅读,并且可以标记已经读过的章节。更优秀的在于软件能过不断更新数据,就是说只要装一个我们的软件就可以拥有一部无敌的小说阅读大全了! 开发进行中。寻找商业合作伙伴
http://m.allove.org/page/Default.asp?ID=79
alloveteam@gmail.com