Android:将 sqlite 数据库内容加载到 webview
Posted
技术标签:
【中文标题】Android:将 sqlite 数据库内容加载到 webview【英文标题】:Android: load sqlite database content to webview 【发布时间】:2012-11-22 23:04:08 【问题描述】:我有一个 sqlite 数据库,其中有我想在 webview 中加载的内容,, 因为我想从数据库中选择并在网络视图中显示,有什么办法吗?
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;
【问题讨论】:
【参考方案1】:您必须使用 Java 类作为接口:
DataLoader dl = new DataLoader();
// For passing the data
webView.addjavascriptInterface(dl, "accessor");
webView.loadUrl("file:///android_asset/yourpage.html");
在您的活动中,您可以声明匿名类 DataLoader,使用 get 方法检索数据并使用 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;
最后,您可以在 html 中使用这些数据,使用 javascript:
<script id="source" language="javascript" type="text/javascript">
var obj = window.accessor;
var data = JSON.parse(obj.getBalances());
/* Loop */
</script>
【讨论】:
db.execSQL(selectQuery) 的结果是无效的。我们如何将它分配给一个变量?以上是关于Android:将 sqlite 数据库内容加载到 webview的主要内容,如果未能解决你的问题,请参考以下文章
android如何将SQLite 3.7 WAL文件的内容合并到主数据库文件中?