Я хочу отправить данные на javascript, чтобы показать их на моей странице html.Как передать данные sqlite из java в javascript
Это мой Java-код для создания JSON, но я не знаю, как я могу преобразовать свою переменную строку в объект JSON и как получить, что для JavaScript:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myBrowser = (WebView)findViewById(R.id.mybrowser);
final MyJavaScriptInterface myJavaScriptInterface = new MyJavaScriptInterface(this);
myBrowser.addJavascriptInterface(myJavaScriptInterface, "AndroidFunction");
myBrowser.getSettings().setJavaScriptEnabled(true);
myBrowser.setWebChromeClient(new WebChromeClient());
myBrowser.loadUrl("file:///android_asset/index.html");
final SQLiteDatabase mydatabase1 = openOrCreateDatabase("CopyCollection", MODE_PRIVATE, null);
String tmp = "";
String JsonTxt = "";
Cursor c = mydatabase1.rawQuery("SELECT * FROM Details ", null);
if(c.moveToFirst()){
do{
String id = c.getString(0);
String app = c.getString(1);
String txt = c.getString(2);
String text_time = c.getString(3);
tmp += "{\"ID\":"+id+",\"App\":\""+app+"\",\"Content\":\""+txt+"\",\"Date\":\""+text_time+"\"},";
}while(c.moveToNext());
}
JsonTxt = "["+tmp+"]";
myBrowser.loadUrl("javascript:AlertContent("+JsonTxt+")");
c.close();
mydatabase1.close();}
JavaScript:
function AlertContent(msg){alert(msg);}
Я изменяю свой код для отправки переменной mybrowser.loadurl(); но когда я предупреждаю, что в javascript ничего не отображается – user3001854
@ user3001854: WebView не показывает сами оповещения, как и браузеры, вместо этого он делегирует это приложение для приложения. Вам необходимо предоставить подкласс 'WebChromeClient', который переопределяет' onJsAlert' [метод] (http://developer.android.com/reference/android/webkit/WebChromeClient.html#onJsAlert (android.webkit.WebView,% 20java.lang .String,% 20java.lang.String,% 20android.webkit.JsResult)) через 'WebView.setWebChromeClient'. –