0

Web サービス サーバーからデータを取得する単純な Android アプリを作成しようとしています。偽の気象データを含むデータベースを作成し、Web サービスを構成しました Android アプリからこのコードを実行すると、次のようになります。

SoapObject results = (SoapObject) envelope.bodyIn;
result = results.getProperty("getAlertsResult").toString();

結果の文字列は以下のとおりです。soap オブジェクトから単一のアラート メッセージ、名前、および優先度を取得するにはどうすればよいですか? ありがとうございました。

anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}; 要素=任意のタイプ{}; 要素=任意のタイプ{}; 要素=任意のタイプ{}; 要素=任意のタイプ{}; 要素=任意のタイプ{}; 要素=任意のタイプ{}; 要素=任意のタイプ{}; }; }; }; }; }; }; }; diffgram=anyType{NewDataSet=anyType{Table=anyType{ALERT_ID=1; ALERT_TYPE=天気; ALERT_NAME=地域で激しい嵐; ALERT_MSG=これは竜巻のような風速が予想される非常に危険な状況です。; ALERT_PRIORITY=HIGH; ALERT_ENABLED=1; ALERT_USER=管理者; ALERT_DATETIME=2012-07-24T00:00:00-04:00; }; テーブル = anyType {ALERT_ID = 2; ALERT_TYPE=天気; ALERT_NAME=洪水警告; ALERT_MSG=テネシー州モリスタウンの NATIONAL WEATHER SERVICE が洪水を発生させました。ALERT_PRIORITY=NORMAL; ALERT_ENABLED=1;ALERT_USER=管理者; ALERT_DATETIME=2012-07-24T00:00:00-04:00; }; テーブル = anyType {ALERT_ID = 3; ALERT_TYPE=地震; ALERT_NAME=7.1 地域で地震。ALERT_MSG=東部標準時午後 2 時 30 分に首都圏で深刻な地震が発生し、RS は 7.1 です。ALERT_PRIORITY=HIGH; ALERT_ENABLED=1; ALERT_USER=管理者; ALERT_DATETIME=2012-07-24T00:00:00-04:00; }; }; }; }

4

2 に答える 2

2

以下は、単一の SoapObject プロパティを取得するコードです。

SoapObject resultOne = (SoapObject) results.getProperty(0);
SoapObject resultTwo = (SoapObject) resultOne.getProperty(1);
SoapObject allAlerts = (SoapObject) resultTwo.getProperty(0);
SoapObject alertOne = (SoapObject) allAlerts.getProperty(0);
SoapPrimitive alertPriority = (SoapPrimitive) alertOne.getProperty(4);
于 2012-10-04T14:35:16.773 に答える
0

あなたができることは、データを取得してjson形式にするphpクエリを作成することです。json は、クロス プラットフォームのデータを共有するための非常に優れた形式です。このような

<?php

    $response = array();

    require_once __DIR__ . '/db_connect.php';

    $db = new DB_CONNECT();

    $result = mysql_query("SELECT * FROM table_name") or die(mysql_error());

    if (mysql_num_rows($result) > 0) {

        $response["forecasts"] = array();

        while ($row = mysql_fetch_array($result)) {


           //here you put all the rows from the column that you have retrieved 
            $product = array();
            $product["column1"] = $row["column1"];
            $product["column2"] = $row["column2"];

            array_push($response["forecasts"], $product);
        }

        $response["success"] = 1;

        echo json_encode($response);
    } else {

        $response["success"] = 0;
        $response["message"] = "No games found";

        echo json_encode($response);
    }
    ?>

jsonデータのプロセスは、jsonをオブジェクトに解析するのに非常に優れたgsonライブラリを使用できます

http://bobbyprabowo.wordpress.com/2010/11/25/android-json-processing-using-gson-and-display-in-on-a-listview/

于 2012-10-03T20:20:36.700 に答える