Android 連接webservice(利用谷歌提供的jar包)

来源:http://www.cnblogs.com/hyyweb/archive/2016/02/16/5193412.html
-Advertisement-
Play Games

Android開發,需要連接webservice,之前就想用谷歌提供的jar包,下載地址:http://pan.baidu.com/s/1hqMTUHe 把它下載下來粘貼到libs文件夾下即可: 網上有很多類似的方法,我嘗試了很多都沒有成功,最後發現是我下載的jar包有問題導致我一直卡在哪兒。 首先


Android開發,需要連接webservice,之前就想用谷歌提供的jar包,下載地址:http://pan.baidu.com/s/1hqMTUHe

把它下載下來粘貼到libs文件夾下即可:

網上有很多類似的方法,我嘗試了很多都沒有成功,最後發現是我下載的jar包有問題導致我一直卡在哪兒。

首先添加網路許可權:

<uses-permission android:name="android.permission.INTERNET"/>

這是全部代碼,包括獲取遠程webservice當中數據並用ListView顯示:

package com.example.webservice;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {
    //命名空間
    String nameSpace="http://tempuri.org/";
    //調用方法
    String methodName="selectStuAll";//webservice存在的方法名稱
    String endPoint="http://10.0.2.2:8011/WebService.asmx?wsdl";//本地測試完整的鏈接
    String soapAction="http://tempuri.org/selectStuAll";//命名空間和調用方法名

    private ListView listview;
    private ListAdapter adapter;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listview=(ListView) findViewById(R.id.listView1);
        

        adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,getsource());
        listview.setAdapter(adapter);
        listview.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                // TODO 自動生成的方法存根
                Toast.makeText(MainActivity.this, ">>"+adapter.getItem(arg2),1).show();
            }
        });
    }
public List<String> getsource()
    {
        List<String> list=new ArrayList<String>();
        
      //實例化SoapObject對象
        SoapObject request=new SoapObject(nameSpace, methodName);
        //第二步:假設方法有參數的話,設置調用方法參數
       /* request.addProperty("username","1");
        request.addProperty("password","2");
        request.addProperty("tel","3");*/
      //獲得序列化的Envelope
        SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER12);
        envelope.bodyOut=request;
        envelope.dotNet=true;
        HttpTransportSE transport=new HttpTransportSE(endPoint);
        try {
            transport.call(soapAction, envelope);
        } catch (IOException e) {
            // TODO 自動生成的 catch 塊
            e.printStackTrace();
        } catch (XmlPullParserException e) {
            // TODO 自動生成的 catch 塊
            e.printStackTrace();
        }
        SoapObject result = null;
        try {
            result = (SoapObject)envelope.getResponse();
        } catch (SoapFault e) {
            // TODO 自動生成的 catch 塊
            e.printStackTrace();
        }
        
        int count=result.getPropertyCount();
        for(int index=1;index<count;index=index+3){
            list.add(result.getProperty(index).toString());
        }
        return list;
    }
}

這樣就大功告成了,如果用到這個方法有問題,在下麵評論,我會幫你解決。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 語法: R:紅色值。正整數 | 百分數 G:綠色值。正整數 | 百分數 B:藍色值。正整數| 百分數 A:透明度。取值0~1之間 取值: <length>:Hue(色調)。0(或360)表示紅色,120表示綠色,當然可以取其他數值來確定其他顏色。 <percentage>:Saturation(飽和
  • 這樣一個需求,第三方聯合登陸的頭像和昵稱整體水平居中,如圖: 對於這樣的需求,不能簡單的對包含頭像和昵稱的div使用margin: 0 auto了,因為昵稱的長度是未知的。 solution 1:利用行內元素的padding-left屬性。把圖片絕對定位到padding-left區域內,然後對外層d
  • 捲標 , 屬性名稱 , 簡介 002 <! - - ... - -> 批註 003 <!> 跑馬燈 004 <marquee>...</marquee>普通捲動 005 <marquee behavior=slide>...</marquee>滑動 006 <marquee behavior=scr
  • 編寫好的CSS代碼能提升頁面的渲染速度。本質上,一條規則都沒有引擎解析的最快。MDN上將CSS選擇符歸拆分成四個主要類別,如下所示,性能依次降低。 ID 規則 Class 規則 標簽規則 通用規則 對效率普遍認識是從Steve Souders在2009年出版的《高性能網站建設進階指南》開始的,雖然S
  • 1.DOM:文檔對象模型DOM(Document Object Model)定義訪問和處理HTML文檔的標準方法。DOM 將HTML文檔呈現為帶有元素、屬性和文本的樹結構(節點樹)。 2.DOM的一些常用的屬性 2.1 通過ID獲取元素 (1)語法: document.getElementById(
  • 1.2、目的通過學習本文檔,能夠對jQuery有一個簡單的認識瞭解,清楚JQuery與其他JS框架的不同,掌握jQuery的常用語法、使用技巧及註意事項。二、使用方法在需要使用JQuery的頁面中引入JQuery的js文件即可。例如:<script type="text/javascript" sr
  • 前言:有時候我們需要獲取文件的MIMEType的信息,下麵就介紹關於獲取MIMEType的方法。 1、直接百度搜索關鍵字"MIMEType",你會找到,然後查吧: 2、用代碼獲取文件的MIMEType信息: 1 #import "GetMIMEType.h" 2 3 #import <MobileC
  • 前言:使用NSURLConnection實現文件上傳有點繁瑣。 本文並沒有介紹使用第三方框架上傳文件。 正文: 這裡先提供用於編碼測試的介面:http://120.25.226.186:32812 點擊進去你會發現到下麵: 最好該鏈接用Google瀏覽器打開,因為Google瀏覽器開啟開發者模式用起
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...