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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Kollinar
1 / 1 / 0
Регистрация: 19.02.2013
Сообщений: 78
#1

Создание списка из Базы - Программирование Android

04.05.2015, 14:01. Просмотров 345. Ответов 8
Метки нет (Все метки)

У меня есть база, а на 2 странице должен быть список, но выдает ошибку
Вложения
Тип файла: zip predmet.zip (2.04 Мб, 1 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2015, 14:01     Создание списка из Базы
Посмотрите здесь:

Создание базы данных - Программирование Android
Всем доброго времени суток. Пробую писать программу для Android. Сейчас изучаю SQLite. Когда писал код по примерам все работало. База...

Создание базы данных в андроид - Программирование Android
Помогите пожалуйста! Я только-только начинаю изучать программирование на андроид. Хочу взяться за создание базы данных, но не знаю с чего...

Создание вложенного списка - Программирование Android
Нужно что бы в каждом элементе списка находился внутренний элемент ListView. На картинке показан 1 элемент из большого списка в нём должен...

Создание списка с настраиваемыми элементами - Программирование Android
Хочу создать список с настраиваемыми элементами. Нашел урок, сделал, программа компилит, но при запуске приложения оно останавливается....

Создание списка приёма и отправки сообщения android - Программирование Android
Здравствуйте!пишу программу для отправки и приёма сообщения!с отправкой сообщения проблем ни каких вот только не знаю как реализовать...

Создание элемента списка и дальнейшая работа с этим элементом - Программирование Android
Есть активность , в ней элемент список в котором мы можем назвать элемент и добавить его в список Задача такая - назвали элемент 1н...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kollinar
1 / 1 / 0
Регистрация: 19.02.2013
Сообщений: 78
05.05.2015, 12:02  [ТС]     Создание списка из Базы #2
Вот код который должен выполняться по нажатию кнопки
Java
1
2
              Intent intent = new Intent(this, Table.class);
              startActivity(intent);
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package com.example.predmet;
 
 
import android.app.ListActivity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
 
public class Table extends ListActivity {  
    
        DBHelper dbHelper;
        String[] mName;
        String[] mGroup;
        
        // подключаемся к БД
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        
      @Override  
      public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.table); 
        
     // делаем запрос всех данных из таблицы mytable, получаем Cursor
                Cursor c = db.query("mytable", null, null, null, null, null, null);
 
                // ставим позицию курсора на первую строку выборки
                // если в выборке нет строк, вернется false
                if (c.moveToFirst()) {
 
                    // определяем номера столбцов по имени в выборке
                    int idColIndex = c.getColumnIndex("id");
                    int nameColIndex = c.getColumnIndex("name");
                    int emailColIndex = c.getColumnIndex("email");
                    
                    //создание масива для списка
                    mName = new String[c.getCount()];
                    mGroup = new String[c.getCount()];
                    int i = 0;
                    
                    do {
                        // получаем значения по номерам столбцов и пишем все в массив
                        
                        mName[i] = c.getString(nameColIndex);
                        mGroup[i] = c.getString(emailColIndex);
 
                        // переход на следующую строку
                        // а если следующей нет (текущая - последняя), то false -
                        // выходим из цикла
                        
                    } while (c.moveToNext());
                } else
                    Toast.makeText (getApplicationContext(), "Ошибка", Toast.LENGTH_SHORT).show();
                c.close();
                
                // закрываем подключение к БД
                dbHelper.close();
              
        ArrayAdapter<String> mAdapter = new ArrayAdapter<String>(this, R.layout.item, mName);  
        setListAdapter(mAdapter);
        
      }
          
      public void onListItemClick (ListView parent, View v, int position, long id) {  
        Toast.makeText (getApplicationContext(), mName[position], Toast.LENGTH_SHORT).show();  
      }
      public class myAdapter extends BaseAdapter {  
            private LayoutInflater mLayoutInflater;  
                  
            public myAdapter (Context ctx) {  
              mLayoutInflater = LayoutInflater.from(ctx);  
            }  
                  
            public int getCount () {  
              return mName.length;  
            }  
                  
            public Object getItem (int position) {  
              return position;  
            }  
                  
            public long getItemId (int position) {  
              return position;  
            }  
                  
            public String getString (int position) {  
              return mName[position] + " (" + mGroup[position] + ")";  
            }  
                  
            public View getView(int position, View convertView, ViewGroup parent) {   
              if (convertView == null)  
                convertView = mLayoutInflater.inflate(R.layout.item, null);  
                       
              TextView sign = (TextView)convertView.findViewById(R.id.Sign);  
              sign.setText(mName[position]);  
          
              TextView date = (TextView)convertView.findViewById(R.id.Date);  
              date.setText(mGroup[position]);               
              return convertView;  
            }  
          }
      class DBHelper extends SQLiteOpenHelper {
 
            public DBHelper(Context context) {
                // конструктор суперкласса
                super(context, "myDB", null, 1);
            }
 
            @Override
            public void onCreate(SQLiteDatabase db) {
                // создаем таблицу с полями
                db.execSQL("create table mytable ("
                        + "id integer primary key autoincrement," + "name text,"
                        + "email text" + ");");
            }
 
            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
            }
        }
      
    }
