5

में कॉर्डोवा-प्लगइन-नेटिवस्टोरेज से डेटा कैसे प्राप्त करें अच्छा दिन, मैं कॉर्डोवा के लिए मूल पृष्ठभूमि मोड बना रहा हूं और मुझे जेएस से जावा तक डेटा प्राप्त करने की आवश्यकता है। मैं इस कोड के साथ प्लगइन 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 गतिविधि के बिना पृष्ठभूमि सेवाओं में जावा के साथ इस डेटा ("मान") प्राप्त करने के लिए कैसे पता नहीं है।

backgroud सेवाओं जावा:

package cz.oznameni; 

public class Backgroundoznameni extends Service { 

} 

उत्तर

2

ताकि आप आसानी से बचाया मूल्य का उपयोग करना चाहिए मैं एक परिवर्तन किया है।

कृपया, पहले प्लगइन को पुन::

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

यह देव संस्करण स्थापित हो जाएगा। ऐसा इसलिए क्योंकि यह अद्यतन कोड एनपीएम (अद्यतन पर धक्का नहीं दिया गया है: अब dev संस्करण का उपयोग करना आवश्यक नहीं है, एनपीएम पर संस्करण ठीक है)।

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); 
     } 
    } 

नोट: कोड का परीक्षण नहीं किया!

संपादित करें: यह आगे this Github issue में प्रलेखित है।

संबंधित मुद्दे