2012-12-05 57 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 ..我們如何將它分配給一個變量? –