php で書かれた中央サーバーと通信し、それと通信し、ユーザー認証、ユーザー設定の表示などのデータを取得/送信する Android アプリケーションを作成したいと思います。私の質問は、それを行うための最良の方法です。xml を返すサーバー側で Web サービスを使用し、android で xml を解析するか、 json を使用するか、html ポスト応答を使用して解析します。それに関するどんな助けも大歓迎です。
5 に答える
Jsonが最良の選択肢です
それは軽い方法であり、簡単にJavaオブジェクトに変換できるからです。要するに、JSONが最高です
他の回答が言ったように、JSON. 軽量で使いやすく、Android には JSON をサポートする標準ライブラリがあります。
例:
ContentValues values = new ContentValues();
JSONArray projects = new JSONArray(_webService.getStringResponse());
int counter = 0;
int projectSize = projects.length();
while(projectCount < projectSize) {
JSONObject projectData = projects.getJSONObject(projectCount);
values.put(DbProperties.PROJECT_ID, projectData.getString("pid"));
values.put(DbProperties.CUSTOMER_ID, projectData.getString("cid"));
values.put(DbProperties.SETTLEMENT, projectData.getString("settl"));
//Do some database saving for example
counter++;
}
ここで何が起こるか (これをアプリから取り出して、アイデアを得る) は次のとおりです。
リクエストを投稿すると、結果が JSON 形式で返されます。json 文字列をコンストラクター パラメーターとして受け取る JSONArray オブジェクトを作成します。私の場合、json 文字列は、json オブジェクトを含む配列で構成されます。
JSONArray 内の各項目をループ処理して JSONObject を作成し、json オブジェクトからデータを抽出してデータベースに保存します。
この単純な例での私の目標は、いくつかのことを示すことです。
- AndroidでJSONを扱うのは信じられないほど簡単です
- キー名を短くするだけで文字列を簡単に圧縮できます(jsonは基本的にキーと値のペアです)。
後者には、言われている文字列のサイズを小さくするという利点がありますが、短所として、データが読みにくくなります。私は圧縮の理由でこれを行いました.私のコードは非常によくコメントされています. この圧縮を反映します。
json を使用してください。XML は巨大すぎます。html はデータ交換用に設計されていません。
クライアントとサーバーチームに依存します。Android では素敵なJSON
API が利用できます。受信データを解析し、リクエストをJSON
フォーマットで準備するのは簡単です。
あなたも行くことができますがxml
。素敵なサポートも利用できますxml
。
私はジェイソンをお勧めします。最近のデファクトスタンダードです。そして、XML ほど重くありません。
私は多くの C# JASON Web サービスを Android アプリケーションから使用してきましたが、それらはすべて魅力的に機能します。PHPサービスでも同じだと思います。
フォームの場合は HTML 応答を送信しても問題ありませんが、複雑なデータの場合は苦労します。
だから私はに投票しJASON
ます。
この補足資料もご覧ください。