Извлечение данных из базы данных sqlite и отображение на HTML-странице папки сборки в Android - PullRequest
0 голосов
/ 18 февраля 2011

Я хочу создать динамическую веб-страницу, которая может отображать элемент моей базы данных sqlite в табличном формате.Как я могу создать динамическую веб-страницу в Android?Я делаю статическую HTML-страницу и помещаю ее в папку на ассемблере.Это работает, но теперь я хочу динамическую веб-страницу.Пожалуйста, помогите:

package com.Htmlview;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class Htmlview extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);
        WebView webview = new WebView(this);
        setContentView(webview);
        try {
            InputStream fin = getAssets().open("index3.html");
                byte[] buffer = new byte[fin.available()];
                fin.read(buffer);
                fin.close();
                webview.loadData(new String(buffer), "text/html", "UTF-8");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
} 

Эта страница работает ... Помогите сделать ее динамической с помощью кода.

gaurav gupta

Ответы [ 2 ]

2 голосов
/ 18 февраля 2011

Использовать java.text.MessageFormat:

  1. Поместите маркеры "{0}" в ваш HTML-файл.
  2. Считайте ваш HTML-файл в строку
  3. Создать массив аргументов из записи базы данных
  4. Звоните MessageFormat.format(htmlString, dbArgs)
  5. Загрузите полученную строку в веб-просмотр.
0 голосов
/ 18 февраля 2011

Вы не можете изменять папку ресурсов во время выполнения, так как она компилируется во время сборки.Итак, у вас есть 2 варианта:

  1. Вы контент из базы данных, как есть.Просто прочитайте байты и передайте их в веб-просмотр, не сохраняя никуда.

  2. Сохраните содержимое в файл во внутренней памяти и делайте так, как вы делали это с активами.Но смысла нет, так как у вас уже есть данные в дБ.

...