Я очень новичок в node JS, и это мой первый "больший" проект, и первый проект с android JS, так что проблема ниже, вероятно, очень обычная, но я не могу найти какой-либо описание об этом, поэтому, пожалуйста, если вы можете мне помочь.
Я хочу создать приложение, в котором я могу сохранить свое положение GPS и сохранить его в файл JSON на телефоне, и добавить описание для Это.
- Я не знаю, как протестировать свое приложение, не экспортируя его в apk и устанавливая его снова и снова.
- Я получил
events.js: 183 throw er: //Unhandled 'error' event
при выполнении команды упаковки androidjs -b f
и я не знаю, как это решить, что это такое, так как я думаю, что справляюсь со всеми возможными событиями. Вот мой код обработки JSON, остальная часть программы - это просто клиентская сторона js
и html
, так что я думаю, что если есть какая-то проблема, чем она здесь каким-то образом.
const back = require('androidjs').back;
const fs = require('fs');
const path = require('path');
// defin signal save-data to listen from front process
back.on('save-data', function(filepath, msg){
/*fs.writeFile(path.join(filepath, 'data.json'), msg, function(err){
if(err) throw err;
console.log('file saved')
})*/
var json = JSON.stringify(obj);
fs.readFile('data.json', 'utf8', function readFileCallback(err, data){
if (err){
var obj = {
"positions": [
{coordinate: msg,
name: "Name",
desc: "Description"}
]
};
var json = JSON.stringify(obj);
fs.writeFile('data.json', json, 'utf8', callback);
} else {
obj = JSON.parse(data); //now it an object
obj.positions.push({oordinate: msg,
name: "Name",
desc: "Description"}); //add some data
json = JSON.stringify(obj); //convert it back to json
fs.writeFile('data.json', json, 'utf8', callback); // write it back
}});
})
back.on('get-data', function(filepath){
/*fs.readFile(path.join(filepath, 'data.json'), 'utf-8', function(err, data){
if(err) back.send('get-data-result', '@@');
else back.send('get-data-result', data);
})*/
let rawdata = fs.readFileSync('data.json');
//let data = JSON.parse(rawdata);
back.send('get-data-result', rawdata);
})
back.on('error', function (error) {
back.send('printerror', error);
})
Я добавил это на каждой лицевой стороне:
fron.on('printerror', function(error){
document.write('<div class="callout alert"> <h5>ERROR!</h5><p>' + error);
document.write('</p></div>');
})