我在我的Ionic应用程序上使用pouchdb,目前正在处理DOMException code:18错误。 文档要求我更改android的设置。
修改 我发现我必须在MainActivity.java中进行这些更改 这是我写的代码。
import android.os.Bundle;
import org.apache.cordova.*;
import android.content.Context;
import android.view.Menu;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class MainActivity extends CordovaActivity
{
WebView webView = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
webView = (WebView) findViewById(R.id.webView);
WebSettings settings = webView.getSettings();
settings.setDatabaseEnabled(true);
String databasePath = getContext().getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
settings.setDatabasePath(databasePath);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize,
long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
quotaUpdater.updateQuota(estimatedSize * 2);
}
});
// Set by <content src="index.html" /> in config.xml
loadUrl(launchUrl);
}
}
当我编译这个时,我得到错误 - R.id.webView - &gt;看来我的资源名称不正确,它无法在资源中找到webView。我搜索了平台/ android文件夹,但我找不到布局文件。 另外,我没有使用eclipse,我使用原子编辑器进行离子项目。
答案 0 :(得分:0)
由于您没有在布局文件中定义webview,因此无法正常工作。
但你可以这样做:
SystemWebView webView = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
webView = (SystemWebView) appView.getView();
WebSettings settings = webView.getSettings();
settings.setDatabaseEnabled(true);
String databasePath = appView.getContext().getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
settings.setDatabasePath(databasePath);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize,
long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
quotaUpdater.updateQuota(estimatedSize * 2);
}
});
// Set by <content src="index.html" /> in config.xml
loadUrl(launchUrl);
}