当前位置: 首页 > 知识库问答 >
问题:

如何在android java中从cordova-plugin-nativestorage中获取数据

颜安宁
2023-03-14
<!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在后台服务中获得这些数据(“值”)。

Backgroud services Java:

package cz.oznameni;

public class Backgroundoznameni extends Service {

}

共有1个答案

司空俊悟
2023-03-14

我做了一个更改,所以您应该方便地访问保存的值。

请先重新安装插件:

cordova plugin remove cordova-plugin-nativestorage
cordova plugin add https://github.com/TheCocoaProject/cordova-plugin-nativestorage

这将安装dev版本。这是因为更新后的代码没有推送到NPM(更新:现在不需要使用dev版本,NPM上的版本就可以了)。

String getValue(Context context, String key, String defaultValue) {
        SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, Activity.MODE_PRIVATE);
        return settings.getString(key, defaultValue);
    }
public static final String PREFS_NAME = "NativeStorage";
    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);
        }
    }
 类似资料:
  • 问题内容: 美好的一天,我为Cordova制作了本机背景mod,我需要从js到Java获取数据。我使用以下代码将数据保存在带有插件cordova-plugin- nativestorage的 js中: 但是我的问题是:我不知道如何在没有Cordova活动的情况下使用Java在后台服务中获取此数据(“值”)。 背景服务Java: 问题答案: 我进行了更改,因此您应该方便地访问所保存的值。 请首先重新

  • 问题内容: 是否可以从cordova-sqlite同步获取数据? 我有一个带有字段(ID,caseName,日期)的表。该表中的每一行都对应于另一个以caseName字段命名的表。我需要遍历该表并获取所引用表中的行数计数。 为了在列表视图中显示“ i”的值,我需要显示该表中有多少个元素。我需要调用同步,因为我需要调用一些查询,该查询计算该元素中“ result.rows.item(i).CaseN

  • 问题内容: 这是我的类,用于从数据库中获取数据 这是我的文件: 当我运行该程序时,出现异常后,请帮助我如何解决它。我是Hibernate的新手,尝试学习但被卡住了。 虽然我能够将数据存储在数据库中,但我有2个用于第一和第二类的数据获取数据,但在获取数据时遇到了问题PLZ帮助。 问题答案: 让我引述一下: 据我所知,您正在使用表名。 所以应该是这样的:

  • 我有一张狗的名单,需要取一些数据。在一种情况下,我需要在列表中显示名称行,在其他情况下,我需要来自一只狗的全部或部分数据(名称、性别、速度)。我相当肯定我应该使用数组,尽管我是从字典开始的。我计划添加更多参数,并允许用户添加更多的狗,所以我试图找到最可扩展的选项

  • 问题内容: 我正在尝试让我的函数返回http get请求,但是,无论如何,它似乎在?scope中丢失了。我对Node.js不熟悉,因此不胜感激 问题答案: 当然,您的日志会返回:您在完成请求之前先进行日志。问题不是范围,而是 异步性 。 是异步的,这就是为什么它将回调作为参数的原因。做您在回调中要做的事情(传递给的):

  • 亲爱的, 我已经创建了一个junit5测试用例(UserDaoTests.java),但无法在spring配置文件(data.xml)中定义DataSource Bean。 数据junit的xml配置文件。我在其中定义了数据源bean jdbc。属性: JUnit测试(UserDaoTests.java) 日志: 我还想澄清一下,我使用静态数据源,因为我需要使用@BeforeAll,它只需要静态字