ニフティクラウドmobile backendを試してみる(7)早起きアプリpart2
前回は、monacaで早起きアプリの途中まで行った。
http://twosquirrel.mints.ne.jp/?p=11569
引き続き、以下の動画にしたがってやっていきたい。
(環境)
Cordova (PhoneGap) Loader Ver=1.0.0
Monaca Core Utility Ver=2.0.4
jQuery (Monaca Version) Ver=2.0.3
ncmb Ver=2.1.3
しかし、ここで要注意。
(参考)
ニフティクラウドmobile backend のJavaScript SDKでハマった話【早起きアプリ】
tsumi 2016年07月12日に更新
http://qiita.com/tsumi/items/4d1f9da56b3550e3be13
→このページ、本当に大事!!!
(8)JavaScript SDKを組み込む。
「上記の動画に従ってやっていく」といったが、2016年11月時点で上記動画に従うと失敗するので、いきなり、下記リンクにしたがって行っていく。
ニフティクラウドmobile backend のJavaScript SDKでハマった話【早起きアプリ】
tsumi 2016年07月12日に更新
http://qiita.com/tsumi/items/4d1f9da56b3550e3be13
具体的には、まず、 設定 > JS/CSSコンポーネントの追加と削除
検索窓に、ncmb と入力して、検索 → 追加 → インストール開始
(9)NiftyCloud MobileBackendのアプリを新規作成
hayaoki という名前のNCMBアプリを作成
ニフティクラウドmobile backendの初期化(ここが、動画と異なる。ncmbのJavascript SDKのVerisionが、1.xから、2.xに変更したかららしいが、詳細は不明。とにかく、動画通りにやるとうまくいかない。参考:http://qiita.com/tsumi/items/4d1f9da56b3550e3be13)
ここで出てくる、「APIキー」と、「クライアントキー」をコピペ。
//初期化 var application_key = 'APIキー'; var client_key = 'クライアントキー'; //NCMB.initialize(application_key, client_key); var ncmb = new NCMB(application_key, client_key);
とにかく、var ncmb = new NCMB(application_key, client_key); と記載するところがポイント。その後も罠はいっぱい出てくる。
(10)(11)NCMBの「データストア」の利用
ど素人の私には、
データストア(JavaScript)基本的な使い方(公式のドキュメント)
http://mb.cloud.nifty.com/doc/current/datastore/basic_usage_javascript.html
を読んで実行するなんて無理。こちらを写経する。
<script>
var onDeviceReady = function() {
// 初期化
var application_key = '(アプリケーションキー)'
var client_key = '(クライアントキー)'
//NCMB.initialize(application_key, client_key); //(旧バージョン)
var ncmb = new NCMB(application_key, client_key);
$(".btn").on("click", function() {
// 今の時間を取得
var hour = (new Date()).getHours();
//var hour = 8;
console.log(hour);
// データの保存
//var WakeUpClass = NCMB.Object.extend(“WakeUpClass”);
var WakeUpClass = ncmb.DataStore("WakeUpClass");
var wakeup = new WakeUpClass();
wakeup.set("hour", hour);
wakeup.save().then(function() {
//データの抽出
//var query = new NCMB.Query(WakeUpClass);
//QueryはfetchAllと同じ
//query.find().then(function(results) {
WakeUpClass.count().fetchAll().then(function(results) {
$(".msg").text("You're #" + results.count + "!");
});
});
// 条件分岐
// スマイルマークをハイライト
if (hour < 12) $(".fa:nth-child(1").addClass("highlight");
if (hour < 9) $(".fa:nth-child(2").addClass("highlight");
if (hour < 7) $(".fa:nth-child(3").addClass("highlight");
});
}
document.addEventListener("deviceready", onDeviceReady, false);
</script>
ここで、実機デバッグで、「Wake UP!!!」ボタンを押すと、NCMBのデータストアのところに、WakeUpClassというテーブルが作成されて、データが1個保存されている。
(12)早起きした順番を表示する
</style>の直前に追加
.msg {
margin: 0 auto;
font-size: 22px;
color: #0AF;
}
<script>の前に、以下のような感じで追加。
<div class="btn">Wake UP!!!</div> <p class="msg"></p> <script>
実機(Androidスマホ)でデバッグ (なぜか、monacaのプレビュー画面ではうまくいかない)
ここまでとする。

ディスカッション
コメント一覧
まだ、コメントがありません