And*_*per 4 database sqlite select android webview
我有一个sqlite数据库,其中我有一个我想要在webview中加载的内容,因为我想从数据库中选择并在Web视图中显示,有没有办法这样做?
public class TataworatYawmeeh extends Activity {
WebView webView;
String javascrips;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tataworat);
webView = (WebView) findViewById(R.id.tatworatWebView);
webView.setBackgroundColor(0x00000000);
try {
DataBaseHelper myDbHelper = new DataBaseHelper(this);
myDbHelper = new DataBaseHelper(this);
try {
myDbHelper.createDataBase();
String selectQuery = "SELECT * FROM 'nnn'";
SQLiteDatabase db = myDbHelper.getReadableDatabase();
db.execSQL(selectQuery);
} catch (IOException ioe) {
throw new Error("Unable to create database");
}
try {
myDbHelper.openDataBase();
} catch (SQLException sqle) {
throw sqle;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
您必须使用Java类作为接口:
DataLoader dl = new DataLoader();
// For passing the data
webView.addJavascriptInterface(dl, "accessor");
webView.loadUrl("file:///android_asset/yourpage.html");
Run Code Online (Sandbox Code Playgroud)
在您的活动中,您可以使用get方法声明匿名类DataLoader,您可以在其中检索数据并使用JSON返回它,如下所示:
class ChartDataLoader {
public String getData() {
String selectQuery = "SELECT * FROM 'nnn'";
SQLiteDatabase db = myDbHelper.getReadableDatabase();
result = db.execSQL(selectQuery);
Gson gson = new Gson();
data = gson.toJson(result, resultype.class);
return data;
}
}
Run Code Online (Sandbox Code Playgroud)
最后,您可以使用javascript在html中使用此数据:
<script id="source" language="javascript" type="text/javascript">
var obj = window.accessor;
var data = JSON.parse(obj.getBalances());
/* Loop */
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6405 次 |
| 最近记录: |