appMobi ローカルストレージ
急にPCが壊れて早3週間。。。
appMobiが復活しましたv( ̄Д ̄)v イエイ
ってことで久しぶりに書きます(ノ´∀`*)
今日書くのはローカルストレージについてです。
appMobiで作ったアプリ…
作ったのはいいが、状態保存できないかなぁ〜
ローカルで保存できる方法ないかなぁ〜
う〜ん。。。(;´∀`)
ローカルストレージとは…
操作しているコンピュータに直接つながれたハードディスクなどの外部記憶装置。また、その中に設けられた特定のソフトウェアのためのデータ保存領域。
これだ!!!
という経緯でローカルストレージの勉強することになりました。
「え?ローカルストレージってあるの?」
いろいろ探してみると。。。Cookie が使える!!
「Cookie使えば、できるんじゃね!?」
つまり、appMobiのローカルストレージはCookieを使うことで実装可能となるのです(∩´∀`)∩ワーイ
でも実は…
HTML5にもローカルストレージという機能があるんですよ( ´ノД`)コッソリ
うまく動作しないとか何とか、、、やってないのでわかりません( ー`дー´)キリッ
【重要】誰か確かめてやったら教えてください(・∀・)←
さて、では実際にappMobiでCookieはどう使っているのか?
まず見てもらいたいのは demo.CookieManagement と言うアプリです。
[add]してCookieを作成し、[delete]でクッキーモンスターがCookieを消しちゃうってアプリ(・∀・)
面白いwww
そしてCookieを使う上でもっとも利用するアプリ(ノ´∀`*)
1.Cookieがちゃんと入ったのかの確認。
2.いらなくなったCookieの削除。
3.自分の手でCookieの追加。
などなど、、、このアプリを利用する機会がものすごーく増えるでしょう(≧ω≦。)プププ
あ、appMobiで使用されるCookieはすべて同じ所に保存されているので(どこかは知らない)アプリ一つ一つにCookieがあるわけではありません( ー`дー´)キリッ
では、早速このCookieManagemetのソースでどうやってCookieを追加、表示、削除をしているのかを見てみましょう!
419 <div style='position:absolute;top:190px;left:20px'> 420 <span class='categoryHead'>Cookie Value: </span> 421 <span class='categoryCopy' id='cookieValue'> </span> 422 </div> 423 <!-- delete button--> 424 <a style='position:absolute;top:258px;left:402px'onMouseOut="document.getElementById('imgDelete').src='delete_button_up.png'" onMouseUp="document.getElementById('imgDelete').src='delete_button_up.png'" onMouseDown="document.getElementById('imgDelete').src='delete_button_press.png'" onclick="deleteCookie();"><image id='imgDelete' src='delete_button_up.png'/></a><br> 425 <!-- add button--> 426 <a style='position:absolute;top:258px;left:582px' onMouseOut="document.getElementById('imgAdd').src='add_button_up.png'" onMouseUp="document.getElementById('imgAdd').src='add_button_up.png'" onMouseDown="document.getElementById('imgAdd').src='add_button_press.png'" onclick="addCookie();"><image id='imgAdd' src='add_button_up.png'/></a><br>
色々書いているけど、、、とりあえず、追加から!!
426行目のaddCookie();に注目。
この関数はどこにあるかというと、、、
182 function addCookie() { 183 //add a cookie 184 var name = prompt('Enter cookie name:'); 185 if( name.length == 0) return; 186 var value = prompt('Enter cookie value:'); 187 var daysTillExpiry = prompt('Days until cookie expires (-1 fornever):'); 188 try 189 { 190 AppMobi.cache.setCookie(name,value,parseInt(daysTillExpiry)); 191 } 192 catch(e) 193 { 194 alert("error in setCookie: " + e.message); 195 } 196 updateDropdown(); 197 }
184〜187行目はname,value,daysTillExpiryに値を入れている。
大事なのは AppMobi.cache.setCookie(name,value,parseInt(daysTillExpiry));
とりあえず、APIで確認( ´∀`)bグッ!
第1引数:ユニークな名前。
第2引数:データ
第3引数:保存期間
ってことですね。この3つの引数でCookieを追加することができます。
ふぅ…疲れてきたので削除と表示は省略しましょうかwww
(deleteCookie()関数) 204 AppMobi.cache.removeCookie(name); (showCookie()関数) 221 AppMobi.cache.getCookie(selectedText);
まず cache.removeCookie から見てみようワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ
・登録されているCookieのユニークな名前を引数にすることで、そのCookieを削除できる。
次は cache.getCookie を見る!
・登録されているCookieのユニークな名前を引数にすることで、value(データ)を取り出すことができる
え〜と、、、
一応この3つがあれば追加、削除、表示はできます!
AppMobi.cache.setCookie
AppMobi.cache.getCookie
AppMobi.cache.removeCookie
を使って、なにか作ってみようかね(ノシ`・ω・)ノシ バンバン