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

Zinc #12 履歴機能の実装

履歴機能を実装する・・・。
基本的にはBookmarkActivityと同様に、HistoryActivityにリストビューで履歴を表示・・・。
履歴は、ページをロードして、CustomWebViewClientのonPageFinishedに来た時にhistoryテーブルに登録される・・・。

まず、

f:id:BG1:20160710133653p:plain

で、

f:id:BG1:20160710133717p:plain

HistoryActivityを追加する・・・。

activity_bookmark.xmlと同様、TextViewとListView・・・。

この辺もBookmarkActivity.javaから移植・・・。
BookmarkActivityと同じくUrlListAdapterとUrlListItemを使ってるので、ほとんど同じ・・・。

メニューアイテムを追加・・・。

HistoryActivityをstartActivityForResultの1002で起動・・・。
順番をちょっと変えた・・・。

で起動するには、

AndroidManifest.xmlにHistoryActivityを追加・・・。

onActivityResultは、

いまのところ仕組みは同じなので1001と1002をまとめてる・・・。

DBだが、

CREATE_TABLE_BOOKMARKに続いて、CREATE_TABLE_HISTORY・・・。
これでhistoryテーブルができる・・・。

MainActivityでの扱いはちょっと変更・・・。

hlprはここで作って、

onDestroyで閉じてる・・・。

履歴の登録は、

CustomWebViewClientのonPageFinishedで行う・・・。

ここでhlprやsqliteがいるので、MainActivityの生成でDBも使えるように・・・。
(ここはもうちょっとやりようがありそう・・・。)
何気にタイトルをToastで出すようにしてる・・・。

最後にstrings.xmlは、

"履歴"で・・・。

f:id:BG1:20160710144203p:plain

起動して、

f:id:BG1:20160710144218p:plain

履歴を選択・・・。

f:id:BG1:20160710144351p:plain

"履歴はありません"

f:id:BG1:20160710144425p:plain

YahooのURLを指定して、BUTTON1を押す・・・。

f:id:BG1:20160710144513p:plain

表示された・・・。
ここで履歴を見ると、

f:id:BG1:20160710144958p:plain

登録されてる・・・。

f:id:BG1:20160710145301p:plain

スポナビ行って、

f:id:BG1:20160710145321p:plain

登録されてる・・・。

f:id:BG1:20160710145340p:plain

プロ野球行って、

f:id:BG1:20160710145532p:plain

登録されてる・・・。
バックキーで戻ると、

f:id:BG1:20160710145630p:plain

で、

f:id:BG1:20160710145727p:plain

こうなる・・・。
ここで履歴のhttp://m.yahoo.co.jp/を選択・・・。

f:id:BG1:20160710150345p:plain

Yahooトップに戻る・・・。

f:id:BG1:20160710150407p:plain

で、今度は路線を選択・・・。

f:id:BG1:20160710150548p:plain

これは、

f:id:BG1:20160710150619p:plain

で、ここからバックキーで戻る・・・。

f:id:BG1:20160710150716p:plain

Yahoo・・・。
ここからさらにバックキーを押すと、

f:id:BG1:20160710150752p:plain

スポナビ・・・。

f:id:BG1:20160710150840p:plain

ここまでの履歴・・・。
でさらにバックキーで

f:id:BG1:20160710151257p:plain

で戻って、

f:id:BG1:20160710151314p:plain

となって、さらにバックキーで、

f:id:BG1:20160710151331p:plain

終了・・・。

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