SQLの窓

2013年06月20日


Android(4.2.2) ADT から Post や Get をできるかぎり簡単にするサンプル

SkyDrive へ移動




このサンプルの目的は、サーバにあるデータベースを Android より更新したり読み出したりする事にあります。ここでは、まだ一覧表示である ListView 部分がありませんが、4つのクラスを含むパッケージを用意しています。

1) HttpPostAndXml : Post して結果を XML で取得する
2) HttpGetAndXml : Get して結果を XML で取得する
3) GetRssItemValue : 取得した XML 内の item 要素内の先頭データの指定要素の値を取得する
4) MessageBox : 更新確認の為の AlertDialog を使用する

1) 2) は、非同期処理である必要があるため、AsyncTask を継承しています( AsyncTask<String, Void, Document> )。GetRssItemValue は、RSS 的な単純なフォーマットを想定しており、値を容易に取得可能です。MessageBox は、実際以下のように使っています
package com.example.shapetextview;

import java.util.HashMap;
import java.util.Map;

import org.w3c.dom.Document;

import jp.winofsql.*;

import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.setContentView(R.layout.activity_main);
	}

	public void postData(View view) {
		
		new MessageBox(this, "確認", "更新しますか?") {
			
			@Override
			public void onYesClick(DialogInterface dialog, int which) {
				
				Map<String,String> map = new HashMap<String,String>();
				map.put("url", "http://10.0.2.2/lightbox/webapi/write_utf8.php");
				map.put("u", "insert into rss (guid,title) values('0001','タイトル')");

				new HttpPostAndXml() {

					@Override
					protected void onPostExecute(Document result) {
						
						GetRssItemValue iv = new GetRssItemValue(result);
						TextView tv = (TextView)MainActivity.this.findViewById(R.id.textView1);
						tv.setText(iv.get("title"));
						
					}
					
				}.execute(map);
				
			}
			
		}.show();
	
	}
	
	public void getData(View view) {
		
		String url = "http://matome.naver.jp/feed/hot";
		url = "http://10.0.2.2/lightbox/webapi/show_utf8.php";
		
		new HttpGetAndXml() {

			@Override
			protected void onPostExecute(Document result) {
				
				GetRssItemValue iv = new GetRssItemValue(result);
				TextView tv = (TextView)MainActivity.this.findViewById(R.id.textView1);
				tv.setText(iv.get("title"));
				
			}
			
		}.execute(url);
	
	}

}

プロジェクトにある wkprefs フォルダにあるデータは、ワークスペースの ADT( Eclipse ) の設定を他のワークスペースに以降する為のセットです(行番号・フォント・テンプレート等)。

※ TextView の Background に、XML で定義したリソースで枠線を引いています

関連する記事

Android : POST 送信。Eclipse(ADT) を使ったコード作成手順 / MessageBox.java と HttpPostAndXml.java



【Androidの最新記事】
posted by lightbox at 2013-06-20 21:18 | Android | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり