我正在尝试在文本文件上写入三星 Gear S 的 Tizen 可穿戴应用程序中的一些数据
I'm trying to write on a text file some data in a Tizen wearable application for Samsung Gear S
我对编码世界还很陌生,有点麻烦。我想从 Samsung Gear S 的 Tizen 网络应用程序中的网络应用程序 运行 获取心率数据。
该网络应用程序是三星的示例,当然可以正常工作。我从 Tizen 的开发站点找到了一些用于在文件系统上编写的代码片段。事实上,我可以在 usr 的 Documents 文件夹下创建一个文件夹,其中包含一个文本文件,但我只能在文本文件中获得类似 [Object object] 的内容。所以,写了一些东西,但我显然没有写我想要的东西。一些帮助将不胜感激。提前致谢!
马可
/**
* Value of current heart rate.
*
* @memberof models/heartRate
* @private
* @type {object}
*/
heartRate = null,
/**
* Object represents Heart Rate Monitor data.
*
* @memberof models/heartRate
* @private
* @type {object}
*/
heartRateData = {};
/**
* Sets heart rate and time values received from sensor.
* Returns heart rate data.
*
* @memberof models/heartRate
* @private
* @param {object} heartRateInfo
* @returns {object}
*/
function setHeartRateData(heartRateInfo) {
var pData = {
rate: heartRateInfo.heartRate,
rrinterval: heartRateInfo.rRInterval
};
heartRateData = pData;
return pData;
}
/**
* Returns last received motion data.
*
* @memberof models/heartRate
* @private
* @returns {object}
*/
function getData() {
return heartRateData;
}
/**
* Resets heart rate data.
*
* @memberof models/heartRate
* @private
*/
var newDir, newFile;
tizen.filesystem.resolve("documents", function(dir)
{
newDir = dir.createDirectory("newDir");
newFile = newDir.createFile("beats.txt");
newFile.openStream(
"w",
function(fs) {
fs.write(getData());
fs.close();
}, function(e) {
console.log("Error " + e.message);
}, "UTF-8");
});
tizen.filesystem.resolve("documents", function(dir)
{
var file = dir.resolve("newDir/beats.txt");
file.openStream(
"r",
function(fs) {
var text = fs.read(file.fileSize);
fs.close();
console.log(text);
}, function(e) {
console.log("Error " + e.message);
}, "UTF-8");
});
function resetData() {
heartRateData = {
rate: '-',
rrinterval: '-'
};
}
/**
* Handles change event on current heart rate.
*
* @memberof models/heartRate
* @private
* @param {object} heartRateInfo
* @fires models.heartRate.change
*/
function handleHeartRateInfo(heartRateInfo) {
setHeartRateData(heartRateInfo);
event.fire('change', getData());
}
/**
* Starts the sensor and registers a change listener.
*
* @memberof models/heartRate
* @public
*/
function start() {
resetData();
heartRate.start(
CONTEXT_TYPE,
function onSuccess(heartRateInfo) {
handleHeartRateInfo(heartRateInfo);
},
function onError(error) {
console.log('error: ', error.message);
}
);
}
/**
* Stops the sensor and unregisters a previously registered listener.
*
* @memberof models/heartRate
* @public
*/
function stop() {
heartRate.stop(CONTEXT_TYPE);
}
您想写入什么格式的文件?
function setHeartRateData(heartRateInfo) {
var pData = {
rate: heartRateInfo.heartRate,
rrinterval: heartRateInfo.rRInterval
};
heartRateData = pData;
return pData;
}
此函数使 return 成为具有两个 属性 的对象。 (rate
, rrinterval
) 并将数据设置为全局 heartRateData
function getData() {
return heartRateData;
}
getData()
return 全局 hearRateData
function(fs) {
fs.write(getData());
fs.close();
}, function(e) {
console.log("Error " + e.message);
}, "UTF-8");
fs.write(getData());
它尝试将 object
写入文件。
所以对象默认转换为字符串 toString()
方法。
object.toString()
return [Object object]
所以文件只写入 [Object object]
如果你想让它有意义。尝试从 getdata()
.
格式化为对象和属性
例如:
var data = getData();
fs.write("rate : " + data.rate);
fs.write("RR interval : " + data.rrinterval);
如果您重新 fs.write(getData());
此代码。
文件会这样写。
rate : [some number of rate]
RR interval : [some number of RR interval]
我设法写了一些东西,把你的代码直接放在函数中(fs);但是,我只能看到一个心率和一个 RR 间隔。我怎样才能写一个数据序列?谢谢!
var newDir, newFile;
tizen.filesystem.resolve("documents", function(dir)
{
newDir = dir.createDirectory("newDir");
newFile = newDir.createFile("beats.txt");
newFile.openStream(
"w",
function(fs) {
var data = getData();
fs.write("rate : " + data.rate);
fs.write("RR interval : " + data.rrinterval);
fs.close();
}, function(e) {
console.log("Error " + e.message);
}, "UTF-8");
});
tizen.filesystem.resolve("documents", function(dir)
{
var file = dir.resolve("newDir/beats.txt");
file.openStream(
"r",
function(fs) {
var text = fs.read(file.fileSize);
fs.close();
console.log(text);
}, function(e) {
console.log("Error " + e.message);
}, "UTF-8");
});
我对编码世界还很陌生,有点麻烦。我想从 Samsung Gear S 的 Tizen 网络应用程序中的网络应用程序 运行 获取心率数据。 该网络应用程序是三星的示例,当然可以正常工作。我从 Tizen 的开发站点找到了一些用于在文件系统上编写的代码片段。事实上,我可以在 usr 的 Documents 文件夹下创建一个文件夹,其中包含一个文本文件,但我只能在文本文件中获得类似 [Object object] 的内容。所以,写了一些东西,但我显然没有写我想要的东西。一些帮助将不胜感激。提前致谢!
马可
/**
* Value of current heart rate.
*
* @memberof models/heartRate
* @private
* @type {object}
*/
heartRate = null,
/**
* Object represents Heart Rate Monitor data.
*
* @memberof models/heartRate
* @private
* @type {object}
*/
heartRateData = {};
/**
* Sets heart rate and time values received from sensor.
* Returns heart rate data.
*
* @memberof models/heartRate
* @private
* @param {object} heartRateInfo
* @returns {object}
*/
function setHeartRateData(heartRateInfo) {
var pData = {
rate: heartRateInfo.heartRate,
rrinterval: heartRateInfo.rRInterval
};
heartRateData = pData;
return pData;
}
/**
* Returns last received motion data.
*
* @memberof models/heartRate
* @private
* @returns {object}
*/
function getData() {
return heartRateData;
}
/**
* Resets heart rate data.
*
* @memberof models/heartRate
* @private
*/
var newDir, newFile;
tizen.filesystem.resolve("documents", function(dir)
{
newDir = dir.createDirectory("newDir");
newFile = newDir.createFile("beats.txt");
newFile.openStream(
"w",
function(fs) {
fs.write(getData());
fs.close();
}, function(e) {
console.log("Error " + e.message);
}, "UTF-8");
});
tizen.filesystem.resolve("documents", function(dir)
{
var file = dir.resolve("newDir/beats.txt");
file.openStream(
"r",
function(fs) {
var text = fs.read(file.fileSize);
fs.close();
console.log(text);
}, function(e) {
console.log("Error " + e.message);
}, "UTF-8");
});
function resetData() {
heartRateData = {
rate: '-',
rrinterval: '-'
};
}
/**
* Handles change event on current heart rate.
*
* @memberof models/heartRate
* @private
* @param {object} heartRateInfo
* @fires models.heartRate.change
*/
function handleHeartRateInfo(heartRateInfo) {
setHeartRateData(heartRateInfo);
event.fire('change', getData());
}
/**
* Starts the sensor and registers a change listener.
*
* @memberof models/heartRate
* @public
*/
function start() {
resetData();
heartRate.start(
CONTEXT_TYPE,
function onSuccess(heartRateInfo) {
handleHeartRateInfo(heartRateInfo);
},
function onError(error) {
console.log('error: ', error.message);
}
);
}
/**
* Stops the sensor and unregisters a previously registered listener.
*
* @memberof models/heartRate
* @public
*/
function stop() {
heartRate.stop(CONTEXT_TYPE);
}
您想写入什么格式的文件?
function setHeartRateData(heartRateInfo) {
var pData = {
rate: heartRateInfo.heartRate,
rrinterval: heartRateInfo.rRInterval
};
heartRateData = pData;
return pData;
}
此函数使 return 成为具有两个 属性 的对象。 (rate
, rrinterval
) 并将数据设置为全局 heartRateData
function getData() {
return heartRateData;
}
getData()
return 全局 hearRateData
function(fs) {
fs.write(getData());
fs.close();
}, function(e) {
console.log("Error " + e.message);
}, "UTF-8");
fs.write(getData());
它尝试将 object
写入文件。
所以对象默认转换为字符串 toString()
方法。
object.toString()
return [Object object]
所以文件只写入 [Object object]
如果你想让它有意义。尝试从 getdata()
.
例如:
var data = getData();
fs.write("rate : " + data.rate);
fs.write("RR interval : " + data.rrinterval);
如果您重新 fs.write(getData());
此代码。
文件会这样写。
rate : [some number of rate]
RR interval : [some number of RR interval]
我设法写了一些东西,把你的代码直接放在函数中(fs);但是,我只能看到一个心率和一个 RR 间隔。我怎样才能写一个数据序列?谢谢!
var newDir, newFile;
tizen.filesystem.resolve("documents", function(dir)
{
newDir = dir.createDirectory("newDir");
newFile = newDir.createFile("beats.txt");
newFile.openStream(
"w",
function(fs) {
var data = getData();
fs.write("rate : " + data.rate);
fs.write("RR interval : " + data.rrinterval);
fs.close();
}, function(e) {
console.log("Error " + e.message);
}, "UTF-8");
});
tizen.filesystem.resolve("documents", function(dir)
{
var file = dir.resolve("newDir/beats.txt");
file.openStream(
"r",
function(fs) {
var text = fs.read(file.fileSize);
fs.close();
console.log(text);
}, function(e) {
console.log("Error " + e.message);
}, "UTF-8");
});