Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> [hessdroid]Android下使用Hessian與Java服務端通訊

[hessdroid]Android下使用Hessian與Java服務端通訊

編輯:Android開發實例

前言

   隨著項目演示版的接近尾聲,開始准備Android的方方面面,其中很重要一點就是和服務端通訊,這裡試用和評估一下Android平台下的Hessian,雖然非官方版本,但是一直有更新。
 

 

鏈接

  1.  Hessian官方網站:

      說明:Hessian也是一個輕量級的,自定義描述的二進制RPC協議.因為它是一個二進制協議,所以它很適合於發送二進制數據而需要使用其它附件來擴展這個協議。

      地址:http://hessian.caucho.com/

  2.  hessdroid項目:

      說明:hessdroid 是Resin 的Hessian二進制遠程調用框架在Android上非官方移植版本。

      地址:http://code.google.com/p/hessdroid/

  3.  Mercurial

      說明:是一個輕量級的分布式版本控制系統,我選的是TortoiseHG for Windows 32bit,這裡用於下載hessdroid源代碼的工具。

      地址:http://mercurial.selenic.com/downloads/

 

聲明

  歡迎轉載,但請保留文章原始出處:)
 

    博客園:http://www.cnblogs.com

    農民伯伯: http://www.cnblogs.com/over140/
 

 

正文

  一、准備

    1.1  下載源碼

      下載Mercurial,安裝完之後右鍵TortoiseHg->Clone->Source Path,輸入"https://hessdroid.googlecode.com/hg/"下載即可。

    1.2  打包成jar

      源碼直接用eclipse導入即可,然後導出成jar即可,這裡我導成了hessdroid.jar。懶得自己導的可以從這裡下載:http://download.csdn.net/source/2584651。

 

  二、通訊接口

    和WebService一樣,准備一個接口:

public interface BasicAPI {
  public String hello();
}


 

  二、服務端

    服務端為Tomcat+Servlet。

    2.1  導入Hessian官方Java的jar包,從http://hessian.caucho.com/下一個導入就行,本文例子是hessian-3.0.20.jar

    2.2  BasicService.java

public class BasicService extends HessianServlet implements BasicAPI {
  private String _greeting = "Hello, world";

  public void setGreeting(String greeting)
  {
    _greeting = greeting;
  }

  public String hello()
  {
    return _greeting;
  }
}

    2.3  在web.xml中配置接受servlet,這裡寫成:

    <servlet>
         <servlet-name>hello</servlet-name>
         <servlet-class>com.BasicService</servlet-class>
    </servlet>
      <servlet-mapping>
          <servlet-name>hello</servlet-name>
          <url-pattern>/hello.do</url-pattern>
      </servlet-mapping>


 

  三、客戶端
 

    3.1  新建Android項目,導入hessdroid.jar(別搞混淆了,是自己打包生成的那個jar包)。

    3.2  在界面上添加一個按鈕,並添加點擊事件:

    public void OnClick11(View view)
    {
        String url = "http://192.168.1.1:8080/HessianServer/hello.do";
        HessianProxyFactory factory = new HessianProxyFactory();
        try {
            factory.setDebug(true);
            factory.setReadTimeout(5000);
            BasicAPI basic = (BasicAPI)factory.create(BasicAPI.class, url,getClassLoader());
            Toast.makeText(this, "調用結果:"+basic.hello(), Toast.LENGTH_LONG).show();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }

    3.3  成功截圖:

 

 

結束
 

   注意官方的測試鏈接"http://hessian.caucho.com/test/test"是連不通的,一直都是報錯找不到hello這個方法,後來改用自己的服務端之後一下子就成功了。好的開始是成功的一半  :) 接下來還會測試傳值、大數據量及是否有中文問題等。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved