2012-12-05 44 views
4

我有一个的SQLite数据库中,我有一个内容我想在的WebView加载,, 因为我想从数据库中选择节目在Web视图 ,,有没有办法做到这一点?安卓:负载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; 
      } 
     } 
    } 
} 

回答

5

你必须使用一个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> 
+0

db.execSQL(selectQuery)的结果是void ..我们如何将它分配给一个变量? –