Создать виджет, используя базу данных в Android

Я создаю виджет для своего приложения. Я загрузил проект LoremWidget с GitHub. ссылка здесь

здесь один массив с именем items. когда я жестко закодировал массив, он будет правильно отображать значения в виджете. но он ничего не показывает, когда я пытаюсь извлечь данные из базы данных и скопировать данные в массив за элементом за элементом. Я дал разрешение на запись и чтение для манифеста file.can любой найти мои ошибки, пожалуйста. но я использовал этот код базы данных для другого приложения (не виджета), его получение правильно.

LoremViewsFactory.java

         public class LoremViewsFactory extends Activity implements    RemoteViewsService.RemoteViewsFactory  
         {

        public String[] items = new String[10];
        private Context ctxt = null;

        private int appWidgetId;

        public LoremViewsFactory(Context ctxt, Intent intent) {
            int i = 0;
            DatabaseHandler db = new DatabaseHandler(LoremViewsFactory);
            List < Contact > contacts = db.getAllContacts();
            for (Contact cn: contacts) {
                String log = cn.getURL();
                Toast.makeText(LoremViewsFactory.this, log, Toast.LENGTH_LONG).show();
                items[i] = log;
                i++;
            }
            this.ctxt = ctxt;
            appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
                AppWidgetManager.INVALID_APPWIDGET_ID);
        }

Это мой класс getAllContactsfunction DatabseHandler

        public List < Contact > getAllContacts() {
            List < Contact > contactList = new ArrayList < Contact > ();
            String selectQuery = "SELECT  * FROM " + TABLE_CONTACTS;
            SQLiteDatabase db = this.getWritableDatabase();
            Cursor cursor = db.rawQuery(selectQuery, null);
            if (cursor.moveToFirst()) {
                do {
                    Contact contact = new Contact();
                    contact.setURL(cursor.getString(0));
                    // Adding contact to list
                    contactList.add(contact);
                } while (cursor.moveToNext());
            }
            return contactList;
        }
    }

0 ответов

Другие вопросы по тегам