首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从db显示html页

如何从db显示html页
EN

Stack Overflow用户
提问于 2013-03-29 14:06:30
回答 1查看 765关注 0票数 1

我尝试将htmlpage存储在db中作为string.then,我需要在webview中显示该页面。这里我粘贴我的代码,请帮我.如何将html页面存储在android中的sqlite数据库中?我尝试将html页面转换为字节数组,以便存储在数据库中。请帮助我如何存储,插入到db中,然后在webview中打开加载.

代码语言:javascript
复制
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
        }       
    }

    }

这是我的代码显示页面。

代码语言:javascript
复制
 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);

    }

请帮我.

EN

回答 1

Stack Overflow用户

发布于 2013-03-29 15:49:20

你试过这个例子吗:

http://mobile.tutsplus.com/tutorials/android/android-sdk-embed-a-webview-with-the-webkit-engine/

这看起来是对的:

代码语言:javascript
复制
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到字符串中。

请让我知道这是否有效,并是答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15704881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档