繁体   English   中英

Android:将sqlite数据库内容加载到webview

[英]Android: load sqlite database content to 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;
            }
        }   
    }
}

您必须使用Java类作为接口:

DataLoader dl = new DataLoader();

// For passing the data
webView.addJavascriptInterface(dl, "accessor");
webView.loadUrl("file:///android_asset/yourpage.html");

在您的活动中,您可以使用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;
    }
}

最后,您可以使用javascript在html中使用此数据:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM