読者です 読者をやめる 読者になる 読者になる

Zinc #6 ブックマークDBテーブルへの登録

ブックマークの登録と登録したブックマークを見れるようにする・・・。

ただし、
Android 6.0 Changes | Android Developers

Android 6で元々持っていた標準的なブックマーク機能がなくなったので、自前のDBで管理し、前回のブックマークアクティビティでそのDBをリスト表示で見れるようにする・・・。

まずは、DBの準備・・・。

f:id:BG1:20160701120139p:plain

Java Classで、

f:id:BG1:20160701120403p:plain

DBHelperというのを追加・・・。

zinc1.dbにbookmarkテーブルを作成・・・。

ページ名のnameとURLのurlというカラムを持つ・・・。
_idは基本使わない・・・。

次に、DBにあるブックマーク情報を表示するリスト・・・。
まずは、アイテムのレイアウト・・・。

f:id:BG1:20160701121802p:plain

で、

f:id:BG1:20160701121900p:plain

UrlListItem・・・。

nameとurl・・・。

あと、アダプタ・・・。

f:id:BG1:20160701122255p:plain

で、

f:id:BG1:20160701122306p:plain

UrlListAdapter・・・。

R.id.url_list_item_nameというTextViewにname, R.id.url_list_item_urlというTextViewにurlを表示する・・・。

アイテムのレイアウトは、

f:id:BG1:20160701122701p:plain

で、

f:id:BG1:20160701122721p:plain

url_list_itemは、

TextViewを縦に・・・。

次は、リンクを登録するダイアログのレイアウト・・・。

f:id:BG1:20160701123050p:plain

で、

f:id:BG1:20160701123059p:plain

url_edit_dialogは、

ラベル用TextViewと入力するEditTextのペアをnameとurlの分用意し、縦に並べる・・・。

あと、登録のメニューアイテムを追加する・・・。

action_bookmark_add_textは、

"ブックマークの登録"・・・。

ブックマークアクティビティのレイアウトは、

ステータス用のTextViewとブックマークリストのListView・・・。

さて、登録はMainActivityから・・・。

DBHelperのhlprとSQLiteDatabaseのsqliteがいるのでメンバフィールドに・・・。

メニューアイテムR.id.action_bookmark_addが選択されたら、url_edit_dialogからAlertDialog作成・・・。
WebViewからタイトルとURLを持ってきて、EditTextにセット・・・。

登録ボタンを押された場合は、bookmarkテーブルにinsert・・・。
キャンセルは何もしない・・・。

今度は、BookmarkActivity側のリスト表示・・・。

bookmarkListをlvBookmark表示するための準備・・・。

これだけだと空なので、

DBからブックマーク情報を取り出して、bookmarkListに入れる・・・。

bookmarkListの要素数が0なら、R.id.bookmark_statusの表示は"ブックマークはありません"・・・。
1個でもあったら、件数を表示・・・。
最後にアダプタ更新して、挿入後の状態がリストビューに反映される・・・。

f:id:BG1:20160701130712p:plain

まず、"ブックマークの管理"を選択・・・。

f:id:BG1:20160701130747p:plain

まだ、この状態では、ブックマークがない・・・。

f:id:BG1:20160701130816p:plain

URLを入力して、Button1を押す・・・。

f:id:BG1:20160701130905p:plain

表示されたので、

f:id:BG1:20160701130938p:plain

"ブックマークの登録"を押す・・・。

f:id:BG1:20160701131024p:plain

ダイアログが出てきたので、これで登録・・・。

f:id:BG1:20160701131114p:plain

"ブックマークの管理"をもう一度押すと、

f:id:BG1:20160701131303p:plain

さっきのgoogleが登録されている・・・。
1件のブックマーク・・・。

https://github.com/bg1bgst333/Zinc/tree/develop/android/empty_activity/android_studio/src/Zinc