我尝试将htmlpage存储在db中作为string.then,我需要在webview中显示该页面。这里我粘贴我的代码,请帮我.如何将html页面存储在android中的sqlite数据库中?我尝试将html页面转换为字节数组,以便存储在数据库中。请帮助我如何存储,插入到db中,然后在webview中打开加载.
public class AndroidOpenDbHelper extends SQLiteOpenHelper {
public static final String DB_NAME = "html_db";
public static final int DB_VERSION = 1;
public static final String TABLE_NAME = "html_table";
public static final String COLUMN_NAME_ID = "html_id_column";
public static final String COLUMN_NAME_PAGE = "page_column";
public AndroidOpenDbHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
//"create table if not exists TABLE_NAME ( BaseColumns._ID integer primary key autoincrement, FIRST_COLUMN_NAME text not null, SECOND_COLUMN_NAME integer not null);"
String sqlQueryToCreateTable = "create table if not exists " + TABLE_NAME + " ( " + BaseColumns._ID + " integer primary key autoincrement, "
+ COLUMN_NAME_PAGE + " HTML STRING, "
;
// Execute a single SQL statement that is NOT a SELECT or any other SQL statement that returns data.
db.execSQL(sqlQueryToCreateTable);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
if(oldVersion == 1 && newVersion == 2){
// Upgrade the database
}
}
}这是我的代码显示页面。
public class MainActivity extends Activity {
WebView browser;
private static String inp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
browser=(WebView)findViewById(R.id.w1);
}
private void loadTime(SQLiteDatabase db) {
// TODO Auto-generated method stub
browser.getSettings().setJavaScriptEnabled(true);
browser.loadDataWithBaseURL("x-data://base",inp,"text/html", "UTF-8",null);
// browser.loadUrl(inp);
}
public static String main(String args[]) throws FileNotFoundException {
FileInputStream fis = new FileInputStream("D:/mo.html");
inp = new Scanner(fis,"UTF-8").useDelimiter("\\A").next();
return inp;
}
public void insertUndergraduate(){
AndroidOpenDbHelper androidOpenDbHelperObj = new AndroidOpenDbHelper(this);
SQLiteDatabase sqliteDatabase = androidOpenDbHelperObj.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(AndroidOpenDbHelper.COLUMN_NAME_PAGE,inp);
}请帮我.
发布于 2013-03-29 15:49:20
你试过这个例子吗:
http://mobile.tutsplus.com/tutorials/android/android-sdk-embed-a-webview-with-the-webkit-engine/
这看起来是对的:
WebView engine = (WebView) findViewById(R.id.web_engine);
String data = "<html>" +
"<body><h1>Yay, Mobiletuts+!</h1></body>" +
"</html>";
engine.loadData(data, "text/html", "UTF-8"); 现在,如果这有效的话,我只需从数据库中的普通textfield中选择html到字符串中。
请让我知道这是否有效,并是答案。
https://stackoverflow.com/questions/15704881
复制相似问题