tableView заполнен информацией базы данных

1

Я создаю приложение calander для Android в appcelerator, но теперь у меня возникают проблемы с получением информации из базы данных в tableView. Я новичок в appcelerator и задаю несколько вопросов.

Я создал несколько таблиц в sql, которые я получаю с помощью php-скрипта. Но теперь, когда я пытаюсь получить эту информацию из своей базы данных в своем приложении, что-то пошло не так. Возможно ли это сделать с использованием php-скрипта или мне нужно использовать что-то еще? (Если вы перейдете по ссылке, вы увидите скрипт php, который создает xml. Я, вероятно, изменю его, чтобы событие показывалось за дату: 2012/1/2 GFT, Restafval, PMD; 2012/1/17 papier en karton; и т.д)

var win = Titanium.UI.currentWindow;

var data = [];

var xhr = Ti.Network.createHTTPClient();
xhr.open('GET', 'http://www.dehertoghnathalie2011.dreamhosters.com/titanium/kalender.php');

xhr.onload = function(){
    try
    {
        var doc = this.responseXML.documentElement;
        var items = doc.getElementsByTagName('gebeurtenis');
        var x = 0;

        for(var i = 0; i<items.length; i++)
        {
            var afhaaldag = items.gebeurtenis(i);
            var datum = gebeurtenis.getElementsByTagName('datum').gebeurtenis(0).text;
            var afval = gebeurtenis.getElementsByTagName('afval').gebeurtenis(0).text;

            var row = Ti.UI.createTableViewRow({height:80});
            var labelText = datum;

            var label = Ti.UI.createLabel({
                text:labelText,
                color:'black',
                textAlign:'left'
            });
            row.add(label);

            data[x++] = row;
        }
    }

    catch(E)
    {
        alert(E);
    }

    var table = Ti.UI.createTableView({data:data});
    win.add(table);
}

xhr.send();

Поэтому, когда я запускаю это в эмуляторе Android, я получаю исключение: "Невозможно найти функцию gebeurtenis в объекте [Ti.NodeList]". Кто-нибудь знает, как я могу это разрешить?

А также: какой лучший способ передачи информации из базы данных и в нее? Лучше всего использовать httpClient (xhr) или SQLite? Если я это понимаю, SQLite используется для хранения на устройстве (например, предпочтения или в моем случае, когда кто-то хочет получать уведомление о предстоящем событии), а httpClient используется для RSS. Можете ли вы дать мне другие примеры для httpClient?

Благодарю!

Теги:
appcelerator
appcelerator-mobile

1 ответ

0
Лучший ответ

снова решил. Я изменил эти строки:

var afhaaldag = items.gebeurtenis(i);
var datum = gebeurtenis.getElementsByTagName('datum').gebeurtenis(0).text;
var afval = gebeurtenis.getElementsByTagName('afval').gebeurtenis(0).text;

в

var item = items.item(i);
var datum = item.getElementsByTagName('datum').item(0).text;
var afval = item.getElementsByTagName('afval').item(0).text;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню