2014-02-20 6 views
0

app을 통해 localStorage에 액세스 할 수있는 webview에 문제가 있습니다. 내 index.html은 로컬 저장소가 내 브라우저에서 지원되지 않습니다 (즉, webview). 당신이 어떤 제안이 있다면 .. 내 코드에서 봐 주시기 바랍니다 :Android 로컬 스토리지

Activity.java :

package com.exercise.AndroidHTML; 




import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 


public class AndroidHTMLActivity extends Activity { 

    WebView myBrowser; 
; 
    /** Called when the activity is first created. */ 
    @Override 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     myBrowser = (WebView)findViewById(R.id.mybrowser); 

     myBrowser.loadUrl("file:///android_asset/index.html"); 

     WebSettings webSettings = myBrowser.getSettings(); 
     //enable JavaScript in webview 
     webSettings.setJavaScriptEnabled(true); 
     //Enable and setup JS localStorage 
     webSettings.setDomStorageEnabled(true); 
     webSettings.setDatabaseEnabled(true); 

    } 
} 

의 AndroidManifest.xml :

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.exercise.AndroidHTML" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <uses-sdk android:minSdkVersion="4" /> 

    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".AndroidHTMLActivity" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 
</manifest> 

답변

0

당신은 설정 할 수 있습니다 데이터베이스 경로 :

webView.getSettings(). setDatabasePath ("/ data/data /"+ webView.getCo ntext(). getPackageName() + "/ databases /");

1

setDatabasePath() 메소드가 API 레벨 19에 사용되지 않습니다 난 당신이 같은 저장 로케일 사용하도록 조언 :

webView.getSettings().setDomStorageEnabled(true); 
webView.getSettings().setDatabaseEnabled(true); 
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { 
    webView.getSettings().setDatabasePath("/data/data/" + webView.getContext().getPackageName() + "/databases/"); 
}