郑州游戏学院—陈跃峰老师的博客

人生难得几回博,来,让我们博一把

用户操作
[即时聊天] [发私信] [加为好友]
陈跃峰ID:Mailbomb
784297次访问,排名45好友201人,关注者423
努力学习,努力工作
Mailbomb的文章
原创 287 篇
翻译 12 篇
转载 11 篇
评论 1383 篇
陈跃峰的公告
陈跃峰 个人简历
cqucyf@gmail.com

本BLOG中文章,未经允许严禁用于商业目的!

本人编写的J2ME基础入门书籍: 《新编J2ME就业培训教程》,购买
dearbook
华储网
当当网
Chinapub
最近评论
holon:不错,支持一下。

------------------------------
www.arraylist.cn cn域名免费送
IT人的酒吧式交流平台
-----------------------------
qq53122532:hao, very good

pretty
qq53122532:hao, very good

pretty
xanderzhang:关于String类的特殊性,见本博客的深入解析String类。
xanderzhang:关于String类的特殊性,见本博客的深入解析String类。
文章分类
收藏
    相册
    J2ME技术
    J2ME开发网
    无线空间
    Java网站
    Eclipse官方网站
    Java世纪网
    Sun中国
    Sun官方网站
    常用网站
    Chinabyte
    Google搜索引擎
    华军软件园
    新浪新闻
    网上书店
    ITbook
    互动出版网
    当当书店
    第二书店
    我工作过的地方
    上海托普信息技术学院
    游戏学院南京校区
    游戏学院郑州校区
    电脑报
    友情链接
    acqy的专栏
    eiyaa的专栏
    上海求职客栈
    刀剑啸的专栏
    刘军的BLOG
    王新钢的BLOG
    贝壳鱼(k7sem)专栏
    骄傲的猫
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 J2ME做项目的一些经验收藏

    新一篇: 开源密码管理软件项目说明(附源代码) | 

    最近做了一个J2ME的项目,有一些经验和大家一起分享。如有不足或者需要和我联系,请发emailcqucyf@263.net.

    该项目中使用的工具为J2MEWTK1.0.4_01+CodeWarrior。因为该项目不是一个游戏,所以没有设计到底层界面编程,总结起来有以下几点:

    1、                  使项目名称为中文。这个就是让项目名称在手机中显示为中文,设置方法如下:在J2MEWTK中打开相应的项目,“设置”-》“MIDlets”,选中你的MIDlet,选择“编辑”即可修改。

    2、                  网络编程。因为项目中涉及到网络交互,所以用到了网络编程,网络编程的经验主要有3个方面:

    2.1  数据的发送。MIDP1.0中数据发送的方法很多,这次主要用到了HTTP协议。代码如下:

    import javax.microedition.io.*;

    ……

    String url = “http://127.0.0.1/ts/login?username=a&password=a”;

    HttpConnection hc = (HttpConnection)Connector.open(url));

     

    2.2 数据的接收。MIDP1.0中提供了很多的数据接收方法,但是都需要转换成数组等。而这次该项目中是将反馈的信息写如头信息中。将传递的信息以一定的格式写成字符串,然后接收后进行解析。如:

           String s = hc.getHeaderField("login");

     

    如果查询时返回的信息个数不固定,则可以用一个头信息专门存储返回数据的格式,然后接收数据时依次读取相应的头。如:

    String temp = hc.getHeaderField("number");   //获得返回信息的个数

    如果信息中头数据是这样的格式:“data” + 数字,即data1,data2……等。则可以这样读取:

    int number = Integer.parseInt(temp);

    String[] data = new String[number];

    for(int i = 0;i < number;i++)

    {

                data[i] = hc.getHeaderField("data"+i);

    }

                         //解析data

     

                  2.3 网络传输中的中文问题。这个分为发送的中文问题和接收的中文问题的处理。

                         发送的中文问题:向服务器提交中文信息,包括URL中包含中文数据,都可以这样解决:给自己的J2MEWTK1.0.4打中文补充包,然后在发送时,使用toString方法转换。如:

                         String s = “中文”;

           String url = “http://127.0.0.1/ts/login?param=”  + s.toString();

    HttpConnection hc = (HttpConnection)Connector.open(url));


    接收的中文问题:接收服务器发送过来的中文数据需要进行解码,和一般的解码方法一样:

    String str ;

    //str保存接收到的服务器数据

    byte[] bytes = str.getBytes("ISO8859_1");

    String s = new String(bytes,"gb2312");

    3、                  MIDP1.0中对于集合API的支持有限,只支持Vector

    4、                  最后还有一个迷惑的问题:是把所有的界面写在一个类里面呢,还是每个界面写一个类呢?J2MEWTK中的例子很多都是将所有界面写在一个类中的,但是这样造成代码不便于管理,如果写入多个类中,则耗费内存。选择真的很难!

    发表于 @ 2003年07月22日 07:59:00|评论(loading...)|编辑

    新一篇: 开源密码管理软件项目说明(附源代码) | 

    评论

    #kklin 发表于2005-02-28 15:19:00  IP: 218.5.3.*
    看不明白,如果现在再做一遍还能做出来吗?
    #mailbomb 发表于2005-02-28 17:09:00  IP: 222.69.12.*
    很早以前的文章了,现在觉得比较幼稚
    #tq959 发表于2005-06-28 11:23:00  IP: 61.186.252.*
    还是都写在一个类对内存小的手机比较好啊:)
    #蓝灵 发表于2006-03-19 23:18:00  IP: 218.0.202.*
    估计不是个WAP项目就是个HTTP连网的什么查询小系统
    对不?
    有值得借鉴的地方……
    嘿嘿~~
    #沉香 发表于2006-06-02 22:03:00  IP: 219.133.175.*
    String str ;

    //str保存接收到的服务器数据

    byte[] bytes = str.getBytes("ISO8859_1");

    String s = new String(bytes,"gb2312");

    这个方法很多人都在说,但是你的str是怎样得到的,使用InputStream的read();读进来的还是用dataInputStream的readUTF();读进来的??能给一个完整的代码参考一下吗?我按这方法仍然中文显示乱码.
    我邮箱kexin28@126.com,谢了
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 陈跃峰