安卓:将sqlite数据库内容加载到Webview

6

我有一个 sqlite 数据库,其中包含我想要在 webview 中加载的内容,我想从数据库中选择并在 web view 中显示,是否有任何方法可以实现?

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个回答

6

您需要使用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;
    }
}

最后,您可以使用JavaScript将此数据用于HTML:

<script id="source" language="javascript" type="text/javascript">
     var obj = window.accessor;
     var data = JSON.parse(obj.getBalances());
     /* Loop */
</script>

db.execSQL(selectQuery) 的结果是 void。我们如何将其赋值给一个变量? - Hariprasauth Ramamoorthy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接