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の最新記事】
- デバイスを探す / Find My Device - Google / Android Find
- JavaScript から Android へアクセス
- Monaca と 本当の 『Onsen UI最小限のテンプレート』
- Android 5.1 リリース済み。SDK( android-sdk_r24.0.2-windows.zip ) でまずエミュレータ作って、あとから Eclipse と Android Studio..
- クラウドでアプリを作成してスマホで動作させる『Monaca』を Android エミュレータの 5.1 で動作確認しました
- Android で Post と Get
- 別の ADT(Android) で作成されたワークスペースを最新の ADT で開く場合の操作方法
- Android : ListView Twitter 検索テンプレート
- トラブル : AndroidManifest.xml に XML 宣言があるとエラーになる???
- Twitter API の自分のアプリのトークンを使って投稿するだけの class Android_Twitter
- Android 単純リストビューを google-gson で最速構築
- Android をテストするのにほんの少し楽になるかもしれないクラス
- Android : Google Spreadsheets API version 3.0でGoogleスプレッドシートを参照
- Android 4.2.2(ADT) : class MyDatePicker extends DatePickerDialog
- Android : 日付ダイアログをインナーで使う( 完了ボタンをクリックした場合としない場合の対応 )
- Android ADT : 単純画面遷移
- HashMap の Key と Value をそれぞれソートして、最終的には 配列に変換して テンプレートを使って for ループを簡単に記述する
- ADT Eclipse : sysout テンプレートの変更
- Android(ADT Eclipse) 用 ボタンイベントテンプレート
- Android から Post 投稿 / HttpPostAndXml extends AsyncTask<Map, Void, Document>