Форум программистов, компьютерный форум CyberForum.ru

Заполнение ListView из БД - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как сделать так, чтобы AVD увидел файлы ОС linux, на которой девайс был запущен? http://www.cyberforum.ru/android-dev/thread619491.html
Здравствуйте! Помогите, пожалуйста, разобраться со следующим вопросом. На linux запускается android virtual device, через команду adb shell заходим в его консоль. Мне нужно подгрузить для этого устройства некоторый модуль ядра. Я кинул этот модуль в папку android-sdk/platform-tools, откуда запускался AVD, надеясь, что устройство увидит модуль в этой директории, но мои ожидания не оправдались....
Android Есть ли для Аndroid класс реализации OpenSSL алгоритмом RSA ? Вообще, нужно зашифровывать/расшифровывать строку в Java, C++ и в perl. Есть ли для android класс реализации openssl, алгоритмом RSA ? Возможно есть другой метод шифрования? Добавлено через 24 минуты Вообще, нужно зашифровывать/расшифровывать строку в Java, C++ и в perl. Есть ли для android класс реализации openssl, алгоритмом RSA ? Возможно есть другой метод шифрования? http://www.cyberforum.ru/android-dev/thread619348.html
Android XML данные для адаптера
Хотелось бы разобраться со сложными XML-данными. Необходимо забить в XML данные записной книжки. Каждый элемент должен содержать данные: -Имя -номер -картинка потом сведения из XML файла должны через адаптер передаться в некий ListView. Я создал свой класс с необходимыми полями. Теперь вопрос: какой будет синтаксис записей в XML и как мне из XML эти данные извлечь для наполнения полей...
Android Работа с текстом
В переменной есть текст, нужно расставить абзацы, после знаков : .. ] и вывести в WebView уже отформатированный текст.
Android Новичёк в андроиде (в курсе что такие темы уже есть) http://www.cyberforum.ru/android-dev/thread618858.html
Знаю что тем существует много (большинство из них перелистал, остались вопросы) хочу научиться создавать приложения под андроид. уже установил: eclipse, ADT плагин к eclipse, JDK, JRE, SDK. создал проект. просто глянул на структуру проекта (подглядывая в разные мануалы) и его компоненты. попав на этот форум увидел что для написания приложений нужно знание Java
Android Открытие программы отправки СМС сообщений Здравствуйте, уважаемые форумчане. Вопрос такой: я ввел текст в строке, а дальше нажимаю на кнопку и мне его надо автоматически скопировать и вставить в новое СМС (и чтобы оно тоже открылось). Не подскажите код? Буду благодарен. подробнее

Показать сообщение отдельно
JinTaiYangGuoYe
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 9
05.07.2012, 13:46     Заполнение ListView из БД
Есть одна активити, в ней 2 текстовых поля и кнопка, отправляющая содержимое этих полей как строку в БД.
Есть другая активити, которая должна в listView отображать содержимое БД построчно, однако выбивает NullPointerException. Уже голову сломал, почему не работает, помогите разобраться пожалуйста.

Первая активити:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.List;
 
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
 
public class quickadd extends Activity 
{
    private DataHelper dh; //класс для работы с БД
    public  EditText editText1;//amount
    public  EditText editText2; //note
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.quickadd);
        editText1 = (EditText) findViewById(R.id.editText1);
        editText2 = (EditText) findViewById(R.id.editText2);
    }
   
    public void btnAdd_Click(View v)
    {
        switch (v.getId()) 
            {
                case R.id.btnAdd:
                    try{
                    dh = getDataHelper();
                    dh.insert(editText1.getText().toString() + " ; " + editText2.getText().toString());
                    Toast.makeText(getApplicationContext(), 
                            "Recorded successfully", Toast.LENGTH_LONG).show();
                    }
                    catch(Throwable t)
                    {
                        Toast.makeText(getApplicationContext(), 
                        "Exception: " + t.toString(), Toast.LENGTH_LONG).show();
                    }
                break;      
            }   
    }
    public DataHelper getDataHelper() {
        return new DataHelper(this);
    }
}
Вторая, проблемная активити:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.util.List;
 
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
 
public class mydebts extends Activity 
{
    private DataHelper dh;
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mydebts);
        try {
        List<String> list= dh.selectAll(); //забиваю данные из БД в лист
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,   R.layout.list_item, list); //прикручиваю адаптер
        ListView lv = (ListView)findViewById(R.id.listView1);
        lv.setAdapter(adapter);
        }
        catch(Throwable t) {  //и тут фейл: NullPointerException
            Toast.makeText(getApplicationContext(), 
                    "Exception: " + t.toString(), Toast.LENGTH_LONG).show();
        }
        
    }
    
    
    public DataHelper getDataHelper() {
        return new DataHelper(this);
    }
}

Класс для работы с БД:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import java.util.ArrayList;
import java.util.List;
 
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteStatement;
 
public class DataHelper {
    // Имя базы данных
    private static final String DATABASE_NAME = "mydatabase.db";
    private static final String TABLE_NAME = "notes";
    private static final int DATABASE_VERSION = 1;
 
    private Context context;
    private SQLiteDatabase db;
 
    private static final String INSERT = "insert into " + TABLE_NAME
            + "(name) values(?)";
    private SQLiteStatement insertStmt;
 
    public DataHelper(Context context) {
        this.context = context;
        OpenHelper openHelper = new OpenHelper(this.context);
        this.db = openHelper.getWritableDatabase();
        this.insertStmt = this.db.compileStatement(INSERT);
    }
 
    // Операции при вставке записи
    public long insert(String name) {
        this.insertStmt.bindString(1, name);
        return this.insertStmt.executeInsert();
    }
 
    // Удаляем все записи в таблице
    public void deleteAll() {
        this.db.delete(TABLE_NAME, null, null);
    }
 
    public List<String> selectAll() {
        List<String> list = new ArrayList<String>();
        Cursor cursor = this.db.query(TABLE_NAME, new String[] { "name" },
                null, null, null, null, "name desc");
 
        if (cursor.moveToFirst()) {
            do {
                list.add(cursor.getString(0));
 
            } while (cursor.moveToNext());
        }
        if (cursor != null && !cursor.isClosed()) {
            cursor.close();
        }
        return list;
    }
 
    private static class OpenHelper extends SQLiteOpenHelper {
        public OpenHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }
 
        @Override
        public void onCreate(SQLiteDatabase db) {
            // Запрос создания таблицы
            db.execSQL("CREATE TABLE " + TABLE_NAME
                    + "(id INTEGER PRIMARY KEY, name TEXT)");
        }
 
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            // запрос удаления таблицы
            db.execSQL("DROP TABLE IF EXIST " + TABLE_NAME);
            onCreate(db);
        }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru