隨筆-54  評論-0  文章-2  trackbacks-0

          今天學習從網上獲得數據,以xml文件輸出。流程:android客戶端 -----已經開發好的CRM(220.113.15.23) -----[客戶資料]--à屏幕

          用的是struts1.3的環境

          1.搭建環境

          1.web.xml配置struts servlet

          2.添加jar

          3.復制struts-config.xml

          環境搞定后,新建jsp文件,寫好文件頭:<?xml version="1.0" encoding="UTF-8"?> 注意

          接著新建一個ContactAction

          最后配置struts-config.xml文件

          新建contact.jsp文件,得到數據

          訪問路徑,測試得到的數據,以驗證是否正確,若正確的話,第一步完成

          下面是Android應用

          2 ..設計要顯示的界面

            .新建service,可以調用

          關鍵代碼:

          String path = “http://192.168.1.100:8080/crm/contacts.do”;

          URL url = new URL(path);

          HttpURLConnection conn = (HttpURLConnection)url.openConnection();

          conn.setConnectionTimeout(5*1000);

          conn.setRequestMethod(“POST”);

          return conn.getInputStream();

          在該類中還應該新建sax解析方法,解析文檔,保存數據

          .新建android測試類,以日志形式打印出xml文件中的數據

          3.應用HttpURLConnection對象,我們可以向網絡發送請求參數.下面以POST發送為例,寫一些關鍵代碼點

          Map<String, String> params = new HashMap<String, String>();

          params.put("age", "22");

          params.put("name", "浪淘沙");

           StringBuilder params = new StringBuilder();

          for(Map.Entry<String, String> entry : params.entrySet()){

               params.append(entry.getKey());

               params.append("=").append(URLEncoder.encode(entry.getValue(), "UTF-8"));

               params.append("&");

          }

          if (params.length() > 0) params.deleteCharAt(params.length() - 1);

          byte[] data = params.toString().getBytes();

           

          4. 為應用添加新的Activity

          ①:新建一個繼承Activity的類

          ②:需要在功能清單AndroidManifest.xml文件中添加進上面Activity配置代碼

           

          打開新的Activity,不傳遞參數

          通過意圖打開ActivityIntent,用于激活Activity的,在組件之間傳遞數據

          在新的Activity中接收前面Activity傳遞過來的參數:

          添加參數的另一種方法:Bundle

          Bundle類用作攜帶數據,它類似于Map,用于存放key-value名值對形式的值。相對于Map,它提供了各種常用類型的putXxx()/getXxx()方法, putXxx()用于往Bundle對象放入數據,getXxx()方法用于從Bundle對象里獲取數據。Bundle的內部實際上是使用了HashMap<String, Object>類型的變量來存放putXxx()方法放入的值:

           

          5. Intent過濾器

          Android鼓勵減少組件間的耦合,因此Android提供了Intent (意圖) Intent提供了一種通用的消息系統,它允許在你的應用程序與其它的應用程序間傳遞Intent來執行動作和產生事件。使用Intent可以激活Android應用的三個核心組件:活動、 服務和廣播接收器。

          Intent可以劃分成顯式意圖和隱式意圖。

           

           

          posted on 2010-03-20 23:30 d66380022 閱讀(204) 評論(0)  編輯  收藏
          主站蜘蛛池模板: 阿拉善右旗| 浪卡子县| 旬阳县| 龙南县| 阿鲁科尔沁旗| 专栏| 左贡县| 蓬安县| 大同县| 南丹县| 仲巴县| 隆尧县| 三江| 平原县| 永修县| 武宁县| 竹山县| 仙游县| 即墨市| 长春市| 读书| 古浪县| 岑溪市| 菏泽市| 牡丹江市| 汽车| 梁河县| 金坛市| 清苑县| 云浮市| 阿拉善左旗| 汽车| 咸丰县| 康保县| 宁津县| 修文县| 铁力市| 即墨市| 新乡县| 北碚区| 永善县|