我想在 HTML 文本框中写入 JavaScript 文件中的数据流
I want to write a stream of data that are in a JavaScript file in an HTML textbox
正如您从我之前的问题中看到的那样,我对编码世界还很陌生。我试图为 Tizen 设备(Samsung Gear S)开发一个应用程序来读取心率并显示它。我使用模板并尝试在文件系统中写入数据,但遇到了一些问题,我开始开发一个简单的应用程序,它将在屏幕上显示心率。我使用了 Tizen 开发站点中的一些代码片段,并且能够控制台记录数据。现在我想将这些数据流式传输到一个 "textbox like thing"(抱歉这个词 :)),它最终会在 运行 时显示在应用程序屏幕上。
我首先尝试了一个超级简单的应用程序,该应用程序在文本框中显示了 hello world 字符串并且它起作用了。现在我正在尝试根据我的目的调整代码。
我想要的是将连续显示在框上的数据流,不仅一次,也许我必须使用不同类型的代码。下面是我的代码,很抱歉这个愚蠢的问题,但我被分配到一个完全远离知识的事情。先谢谢您的帮助!
Tizen SDK 的主要文件使用 Javascript 语言,Web 应用程序的图形界面使用 HTML 和 CSS 语言。
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="description" content="A single-page template generated by Tizen Wearable Web IDE"/>
<title>Tizen Wearable Web IDE - Tizen Wearable - jQuery</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<div class=contents>
<div style='margin:auto;'>
<span class=content_text id=textbox>Basic</span>
<input type="text" id="mytext">
</div>
</div>
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</body>
</html>
JAVASCRIPT:
var counter = 0;
function onchangedCB(hrmInfo)
{
console.log("Heart Rate: " + hrmInfo.heartRate);
console.log("Peak-to-peak interval: " + hrmInfo.rRInterval + " milliseconds");
counter++;
if (counter > 10)
{
/* Stop the sensor after detecting a few changes */
tizen.humanactivitymonitor.stop("HRM");
}
}
tizen.humanactivitymonitor.start("HRM", onchangedCB);
function onsuccessCB(hrmInfo)
{
console.log("Heart rate: " + hrmInfo.heartRate);
}
function onerrorCB(error)
{
console.log("Error occurred: " + error.message);
}
tizen.humanactivitymonitor.getHumanActivityData("HRM", onsuccessCB, onerrorCB);
var data = hrmInfo.heartRate;
document.getElementById("mytext").value = data;
document.addEventListener('tizenhwkey', function(e) {
if(e.keyName === "back") {
try {
tizen.humanactivitymonitor.stop("HRM");
tizen.application.getCurrentApplication().exit();
} catch (error) {
console.error("getCurrentApplication(): " + error.message);
}
}
});
我认为问题是 document.getElementById("mytext").value = data;
和上一行不在正确的位置。我建议将这些行添加到控制台行上方或下方的 onchangedCB
。这是预期定义 hrmInfo
的地方,因为它作为参数传递给 onchangedCB
.
正如您从我之前的问题中看到的那样,我对编码世界还很陌生。我试图为 Tizen 设备(Samsung Gear S)开发一个应用程序来读取心率并显示它。我使用模板并尝试在文件系统中写入数据,但遇到了一些问题,我开始开发一个简单的应用程序,它将在屏幕上显示心率。我使用了 Tizen 开发站点中的一些代码片段,并且能够控制台记录数据。现在我想将这些数据流式传输到一个 "textbox like thing"(抱歉这个词 :)),它最终会在 运行 时显示在应用程序屏幕上。 我首先尝试了一个超级简单的应用程序,该应用程序在文本框中显示了 hello world 字符串并且它起作用了。现在我正在尝试根据我的目的调整代码。 我想要的是将连续显示在框上的数据流,不仅一次,也许我必须使用不同类型的代码。下面是我的代码,很抱歉这个愚蠢的问题,但我被分配到一个完全远离知识的事情。先谢谢您的帮助! Tizen SDK 的主要文件使用 Javascript 语言,Web 应用程序的图形界面使用 HTML 和 CSS 语言。
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="description" content="A single-page template generated by Tizen Wearable Web IDE"/>
<title>Tizen Wearable Web IDE - Tizen Wearable - jQuery</title>
<link rel="stylesheet" href="css/style.css" />
</head>
<body>
<div class=contents>
<div style='margin:auto;'>
<span class=content_text id=textbox>Basic</span>
<input type="text" id="mytext">
</div>
</div>
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</body>
</html>
JAVASCRIPT:
var counter = 0;
function onchangedCB(hrmInfo)
{
console.log("Heart Rate: " + hrmInfo.heartRate);
console.log("Peak-to-peak interval: " + hrmInfo.rRInterval + " milliseconds");
counter++;
if (counter > 10)
{
/* Stop the sensor after detecting a few changes */
tizen.humanactivitymonitor.stop("HRM");
}
}
tizen.humanactivitymonitor.start("HRM", onchangedCB);
function onsuccessCB(hrmInfo)
{
console.log("Heart rate: " + hrmInfo.heartRate);
}
function onerrorCB(error)
{
console.log("Error occurred: " + error.message);
}
tizen.humanactivitymonitor.getHumanActivityData("HRM", onsuccessCB, onerrorCB);
var data = hrmInfo.heartRate;
document.getElementById("mytext").value = data;
document.addEventListener('tizenhwkey', function(e) {
if(e.keyName === "back") {
try {
tizen.humanactivitymonitor.stop("HRM");
tizen.application.getCurrentApplication().exit();
} catch (error) {
console.error("getCurrentApplication(): " + error.message);
}
}
});
我认为问题是 document.getElementById("mytext").value = data;
和上一行不在正确的位置。我建议将这些行添加到控制台行上方或下方的 onchangedCB
。这是预期定义 hrmInfo
的地方,因为它作为参数传递给 onchangedCB
.