2012-02-25 10 views
5

से सीधे एचटीएमएल 5 स्थानीय स्टोरेज डेटा पढ़ना मेरे पास एक साधारण एंड्रॉइड ऐप है जिसमें वेबव्यू है। WebView को उस साइट पर ब्राउज़ करने के लिए सेट किया गया है जो जावास्क्रिप्ट की स्थानीय स्टोरेज सुविधा का उपयोग करता है।एंड्रॉइड - जावा

मैं पहले ही अपनी WebSettings DomStorage अनुमति देने के लिए सेट हो जाने पर:

webSettings.setJavaScriptEnabled(true); 
ebSettings.setDomStorageEnabled(true); 

String dbPath = this.getApplicationContext().getDir("database", MODE_PRIVATE).getPath();   
webSettings.setDatabasePath(dbPath); 

क्या मैं जरूरत है एक तरीका है कि मेरी जावा कोड localStorage प्रणाली का उपयोग करके संग्रहीत एक चर पढ़ सकते हैं, यानी .:

है जावास्क्रिप्ट यह करता है:

var storage = window.localStorage; 
    storage.setItem("name", "Hello World!"); 

मैं जावा कोड से स्थानीय स्टोरेज से "नाम" के मूल्य को कैसे पढ़ सकता हूं?

उत्तर

0
yourWebView.setWebChromeClient(new WebChromeClient(){ 
     public boolean onJsAlert(WebView view, String url, String message, JsResult result) { 
     Log.d(tag, "That's my local storage value =" + message); 
     return false; 
     }; 
    }); 
(...) 
    yourWebView.loadURL("javascript:alert(localStorage.getItem(\"name\"))"); 
+0

यह मैं देता है:: "Uncaught SecurityError: पढ़ने के लिए 'विफल

-किसी कॉर्डोबा

NativeStorage.setItem("reference", obj, setSuccess, setError); function setSuccess(obj){ } function setError(obj){ } 

में और Anroid जावा फ़ाइल में मान सेट करने के लिए है कि हम इस मूल्य प्राप्त करने के 'विंडो' से स्थानीय स्टोरेज 'संपत्ति: इस दस्तावेज़ के लिए एक्सेस अस्वीकार कर दी गई है। " – Onheiron

+0

@ ओन्हारॉन मुझे भी एक ही समस्या का सामना करना पड़ रहा है। क्या आपने इसे हल किया? –

0

अपनी गतिविधि

webView.addJavascriptInterface(myInterface, "JSInterface"); 

जावास्क्रिप्ट इंटरफ़ेस वर्ग जावास्क्रिप्ट में

class myInterface 
{ 

    @JavascriptInterface 
    public void getVariable(string fromLocalStorage) 
    { 
    //your code 
    } 

} 

window.JSInterface.getVariable(localStorage.getItem("variableName")) 
1

हाँ संभव जावा (Android) में localStorage मूल्य को पढ़ने के लिए में।

इस प्लगइन का उपयोग https://www.npmjs.com/package/cordova-plugin-nativestorage जो मूल संग्रहण का उपयोग करता है।

SharedPreferences sharedPreferences = getSharedPreferences("MainActivity", MODE_PRIVATE); 
    System.out.println("********--------- shared pref values... " + sharedPreferences.getString("myid", "no value")); 
संबंधित मुद्दे