и лог:
Кликните здесь для просмотра всего текста

05-05 08:59:54.015: I/ActivityManager(76): START {cmp=com.example.predmet/.Table} from pid 552
05-05 08:59:54.015: W/WindowManager(76): Failure taking screenshot for (180x300) to layer 21010
05-05 08:59:54.025: D/myLogs(552): --- Clear mytable: ---
05-05 08:59:54.067: D/myLogs(552): deleted rows count = 0
05-05 08:59:54.115: D/AndroidRuntime(552): Shutting down VM
05-05 08:59:54.115: W/dalvikvm(552): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
05-05 08:59:54.135: E/AndroidRuntime(552): FATAL EXCEPTION: main
05-05 08:59:54.135: E/AndroidRuntime(552): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.predmet/com.example.predmet.Table}: java.lang.NullPointerException
05-05 08:59:54.135: E/AndroidRuntime(552): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1879)
05-05 08:59:54.135: E/AndroidRuntime(552): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
05-05 08:59:54.135: E/AndroidRuntime(552): at android.app.ActivityThread.access$600(ActivityThread.java:122)
05-05 08:59:54.135: E/AndroidRuntime(552): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
05-05 08:59:54.135: E/AndroidRuntime(552): at android.os.Handler.dispatchMessage(Handler.java:99)
05-05 08:59:54.135: E/AndroidRuntime(552): at android.os.Looper.loop(Looper.java:137)
05-05 08:59:54.135: E/AndroidRuntime(552): at android.app.ActivityThread.main(ActivityThread.java:4340)
05-05 08:59:54.135: E/AndroidRuntime(552): at java.lang.reflect.Method.invokeNative(Native Method)
05-05 08:59:54.135: E/AndroidRuntime(552): at java.lang.reflect.Method.invoke(Method.java:511)
05-05 08:59:54.135: E/AndroidRuntime(552): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-05 08:59:54.135: E/AndroidRuntime(552): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-05 08:59:54.135: E/AndroidRuntime(552): at dalvik.system.NativeStart.main(Native Method)
05-05 08:59:54.135: E/AndroidRuntime(552): Caused by: java.lang.NullPointerException
05-05 08:59:54.135: E/AndroidRuntime(552): at com.example.predmet.Table.<init>(Table.java:26)
05-05 08:59:54.135: E/AndroidRuntime(552): at java.lang.Class.newInstanceImpl(Native Method)
05-05 08:59:54.135: E/AndroidRuntime(552): at java.lang.Class.newInstance(Class.java:1319)
05-05 08:59:54.135: E/AndroidRuntime(552): at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
05-05 08:59:54.135: E/AndroidRuntime(552): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1870)
05-05 08:59:54.135: E/AndroidRuntime(552): ... 11 more
05-05 08:59:54.175: W/ActivityManager(76): Force finishing activity com.example.predmet/.Table
05-05 08:59:54.175: W/ActivityManager(76): Force finishing activity com.example.predmet/.MainActivity
05-05 08:59:54.265: I/WindowManager(76): createSurface Window{41417b10 paused=false}: DRAW NOW PENDING
05-05 08:59:54.685: W/ActivityManager(76): Activity pause timeout for ActivityRecord{4150a588 com.example.predmet/.Table}
05-05 08:59:54.705: W/NetworkManagementSocketTagger(76): setKernelCountSet(10005, 1) failed with errno -2
05-05 08:59:54.745: I/WindowManager(76): createSurface Window{4150b2b0 com.android.launcher/com.android.launcher2.Launcher paused=false}: DRAW NOW PENDING
05-05 08:59:54.935: W/NetworkManagementSocketTagger(76): setKernelCountSet(10042, 0) failed with errno -2
05-05 08:59:54.945: I/ARMAssembler(35): generated scanline__00000077:03010104_00008001_00000000 [ 89 ipp] (110 ins) at [0x40e7b8c8:0x40e7ba80] in 1013193 ns
05-05 08:59:55.645: I/dalvikvm(76): Jit: resizing JitTable from 4096 to 8192
05-05 09:00:04.944: W/ActivityManager(76): Activity destroy timeout for ActivityRecord{4165e770 com.example.predmet/.MainActivity}
05-05 09:00:04.944: W/ActivityManager(76): Activity destroy timeout for ActivityRecord{4150a588 com.example.predmet/.Table}
05-05 09:00:46.674: W/ThrottleService(76): unable to find stats for iface rmnet0
05-05 09:00:51.594: D/dalvikvm(187): GC_CONCURRENT freed 402K, 6% free 10331K/10951K, paused 10ms+4ms
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
05.05.2015, 13:01     Создание списка из Базы #3
Java
1
2
3
4
5
DBHelper dbHelper; 
String[] mName; 
String[] mGroup; 
// подключаемся к БД 
SQLiteDatabase db = dbHelper.getWritableDatabase();
Инициализацию dbHelper забыли.
Java
1
mDBHelper = new DBHelper(this);
Kollinar
1 / 1 / 0
Регистрация: 19.02.2013
Сообщений: 78
05.05.2015, 16:21  [ТС]     Создание списка из Базы #4
я добавил
Java
1
dbHelper = new DBHelper(this);
в onCreate
но ошибка
Unfortunately, ----- has stopped.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
05.05.2015, 19:47     Создание списка из Базы #5
Java
1
2
dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
Kollinar
1 / 1 / 0
Регистрация: 19.02.2013
Сообщений: 78
06.05.2015, 07:50  [ТС]     Создание списка из Базы #6
перенесь
Java
1
SQLiteDatabase db = dbHelper.getWritableDatabase();
тоже в onCreate ошибка в приложении, а если я ставлю перед onCreate оба то жалуется на ; в строке выше и просит удалить.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
06.05.2015, 07:59     Создание списка из Базы #7
Цитата Сообщение от Kollinar Посмотреть сообщение
а если я ставлю перед onCreate
Перед onCreate ничего нет, там мрак.
Цитата Сообщение от Kollinar Посмотреть сообщение
тоже в onCreate ошибка в приложении
Видимо ошибка в 36 строке.
Kollinar
1 / 1 / 0
Регистрация: 19.02.2013
Сообщений: 78
06.05.2015, 17:20  [ТС]     Создание списка из Базы #8
я удалил весь onCreate и ошибка исчезла, а если удалить все внутри onCreate то выходит, с чем бы могло это быть вызвано?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2015, 08:56     Создание списка из Базы
Еще ссылки по теме:

Загрузка списка таблиц из базы - C++ Builder БД
Вообщем задумка такая. К примеру я хочу в форму поместить Combobox и в нем выводить список таблиц из базы, при выборе из списка...

MySQL Выбор базы данных из списка доступных - PHP БД
Доброго времени суток. Пишу СУБД MYSQL, и вот столкнулся с проблемой выбора базы данных из раскрывающегося списка. Список доступных для...

Выборка списка таблиц из базы данных - C#
SELECT * FROM sysobjects WHERE xtype='U' данная строка позваляет выбрать именна таблиц из локального файла SQL (.mdf) подскажите,...

Заполнения поля базы случайными значениями из списка - MS Access
Здравствуйте, у меня такой вопрос, подскажите пожалуйста как можно заполнить одно из полей БД например &quot; имя &quot; случайными именами из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
07.05.2015, 08:56     Создание списка из Базы #9
Цитата Сообщение от Kollinar Посмотреть сообщение
я удалил весь onCreate и ошибка исчезла, а если удалить все внутри onCreate то выходит, с чем бы могло это быть вызвано?
Смотри в onCreate, думаю там ошибка.
Yandex
Объявления
07.05.2015, 08:56     Создание списка из Базы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru