SlideShare a Scribd company logo
LocalStorageによる
データ保存
メモ帳アプリを作ってみよう
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 2
localStorage
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 3
localStorageとは
• HTML5の関連技術として、新しい規格として標準化
• アプリ(ブラウザ)を終了しても、5MBまでのデータを
保存することができるため、オフラインでも利用可能
• 現状は文字列のみ、保存・読み込みが可能
– 配列などのオブジェクトは保存できない
• Internet Explorer 8、Mozilla Firefox、Google Chrome、
Safari、Operaなど全ての主要ブラウザの最新版で実装済
み
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 4
記述方法
• localStorageの値の設定(保存)
– localStorage . キー = 値
– localStorage['キー'] = 値
– localStorage.setItem('キー', 値)
• localStorageの値の取得
– localStorage.キー
– localStorage['キー']
– localStorage.getItem('キー')
• localStorageの値の削除
– delete localStorage.キー
– delete localStorage['キー']
– localStorage.removeItem('キー')
• localStorageの値の設定(保存)
– localStorage . キー = 値
– localStorage['キー'] = 値
– localStorage.setItem('キー', 値)
• localStorageの値の取得
– localStorage.キー
– localStorage['キー']
– localStorage.getItem('キー')
• localStorageの値の削除
– delete localStorage.キー
– delete localStorage['キー']
– localStorage.removeItem('キー')
記述方法
簡単に入力できる
記述を利用
記述方法
• localStorageの値の設定(保存)
– localStorage . キー = 値
• localStorageの値の取得
– localStorage.キー
• localStorageの値の削除
– delete localStorage.キー
「キー」は、変数名のルールで任意に指定できます。
「localStrage.キー」という変数だと考えると
変数と同じように利用できます
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 7
とりあえず、簡単に
保存・取得・削除
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 8
一人つぶやきアプリ作成
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 9
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 10
アプリ開発演習に向けて
複数ページコンテンツを
作成してみよう
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 11
一人つぶやきアプリ基本仕様
• つぶやき閲覧ページ
– 過去のつぶやきを表示
– つぶやき登録画面へ移動
– つぶやき消去
• つぶやき登録ページ
– 入力用inputタグ
– 登録ボタン
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 12
つぶやき登録画面作成
• 登録日時と文字を保存したい
• 複数のつぶやきを保存したい
– 配列などが利用できないので、複数の情報を
保存するのが難しい
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 13
つぶやき登録画面作成
• 登録日時と文字を保存したい
• 複数のつぶやきを保存したい
– 配列などが利用できないので、複数の情報を
保存するのが難しい
そんなときは・・
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 14
JSON
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 15
JSONとは
• JavaScript Object Notation
– javaScriptから文字データを構造的に扱うために考え
られたデータ形式
– ダブルクォートで値などを囲む
– コロン区切りのペアを、カンマ区切りで記載
{ “date” : “1月1日”, “text” : “あけおめ”}
{ “変数” : “値”, “変数” : “値”}
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 16
JSONをStorageで活用
• localStorageは文字しか保存できない
でも、JavaScriptでは配列を活用したい
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 17
JSONをStorageで活用
• localStorageへのデータ書き込み
– 配列をJSONデータ(文字)に変換
• localStorageからデータ取得
– JSONデータ(文字)を配列に変換
– 配列に変換後、配列名.変数 としてデータ加工
JSON.stringify(配列)
JSON.parse(jsonデータ)
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 18
配列の使い方
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 19
配列はいろいろ出来る
• 配列の先頭に挿入
– 配列.unshift(データ)
• 配列の後に追加
– 配列.push(データ)
詳しくはMSDNリファレンス
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 20
警告メッセージと
確認ダイアログ
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 21
ダイアログ表示
• 警告メッセージ
alert(‘メッセージ');
• 確認ダイアログ
var r = confirm(‘メッセージ');
if(r){
//OK
}else{
//キャンセル
}
Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 22
HTML要素の
生成と追加
Copyright Ⓒ 2015 Yoshihiro Takahashi All Rights Reserved. 23
タグの生成方法
• タグの生成
オブジェクト名 = document.createElement(“タグ名”);
• 属性の追加
オブジェクト名.属性名 = 値;
• タグ内への文章追加
オブジェクト名. innerHTML = 値;
• タグへのCSS指定
オブジェクト名. style.プロパティ = 値;
Copyright Ⓒ 2015 Yoshihiro Takahashi All Rights Reserved. 24
タグの追加方法
• ID指定でのタグの追加
document.getElementById(“id名”).appendChild(オブジェクト名);
• タグ指定でのタグ追加
var 親オブジェクト名 =
document.getElementByTagName (“親タグ名”);
親オブジェクト名[何番目].appendChild (オブジェクト名);

More Related Content

PDF
Example Argumentative Essays.pdf
PPT
1.1 proses perancangan
PDF
JavaScriptによるvideo audio要素のコントロール入門
PDF
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
PDF
スマホアプリ開発-プロモーション・集客・サポート・広告収入-
PDF
Ajax非同期通信によるサーバー通信
PDF
JavaScriptによるgoogle maps apiの使い方
PDF
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
Example Argumentative Essays.pdf
1.1 proses perancangan
JavaScriptによるvideo audio要素のコントロール入門
Webデザイン入門2-HTML5 フォーム,映像再生,音声再生, CSS3, レスポンシブWebデザイン-
スマホアプリ開発-プロモーション・集客・サポート・広告収入-
Ajax非同期通信によるサーバー通信
JavaScriptによるgoogle maps apiの使い方
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト

Viewers also liked (20)

PDF
Canvas入門01-図形描画とJS活用-
PDF
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
PDF
JavaScript 基礎文法のまとめ
PDF
Canvasでペイントアプリ作成
PDF
JavaScript Basic 02 jQuery
PDF
メディア芸術基礎 II jQuery入門
PPTX
2時間で学ぶjQuery
PPTX
jQueryで気をつけてほしいこと
PDF
WebデザイナのためのjQuery入門。
PDF
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
PDF
漢は黙ってjQuery
PDF
What Makes Great Infographics
PDF
Masters of SlideShare
PDF
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
PDF
You Suck At PowerPoint!
PDF
10 Ways to Win at SlideShare SEO & Presentation Optimization
PDF
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
PDF
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
PDF
2015 Upload Campaigns Calendar - SlideShare
PPTX
What to Upload to SlideShare
Canvas入門01-図形描画とJS活用-
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
JavaScript 基礎文法のまとめ
Canvasでペイントアプリ作成
JavaScript Basic 02 jQuery
メディア芸術基礎 II jQuery入門
2時間で学ぶjQuery
jQueryで気をつけてほしいこと
WebデザイナのためのjQuery入門。
Webデザインの幅を広げる、jQuery【コードを記述する】 先生:保坂 庸介
漢は黙ってjQuery
What Makes Great Infographics
Masters of SlideShare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
You Suck At PowerPoint!
10 Ways to Win at SlideShare SEO & Presentation Optimization
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
2015 Upload Campaigns Calendar - SlideShare
What to Upload to SlideShare
Ad

Similar to HTML5 Local Storageを利用したメモ帳アプリ (20)

PDF
20110519 okuyama tokyo_linuxstudy
KEY
Core Data
PDF
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
PDF
GeckoのLocal Storageについて調べてみた
PPTX
Chromeでストレージ永続化を実現するには
PDF
全文検索入門
PPTX
ななめ45°から見たJavaOne
PDF
20121205 nosql(okuyama fs)セミナー資料
PDF
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
PDF
Pbox on softlayer
PDF
Lombok ハンズオン
PDF
Amazon RDS (MySQL) 入門
PDF
20110517 okuyama ソーシャルメディアが育てた技術勉強会
PPTX
Windows azureを知ろう ロール&ストレージ編
PPT
play framework 勉強会 in 関西
PDF
qpstudy 2014.04 ハードウェア設計の勘所
PDF
Dragon: A Distributed Object Storage at Yahoo! JAPAN (WebDB Forum 2017)
PPTX
コンテキストデータの永続化のための戦略
PPTX
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
PDF
HTML5でオフラインWebアプリケーションを作ろう
20110519 okuyama tokyo_linuxstudy
Core Data
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
GeckoのLocal Storageについて調べてみた
Chromeでストレージ永続化を実現するには
全文検索入門
ななめ45°から見たJavaOne
20121205 nosql(okuyama fs)セミナー資料
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2
Pbox on softlayer
Lombok ハンズオン
Amazon RDS (MySQL) 入門
20110517 okuyama ソーシャルメディアが育てた技術勉強会
Windows azureを知ろう ロール&ストレージ編
play framework 勉強会 in 関西
qpstudy 2014.04 ハードウェア設計の勘所
Dragon: A Distributed Object Storage at Yahoo! JAPAN (WebDB Forum 2017)
コンテキストデータの永続化のための戦略
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
HTML5でオフラインWebアプリケーションを作ろう
Ad

More from Yossy Taka (11)

PDF
WebサイトへのYotutube動画の設置
PDF
Bracketsを使おう
PDF
canvasによるアナログ時計の作成
PDF
Canvasによるデジタル時計制作入門
PDF
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
PDF
Webの仕組みとプログラミング言語
PDF
Emmetの使い方
PDF
JavaScript04 jquery プラグインを使おう
PDF
JavaScript basic, jQuery animation
PDF
Webデザイン入門1-HTML5・CSSについて-
PDF
JavaScript Basic 01
WebサイトへのYotutube動画の設置
Bracketsを使おう
canvasによるアナログ時計の作成
Canvasによるデジタル時計制作入門
ハイブリッドアプリについて-PhoneGapアプリ制作の入り口-
Webの仕組みとプログラミング言語
Emmetの使い方
JavaScript04 jquery プラグインを使おう
JavaScript basic, jQuery animation
Webデザイン入門1-HTML5・CSSについて-
JavaScript Basic 01

HTML5 Local Storageを利用したメモ帳アプリ

  • 2. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 2 localStorage
  • 3. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 3 localStorageとは • HTML5の関連技術として、新しい規格として標準化 • アプリ(ブラウザ)を終了しても、5MBまでのデータを 保存することができるため、オフラインでも利用可能 • 現状は文字列のみ、保存・読み込みが可能 – 配列などのオブジェクトは保存できない • Internet Explorer 8、Mozilla Firefox、Google Chrome、 Safari、Operaなど全ての主要ブラウザの最新版で実装済 み
  • 4. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 4 記述方法 • localStorageの値の設定(保存) – localStorage . キー = 値 – localStorage['キー'] = 値 – localStorage.setItem('キー', 値) • localStorageの値の取得 – localStorage.キー – localStorage['キー'] – localStorage.getItem('キー') • localStorageの値の削除 – delete localStorage.キー – delete localStorage['キー'] – localStorage.removeItem('キー')
  • 5. • localStorageの値の設定(保存) – localStorage . キー = 値 – localStorage['キー'] = 値 – localStorage.setItem('キー', 値) • localStorageの値の取得 – localStorage.キー – localStorage['キー'] – localStorage.getItem('キー') • localStorageの値の削除 – delete localStorage.キー – delete localStorage['キー'] – localStorage.removeItem('キー') 記述方法 簡単に入力できる 記述を利用
  • 6. 記述方法 • localStorageの値の設定(保存) – localStorage . キー = 値 • localStorageの値の取得 – localStorage.キー • localStorageの値の削除 – delete localStorage.キー 「キー」は、変数名のルールで任意に指定できます。 「localStrage.キー」という変数だと考えると 変数と同じように利用できます
  • 7. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 7 とりあえず、簡単に 保存・取得・削除
  • 8. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 8 一人つぶやきアプリ作成
  • 9. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 9
  • 10. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 10 アプリ開発演習に向けて 複数ページコンテンツを 作成してみよう
  • 11. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 11 一人つぶやきアプリ基本仕様 • つぶやき閲覧ページ – 過去のつぶやきを表示 – つぶやき登録画面へ移動 – つぶやき消去 • つぶやき登録ページ – 入力用inputタグ – 登録ボタン
  • 12. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 12 つぶやき登録画面作成 • 登録日時と文字を保存したい • 複数のつぶやきを保存したい – 配列などが利用できないので、複数の情報を 保存するのが難しい
  • 13. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 13 つぶやき登録画面作成 • 登録日時と文字を保存したい • 複数のつぶやきを保存したい – 配列などが利用できないので、複数の情報を 保存するのが難しい そんなときは・・
  • 14. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 14 JSON
  • 15. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 15 JSONとは • JavaScript Object Notation – javaScriptから文字データを構造的に扱うために考え られたデータ形式 – ダブルクォートで値などを囲む – コロン区切りのペアを、カンマ区切りで記載 { “date” : “1月1日”, “text” : “あけおめ”} { “変数” : “値”, “変数” : “値”}
  • 16. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 16 JSONをStorageで活用 • localStorageは文字しか保存できない でも、JavaScriptでは配列を活用したい
  • 17. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 17 JSONをStorageで活用 • localStorageへのデータ書き込み – 配列をJSONデータ(文字)に変換 • localStorageからデータ取得 – JSONデータ(文字)を配列に変換 – 配列に変換後、配列名.変数 としてデータ加工 JSON.stringify(配列) JSON.parse(jsonデータ)
  • 18. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 18 配列の使い方
  • 19. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 19 配列はいろいろ出来る • 配列の先頭に挿入 – 配列.unshift(データ) • 配列の後に追加 – 配列.push(データ) 詳しくはMSDNリファレンス
  • 20. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 20 警告メッセージと 確認ダイアログ
  • 21. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights Reserved. 21 ダイアログ表示 • 警告メッセージ alert(‘メッセージ'); • 確認ダイアログ var r = confirm(‘メッセージ'); if(r){ //OK }else{ //キャンセル }
  • 22. Copyright Ⓒ Yoshihiro Takahashi 2012 All Rights 22 HTML要素の 生成と追加
  • 23. Copyright Ⓒ 2015 Yoshihiro Takahashi All Rights Reserved. 23 タグの生成方法 • タグの生成 オブジェクト名 = document.createElement(“タグ名”); • 属性の追加 オブジェクト名.属性名 = 値; • タグ内への文章追加 オブジェクト名. innerHTML = 値; • タグへのCSS指定 オブジェクト名. style.プロパティ = 値;
  • 24. Copyright Ⓒ 2015 Yoshihiro Takahashi All Rights Reserved. 24 タグの追加方法 • ID指定でのタグの追加 document.getElementById(“id名”).appendChild(オブジェクト名); • タグ指定でのタグ追加 var 親オブジェクト名 = document.getElementByTagName (“親タグ名”); 親オブジェクト名[何番目].appendChild (オブジェクト名);