美好的一天,我为Cordova制作了本机背景mod,我需要从js到Java获取数据。我使用以下代码将数据保存在带有插件cordova-plugin-
nativestorage的
js中:
<!DOCTYPE html>
<html>
<head>
<title>Save data</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady() {
NativeStorage.setItem("somekey", "value", null, null);
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
但是我的问题是:我不知道如何在没有Cordova活动的情况下使用Java在后台服务中获取此数据(“值”)。
背景服务Java:
package cz.oznameni;
public class Backgroundoznameni extends Service {
}
我进行了更改,因此您应该方便地访问所保存的值。
请首先重新安装插件:
cordova plugin remove cordova-plugin-nativestorage
cordova plugin add https://github.com/TheCocoaProject/cordova-plugin-nativestorage
这将安装开发版本。这是因为此更新的代码不会推送到NPM( UPDATE :现在不必使用dev版本,NPM上的版本就可以了)。
为了使用键检索值,我编写了以下方法:
String getValue(Context context, String key, String defaultValue) {
SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, Activity.MODE_PRIVATE);
return settings.getString(key, defaultValue);
}
的PREFS_NAME
声明如下:
public static final String PREFS_NAME = "NativeStorage";
上下文应this
在onCreate
方法内可访问。
因此,总的来说,它应该像这样:
public class Backgroundoznameni extends Service {
public static final String PREFS_NAME = "NativeStorage";
@Override
public void onCreate() {
String value = getValue(Backgroundoznameni.this, "somekey", null);
}
String getValue(Context context, String key, String defaultValue) {
SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, Activity.MODE_PRIVATE);
return settings.getString(key, defaultValue);
}
}
注意:代码未经测试!
编辑:此问题在此Github问题中进一步记录。
但我的问题是:我不知道如何在没有Cordova活动的情况下用java在后台服务中获得这些数据(“值”)。 Backgroud services Java:
问题内容: 是否可以从cordova-sqlite同步获取数据? 我有一个带有字段(ID,caseName,日期)的表。该表中的每一行都对应于另一个以caseName字段命名的表。我需要遍历该表并获取所引用表中的行数计数。 为了在列表视图中显示“ i”的值,我需要显示该表中有多少个元素。我需要调用同步,因为我需要调用一些查询,该查询计算该元素中“ result.rows.item(i).CaseN
问题内容: 我正在尝试让我的函数返回http get请求,但是,无论如何,它似乎在?scope中丢失了。我对Node.js不熟悉,因此不胜感激 问题答案: 当然,您的日志会返回:您在完成请求之前先进行日志。问题不是范围,而是 异步性 。 是异步的,这就是为什么它将回调作为参数的原因。做您在回调中要做的事情(传递给的):
我有一张狗的名单,需要取一些数据。在一种情况下,我需要在列表中显示名称行,在其他情况下,我需要来自一只狗的全部或部分数据(名称、性别、速度)。我相当肯定我应该使用数组,尽管我是从字典开始的。我计划添加更多参数,并允许用户添加更多的狗,所以我试图找到最可扩展的选项
问题内容: 我已经签出了很多页面,但是大多数教程和脚本使用这种JSON输出类型返回错误代码。那么,如何才能从Java中的JSON中提取数据? 问题答案: 如果要使用Gson,则首先声明用于容纳每个元素和子元素的类: 然后,声明一个最外层元素的数组(因为在这种情况下,JSON对象是一个JSON数组),并对其进行分配: 然后,您只需访问的元素。 要记住的重要一点是,您声明的属性的名称和类型应与JSON
问题内容: 令我感到羞耻的是,我无法弄清楚如何从Gin框架的前端获取数据。在Django中,我得到了数据,所以: 一切都是简单易懂的。我应该怎么做杜松子酒? 问题答案: 服务器GIN无法处理来自axios的常规默认应用程序/ json请求!!!什么???请求应以application / x-www-form- urlencoded发送。我在Vue项目中的决定:使用vue-resource而不是a