科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道实例讲解移动QQ在线平台

实例讲解移动QQ在线平台

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

SNAP,即Scalable Network Application Package,翻译为可缩放的网络应用解决方案。 SNAP Mobile APIs是Nokia公司和SUN公司提供给全球众多移动游戏开发者的基于Nokia SNAP 移动平台(像N-Gage™ Arena.)和Sun Java Wireless Toolkit (version2.3)的一个功能强大的J2ME

作者:中国IT实验室 来源:中国IT实验室 2007年9月22日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

 

通过以下HelloWorld.java的主要部分代码:

 

 

 

 

 

 

HelloWorld.java

 

public class HelloWorld extends MIDlet implements Runnable, SnapEventListener {

    /***开始运行***/

    public void startApp() {               

        /***初始化获取访问权限***/

        protocol = getAppProperty("SNAP-Mobile-Protocol");

        hostname = getAppProperty("SNAP-Mobile-Host");

        port = Integer.parseInt(getAppProperty("SNAP-Mobile-Port"));

        username = getAppProperty("username");

        password = getAppProperty("password");

        gameClassID = 49152;

        thread = new Thread(this);

        thread.start();      

    }

    /***线程运行***/

    public void run() {                   

        try {   /***创建服务器连接对象(主机名,端口号,协议)***/   

           comm = new ServerComm(hostname, port, protocol);

           /***添加snap事件监听器到该对象***/

            comm.addSnapEventListener(this);   

            /***统一登陆SNAP,IMPSWeb 服务器(用户名,密码,游戏类ID,显示属性)***/       

                comm.extendedLogin(username, password, gameClassID, null);

                /***发送信息***/

                comm.sendBuddyMessage(username, "Hello World!");   

         } catch (Exception e) {       }

         /***该对象移除snap事件监听器***/

         comm.removeSnapEventListener(this); 

         /***统一登出服务器***/    

         comm.unifiedLogout();

    }   

    /***处理事件***/

public void processEvents(Vector list) {     

    ItemList il;     

        for (int i=0; i     

        /***获取所有来自服务器的信息***/

          il = (ItemList)list.elementAt(i);

          switch(il.getInteger("id")) {

             case ItemList.IMPS_IM_MESSAGE:

               console.println("- IMPS_IM_MESSAGE EVENT", Console.YELLOW);

               console.println("  from id: " + il.getString("fromID"), Console.WHITE);

               console.println("  from name: " + il.getString("fromName"), Console.WHITE);

               console.println("  location: " + il.getString("location"), Console.WHITE);

               console.println("  message: " + il.getString("message"), Console.WHITE);

               if (username.equals( il.getString("fromName"))) {

                done = true;

                console.println("Message from ourself, done!", Console.WHITE);

              } else {

                 console.println("Message from someone else, not done.", Console.WHITE);                   

              }

              break;

            }

        }

    }

}

 

我们可以清楚地看到,Nokia已经在SNAPMobile里面已经封装好了连接接口和连接框架。让我们登陆SNAPMobile服务器成为一件很简单的事情。

(具体细节可以参考《SNAP_Mobile_HelloWorld_Tutorial_v1_0_en.pdf》的章节)

 

说到连接接口和连接框架咱们就不能跳过实现SNAP Mobile的通信协议。

 

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章