JavaScript
// (5) クラウド上で歩数を管理する「Steps」クラスを定義する var Steps = ncmb.DataStore('Steps'); // (6) アプリ内に保持しいている未同期の歩数データをクラウドと同期させる処理 var syncCloud = function (data, waitingList) { // 今から保存する歩数データへのアクセス権限を自分自身だけに限定するためのACLを作る var currentUser = ncmb.User.getCurrentUser(); var acl = new ncmb.Acl(); acl.setUserReadAccess(currentUser, true) .setUserWriteAccess(currentUser, true); // 保存するデータを構築する var steps = new Steps(); // 値を設定 steps.set('objectId', data.objectId) .set('date', data.date) .set('count', data.count) .set('acl', acl); // save/updateメソッドでクラウド上へ保存/更新する (!steps.objectId ? steps.save() : steps.update()) // 三項演算子 (条件 ? 真:偽) .then(function (obj) { /* 保存または更新成功時の処理 */ Pedometer.steps[data.date].objectId = obj.objectId; $('body').trigger('syncNext', [waitingList]); }) .catch(function (err) { /* 保存または更新失敗時の処理 */ Pedometer.steps[data.date].synced = false; $('body').trigger('ncmbError', [err, 'syncCloud']); $('body').trigger('syncNext', [waitingList]); }); }; // (7) 歩数データを取得してログイン時に表示する処理 var loginComplete = function (today) { // ログイン完了後に自身の今日の歩数をクラウドから取得してPedometerに設定 Steps.equalTo('date', today) .fetchAll() .then(function (objects) { if (objects.length > 0) { var currentSteps = { count: objects[0].get('count'), objectId: objects[0].get('objectId'), date: objects[0].get('date') }; Pedometer.setSteps(currentSteps); } Pedometer.refresh(); }) .catch(function (err) { $('body').trigger('ncmbError', [err, 'loginComplete']); }); }; ```javaScriptとJavaを使ってmonacaとニフクラを利用して歩数計アプリを作っています 発生している問題・エラーメッセージ 加速度センサがうまく動いていないこととニフクラでStepsクラスが作れていないこと エラーメッセージ TypeError: undefined is not an object (evaluating 'navigator.accelerometer.watchAcceleration') 該当のソースコード 詳しくは https://github.com/ndyuya/pedometer に乗っています。 ソースコードが長すぎるためのせられないので上記のURLを見て欲しいです。 試したこと
あなたの回答
tips
プレビュー