【问题标题】:Android: load sqlite database content to webviewAndroid:将 sqlite 数据库内容加载到 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;
            }
        }   
    }
}

【问题讨论】:

    标签: android database sqlite select webview


    【解决方案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) 的结果是无效的。我们如何将它分配给一个变量?
    猜你喜欢
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 2013-06-02
    • 2012-08-14
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    相关资源
    最近更新 更多