2013-03-28 2 views
1

Как вы храните html-страницу в базе данных sqlite в android? Я попытался преобразовать html-страницу в массив байтов для хранения в базе данных. Пожалуйста, помогите мне, как сохранить вставку в db, а затем открыть эту загрузку в webview ...Как сохранить html-страницу в базе данных sqlite в android

+0

почему в базе данных, используйте файл –

+0

мне нужно save in db..Then я хочу отобразить его в webview –

+0

, что вы сделали до сих пор? – JRowan

ответ

0

Не конвертируйте в байты. Храните его как строку в базе данных - ее просто текст. Что касается открытия его в webview, вы можете прочитать его из базы данных, а затем вызвать loadData(), чтобы загрузить его в webview.

+0

, пожалуйста, предоставьте код, например .. –

+0

Посмотрите на это? http://stackoverflow.com/questions/7536797/storing-long-string-of-html-in-sqlite-database-causes-unknown-error – Kgrover

+0

Спасибо, у меня есть идея –

0

Я тоже считаю, что преобразование в строку - лучшее решение. Здесь вставляем некоторые коды, которые могут вам помочь. Получить HTML в строку и сохранить его в БД .. (сохранение в код дб опущен)

private String getDownloadButtonOnly(String url){ 
    HttpGet pageGet = new HttpGet(url); 
ResponseHandler<String> handler = new ResponseHandler<String>() { 
    public String handleResponse(HttpResponse response) throws ClientProtocolException, IOException { 
     HttpEntity entity = response.getEntity(); 
     String html; 

     if (entity != null) { 
      html = EntityUtils.toString(entity); 
      return html; 
     } else { 
      return null; 
     } 
    } 
}; 

pageHTML = null; 
try { 
    while (pageHTML==null){ 
     pageHTML = client.execute(pageGet, handler); 
    } 
} catch (ClientProtocolException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

    Pattern pattern = Pattern.compile("<h2>Direct Down.+?</h2>(</div>)*(.+?)<.+?>", Pattern.DOTALL); 
    Matcher matcher = pattern.matcher(pageHTML); 
    String displayHTML = null; 
    while(matcher.find()){ 
     displayHTML = matcher.group(); 
    } 

return displayHTML; 
} 


// after retreiving string from db, 

String summary = "<html><body>You scored <b>192</b> points.</body></html>"; 
//load the data 
webview.loadData(summary, "text/html", null); 

проверить это: - http://developer.android.com/reference/android/webkit/WebView.html

Смежные вопросы