チュートリアル(JavaScript & Monaca)
Monacaでクイズアプリを作る(前半)のサンプルコード
Contents |
データストアにデータを保存する
以下の3つのファイルについて、
コメントが記載されている箇所を書き換えてください。
index.html
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, user-scalable=no">
<script src="components/loader.js"></script>
<link rel="stylesheet" href="components/loader.css">
<link rel="stylesheet" href="css/style.css">
<script>
ons.bootstrap();
</script>
<!-- JavaScriptの読み込みを設定 -->
<script src="js/app.js"></script>
</head>
<body>
<ons-sliding-menu var="app.slidingMenu" menu-page="menu.html" main-page="page1.html" side="left" type="overlay" max-slide-distance="200px">
</ons-sliding-menu>
</body>
</html>
page1.html
<ons-navigator>
<ons-page>
<ons-toolbar>
<div class="left">
<ons-toolbar-button onclick="fn.open()">
<ons-icon icon="ion-navicon, material:md-menu"></ons-icon>
</ons-toolbar-button>
</div>
<!-- ツールバーの文言を変更 -->
<div class="center">データ保存</div>
</ons-toolbar>
<div style="text-align: center">
<!-- タイトルの文言を変更 -->
<h1>データ保存</h1>
<!-- ボタンがクリックされた時にsaveDataメソッドを呼び出す -->
<ons-button onclick="saveData()">
データを保存する
</ons-button>
<div id="message"></div>
</div>
</ons-page>
</ons-navigator>
app.js
YOUR_APPLICATION_KEY、YOUR_CLIENTKEYの部分には、自分のアプリケーションキー・クライアントキーを設定してください。
mobile backendの管理画面を開き、
左メニューの「設定」をクリックするとキーが表示されます。
// This is a JavaScript file
//mobile backendのAPIキーを設定
var ncmb = new NCMB("YOUR_APPLICATION_KEY","YOUR_CLIENTKEY");
//データをmobile backendに保存するメソッド
function saveData(){
//クラス名を指定して新規クラスを作成
var Data = ncmb.DataStore("Data");
//Dataクラスのインスタンスを作成
var data = new Data();
//作成したインスタンスのaisatsuというフィールドに文字データを設定
data.set("aisatsu", "hello, world!");
//設定したデータをmobile backendに保存
data.save()
.then(function(object) {
//成功する時の処理
$("#message").html("<p>データ保存に成功!</p>");
})
.catch(function(error) {
//エラーが発生する時の処理
$("#message").html("error:" + error.message);
});
}
会員登録をしてみる
以下のファイルについて、
コメントが記載されている箇所を書き換えてください。
page2.html
<ons-page>
<ons-toolbar>
<div class="left">
<ons-toolbar-button onclick="fn.open()">
<ons-icon icon="ion-navicon, material:md-menu"></ons-icon>
</ons-toolbar-button>
</div>
<!-- ツールバーの文言を変更 -->
<div class="center">会員登録してみる</div>
</ons-toolbar>
<div style="text-align: center">
<!-- タイトルの文言を変更 -->
<h1>会員登録してみる</h1>
<p>
<!-- ユーザー名とパスワードを入力するテキストボックスを用意 -->
ユーザー名<br/>
<input type="text" id="user_name"/><br/>
パスワード<br/>
<input type="text" id="password"/><br/>
</p>
<!-- 会員登録するボタンが押されたらloginメソッドを呼び出す -->
<ons-button onclick="login()">会員登録する</ons-button>
<!-- ログインしている会員のユーザー名を表示する段落を用意 -->
<p id="current_user">
</p>
</div>
</ons-page>
app.js
saveDataメソッドの下に追記してください。
//mobile backendへの会員登録を行うメソッド
function login (){
//テキストボックスからユーザー名とパスワードを取得
var userName = $("#user_name").val();
var password = $("#password").val();
//ユーザークラスのインスタンスを作成
var user = new ncmb.User();
//インスタンスにユーザー名とパスワードを設定
user.set("userName", userName)
.set("password", password);
//会員登録を行うsignUpByAccountメソッドを実行
user.signUpByAccount()
.then(function (object){
//成功する時の処理
ncmb.User.login(userName, password)
.then(function(data){
// ログイン後処理
getCurrentUser();
})
.catch(function(err){
// エラー処理
console.log("error:" + error.message);
});
})
.catch(function (error){
//エラーが発生する時の処理
console.log("error:" + error.message);
});
}
//ログイン中のユーザー名を取得して画面に表示する
function getCurrentUser(){
//ログイン中の会員を取得
var user = ncmb.User.getCurrentUser();
//取得した会員のユーザー名を表示する
$("#current_user").text("ログイン中のユーザー名:" + user.get("userName"));
}
お探しの内容が見つからなかった場合はユーザーコミュニティ
もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。
推奨画面サイズ1024×768px以上