スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Android ContentProviderの作成

ContentProviderとは
・ContentProviderとは4ダイ構成コウセイ要素ヨウソで、アプリケーションカンでデータを共有キョウユウする仕組シクみです。
 単純タンジュンホカのアプリケーションへアクセスできると危険キケンなため、ContentProviderを利用リヨウして
 安全アンゼンにアクセスします。
・データにアクセスするには、ContentResolverクラスのqueryメソッドを使用シヨウします。
レイ
ContentResolver.query(uri,projection,selection,selectionArgs,sordOrder);
uri :ContentProviderの場所バショ
projection :出力シュツリョクカラムのString配列ハイレツ
selection :検索ケンサク条件ジョウケン
selectionArgs: 複数フクスウ検索ケンサク条件ジョウケン
sordOrder :出力シュツリョクジュン
■ContentProviderでWebブラウザの閲覧エツラン履歴リレキ表示ヒョウジ
・ContentProviderを利用リヨウし、Webブラウザから閲覧エツラン履歴リレキ取得シュトク
 それをリスト表示ヒョウジします。
○ContProvBrowsアクティビティクラス(ListActivity継承ケイショウ
1:                                      
2: package cont.prov.brows;    
3:  
4: import android.app.Activity;    
5: import android.app.ListActivity;  
6: import android.database.Cursor;    
7: import android.os.Bundle;  
8: import android.provider.Browser;    
9: import android.util.Log;  
10: import android.widget.ListAdapter;    
11: import android.widget.SimpleCursorAdapter;  
12: import android.widget.TextView;    
13:  
14: public class ContProvBrows extends ListActivity { // リストで表示するためにListActivityを継承    
15: /** Called when the activity is first created. */  
16:   @Override    
17: public void onCreate(Bundle savedInstanceState) {  
18:   super.onCreate(savedInstanceState);    
19: setContentView(R.layout.main);  
20:   try {    
21: Log.d("ContProvBrows", "set BookmarkColumns");  
22:   // 取得するカラムを指定 タイトルとアクセスURLを指定    
23: String[] strings = new String[] { Browser.BookmarkColumns.TITLE,  
24:   Browser.BookmarkColumns.URL };    
25:  
26:   Log.d("ContProvBrows", "get ContentProvider");    
27: // ContentProviderでブラウザの履歴情報を取得  
28:   Cursor c = getContentResolver().query(Browser.BOOKMARKS_URI // ブラウザをURIで指定  
29: , strings // 抽出カラムを指定  
30:   , null // 検索条件    
31: , null // 複数検索の場合  
32:   , null // データのソート    
33: );  
34:    
35: Log.d("ContProvBrows", "new int");  
36:   // 表示カラムの数値IDを配列化    
37: int[] items = new int[] { android.R.id.text1 // simple_list_item_2.xmlのtext1  
38:   , android.R.id.text2 // simple_list_item_2.xmlのtext2    
39: };  
40:    
41: Log.d("ContProvBrows", "new ListAdapter");  
42:   // 抽出した履歴情報をListAdapterを利用し出力する    
43: ListAdapter adapter = new SimpleCursorAdapter(this,  
44:   android.R.layout.simple_list_item_2 // 表示レイアウト    
45: , c // 出力するオブジェクト  
46:   , strings // 表示するカラム    
47: , items // 値を表示するIDの指定  
48:   );    
49: Log.d("ContProvBrows", "setListAdapter");  
50:   setListAdapter(adapter);      
51:  
52:   Log.d("ContProvBrows", "label output");    
53: // ラベルに情報を出力  
54:   int count = c.getCount();    
55: String format = getString(R.string.label);  
56:   String label = String.format(format, count); // 変換 %dをcountへ置き換え    
57: // 変換文字列を出力  
58:   TextView v = (TextView) findViewById(R.id.label_tv);    
59: v.setText(label);  
60:   } catch (Exception ex) {    
61: Log.d("ContProvBrows", ex.toString());  
62:   }    
63: }  
64: }    
65:                                      
履歴リレキ情報ジョウホウのタイトルとそのURLを使用シヨウするため、TITLEとURLを指定シテイ
②queryメソッドでデータ抽出チュウシュツ対象タイショウはブラウザの履歴リレキのため「BOOKMARKS_URI」を指定シテイ条件等ジョウケントウない場合バアイはnull指定シテイ
③ListAdapterを使用シヨウ。レイアウトは「simple_list_item_2」を利用リヨウ
  ※simple_list_item_2はAndroidホーム配下ハイカ存在ソンザイします。
生成セイセイしたListAdapterを設定セッテイ
○main.xml
1:                                      
2:    
3:  
4:    
5:     android:orientation="vertical"  
6:     android:layout_width="fill_parent"    
7:     android:layout_height="fill_parent"  
8:     >    
9:   android:id="@+id/label_tv"  
10:     android:layout_width="fill_parent"    
11:     android:layout_height="wrap_content"  
12:     android:textAppearance="?android:attr/textAppearanceLarge"      
13:     android:background="#AAAAAA"  
14:     android:padding="5dp"    
15:     android:text="@string/label"  
16:     />    
17:  
18:   android:id="@android:id/list"    
19:     android:layout_width="fill_parent"  
20:     android:layout_height="wrap_content"    
21:     />  
22:    
23:  
                                       
①ユーザー インタフェースでどのように表示されるか外観を設定
履歴リレキ表示ヒョウジされるList
1:                                      
2:    
3:  
4:     HistoryCount %d      
5:     ContProvBrows  
6:    
                                       
履歴リレキスウ表示ヒョウジ処理ショリではこの「%d」が数値スウチわる
○AndroidManifest.xml マニフェストファイル
1:                                      
2:        
                                       
①ContentProviderを利用リヨウしデータを取得シュトクするため、そのムネマニフェストファイルで宣言センゲンオコナう。
実行ジッコウ結果ケッカ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
スポンサーサイト

テーマ : android
ジャンル : コンピュータ

コメントの投稿

非公開コメント

おすすめアプリ
カテゴリ
最新記事
リンク
アクセスカウンター
アクセス解析
imobile
i-mobile
i-mobile
i-mobile
i-mobile
i-mobile
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Amazon
Androidお勧め参考書
EC studio
商品
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。