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

При считывании данных из таблицы, данные становятся пустыми - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Что почитать http://www.cyberforum.ru/android-dev/thread1472612.html
Недавно решил освоить программирование на андроид. Хорошо знаю Delphi по этому решил кодить на delphi XE5-8. Посоветуйте что почитать?
Android Не работает БД У меня 2 экрана на обоих запись в БД в разные таблицы, но когда пытаюсь взять данные, то та таблица в которую я вводил данные последней не работает. 1. package com.example.stracking; import java.util.ArrayList; import android.app.Activity; import android.content.ContentValues; http://www.cyberforum.ru/android-dev/thread1472611.html
AdMob, с loadAd() КРАШ или зависание Android
Здравствуйте, такая проблема : когда прописываю код для использования рекламы от гугле на эмуляторе прога начинает жутко лагать но баннер появляется, а на реальном устройстве и вовсе выбивает краш. mAdView = (AdView)findViewById(R.id.adView); adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); <com.google.android.gms.ads.AdView android:id="@+id/adView" ...
Ошибка при при смене активити Android
Была проблема с проигрыванием музыки при сворачивании приложения, я решил ее методом ниже @Override protected void onStop() { if(mp.isPlaying()){mp.stop();} else if(mp1.isPlaying()){mp1.stop();} super.onStop(); } теперь музыка не играет при сворачивании приложения, но при возврате на активити, где используется этот метод
Android Как присвоить фон отдельным кнопкам клавиатуры? http://www.cyberforum.ru/android-dev/thread1472492.html
Имеется своя клавиатура, написанная по гайду на developer.android.com Требуется затемнить кнопки шифт, смена языка и тд. Голову сломала, подскажите, пожалуйста, в какую сторону дышать! А еще очень нужно при нажатии на шифт как то сказать ему, что кнопка должна оставаться нажатой, пока пользователь не ткнул на букву - то есть именно внешний вид обработать. Товарищи, пожалуйста, помогите...
Android Canvas и таймер Изучаю рисование, понадобилось в таймере рандомно выводить на зеленый канвас синий квадрат. Метод класса Thread (сам Thread в классе SurfaceView): @Override public void run() { while (running) { canvas = null; try { canvas = surfaceHolder.lockCanvas(null); if (canvas == null) подробнее

Показать сообщение отдельно
Filtar
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 14

При считывании данных из таблицы, данные становятся пустыми - Android

08.06.2015, 20:10. Просмотров 265. Ответов 1
Метки (Все метки)

Проблема в том что когда я записываю новый элемент таблицы проблем не возникает и данные вводятся корректно, но когда я пытаюсь их считать, то все выведенные элементы определяются как Null или 0. При этом их количество выводится верно.
База данных
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
package com.example.work_2.sqlite;
 
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import com.example.work_2.model.Raspisanie;;
 
public class SQLdatabaseDBAction extends SQLiteOpenHelper {
 
    // Версия базы данных
    private static final int DATABASE_VERSION = 1;
 
    // Имя базы данных
    private static final String DATABASE_NAME = "MYBD";
 
    /**
    * Конструктор
    */
    public SQLdatabaseDBAction(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
 
    /**
    * Конструктор
    */
    @Override
    public void onCreate(SQLiteDatabase db) {
        // SQL запрос на создание таблицы
        String CREATE_SQLDATABASEDBACTION = "CREATE TABLE SQLDATABASE ( " +
                "ID INTEGER PRIMARY KEY AUTOINCREMENT, "+
                "DAY TEXT, "+
                "VOLUME TEXT, "+
                "TYPE TEXT, "+
                "TIME TEXT, "+
                "DAY_ID INTEGER )";
        // Выполняем запрос на создание таблицы
        db.execSQL(CREATE_SQLDATABASEDBACTION);
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // Если с таблицей ппроблемы - удаляем предыдущую версию таблицы
        db.execSQL("DROP TABLE IF EXISTS SQLDATABASE");
        // Пересоздаем таблицу
        this.onCreate(db);
    }
 
 
    //----------------------------------------------------------------------------------------
    // Основные операции для работы с таблицей (добавление, удаление, редактирование и т.п.)
    //----------------------------------------------------------------------------------------
 
 
    // Имя тиблицы
    private static final String TABLE_SQLDATABASE = "SQLDATABASE";
 
    // Колонки в таблице
    private static final String KEY_ID = "ID";
    private static final String KEY_DAY = "DAY";
    private static final String KEY_VOLUME = "VOLUME";
    private static final String KEY_TYPE = "TYPE";
    private static final String KEY_TIME = "TIME";
    private static final String KEY_DAY_ID = "DAY_ID";
 
    private static final String[] COLUMNS = {KEY_ID, KEY_DAY, KEY_VOLUME, KEY_TYPE, KEY_TIME, KEY_DAY_ID};
 
    /**
    * Добавить запись в БД
    */
    public void addRec(Raspisanie raspisanie){
        Log.d("addBook", raspisanie.toString());
        // 1. Указатель на изменяемую БД
        SQLiteDatabase db = this.getWritableDatabase();
        // 2. Список данных "column/value"
        ContentValues values = new ContentValues();
        values.put(KEY_DAY, raspisanie.getDAY()); // 
        values.put(KEY_VOLUME, raspisanie.getVOLUME()); // 
        values.put(KEY_TYPE, raspisanie.getTYPE()); // 
        values.put(KEY_TIME, raspisanie.getTIME()); // 
        values.put(KEY_DAY_ID, raspisanie.getDAY_ID()); // 
        // 3. Добавили запись
        db.insert(TABLE_SQLDATABASE, // table
                null, //nullColumnHack
                values); // key/value -> keys = column names/ values = column values
        // 4. Закрыли указатель
        //db.query("SQLDATABASE", null, null, null, null, null, "KEY_DAY_ID");
        db.close();
    }
 
    /**
    * Дать запись из БД по идентификатору.
    */
    public Raspisanie getRec(int id){
        // 1. Указатель на читаемую БД
        SQLiteDatabase db = this.getReadableDatabase();
        // 2. Запрос на чтение
        Cursor cursor =
                db.query(TABLE_SQLDATABASE, // a. table
                COLUMNS, // b. column names
                " id = ?", // c. selections
                new String[] { String.valueOf(id) }, // d. selections args
                null, // e. group by
                null, // f. having
                KEY_DAY_ID, // g. order by
                null); // h. limit
        // 3. Если есть записи - перемещаем курсор на первую
        if (cursor != null)
            cursor.moveToFirst();
        // 4. Заполняем данными результат
        Raspisanie raspisanie = new Raspisanie();
        raspisanie.setID(Integer.parseInt(cursor.getString(0)));
        raspisanie.setDAY((cursor.getString(1)));
        raspisanie.setVOLUME((cursor.getString(2)));
        raspisanie.setTYPE((cursor.getString(3)));
        raspisanie.setTIME((cursor.getString(4)));
        raspisanie.setDAY_ID(Integer.parseInt(cursor.getString(5)));
        // 5. Закрываем указатель на БД
        db.close();
        // 6. Возвращаем результат
        return raspisanie;
    }
 
    /**
    * Дать все записи из БД
    */
    public List<Raspisanie> getRecAll() {
        List<Raspisanie> raspisanies = new LinkedList<Raspisanie>();
        // 1. Создаем запрос на выборку
        String query = "SELECT  * FROM " + TABLE_SQLDATABASE;
        // 2. Указатель на изменяемую БД
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(query, null);
        // 3. Создаем результирующий список
        Raspisanie raspisanie = null;
        if (cursor.moveToFirst()) {
            do {
                raspisanie = new Raspisanie();
                raspisanie.setID(Integer.parseInt(cursor.getString(0)));
                raspisanie.setDAY((cursor.getString(1)));
                raspisanie.setVOLUME((cursor.getString(2)));
                raspisanie.setTYPE((cursor.getString(3)));
                raspisanie.setTIME((cursor.getString(4)));
                raspisanie.setDAY_ID(Integer.parseInt(cursor.getString(5)));
                // Добавляем запись в список
                raspisanies.add(raspisanie);
            } while (cursor.moveToNext());
        }
        // 4. Закрываем указатель
        db.close();
        // 5. Возвращаем результат
        return raspisanies;
    }
 
    /**
    * Редактировать запись в БД
    */
    public int edRec(Raspisanie raspisanie) {
        // 1. Указатель на изменяемую БД
        SQLiteDatabase db = this.getWritableDatabase();
        // 2. Список данных "column/value"
        ContentValues values = new ContentValues();
        values.put("DAY", raspisanie.getDAY()); // 
        values.put("VOLUME", raspisanie.getVOLUME()); // 
        values.put("TYPE", raspisanie.getTYPE()); // 
        values.put("TIME", raspisanie.getTIME()); // 
        values.put("DAY_ID", raspisanie.getDAY_ID()); // 
        // 3. Обновляем запись
        int i = db.update(TABLE_SQLDATABASE, //table
                values, // column/value
                KEY_ID+" = ?", // selections
                new String[] { String.valueOf(raspisanie.getID()) }); //selection args
        // 4. Закрываем указатель
        db.close();
        // 5. Возвращаем результат выполнение функции UPDATE
        return i;
    }
 
    /**
    * Удалить запись из БД
    */
    public void deleteRec(Raspisanie raspisanie) {
        // 1. Указатель на изменяемую БД
        SQLiteDatabase db = this.getWritableDatabase();
        // 2. Удаляем запись
        db.delete(TABLE_SQLDATABASE,
                KEY_ID+" = ?",
                new String[] { String.valueOf(raspisanie.getID()) });
        // 3. Зкрываем указатель
        db.close();
    }
 
    /**
    * Удалить запись по идентификатору
    */
    public void deleteRec(int id) {
        Raspisanie d=new Raspisanie();
       d.setID(id);
       deleteRec(id);
    }
 
}
Страница где выводятся все элементы таблицы
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
package com.example.work_2;
 
 
import java.util.List;
import android.support.v7.app.ActionBarActivity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import com.example.work_2.model.Raspisanie;
import com.example.work_2.sqlite.SQLdatabaseDBAction;
 
public class Table extends ActionBarActivity {
    
    String[] groups = new String[] {"Понедельник", "Вторник", "Среда", "Четверг", "Пятница","Суббота"};
    
    AlertDialog.Builder ad;
    Context context;
    ListView lvMain;
    final String LOG_TAG = "myLogs";
    
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_table);
        SQLdatabaseDBAction db = new SQLdatabaseDBAction(this);
        LayoutInflater ltInflater = getLayoutInflater();
        LinearLayout linLayout = (LinearLayout) findViewById(R.id.linLayout);
 
        List<Raspisanie> list = db.getRecAll();
 
        for (int i = 0; i < list.size(); i++) {
            View item = ltInflater.inflate(R.layout.lable, linLayout, false);
            //TextView tvName = (TextView) item.findViewById(R.id.TextView03);
            //TextView tvName1 = (TextView) item.findViewById(R.id.textView1);
            //tvName1.setText(list.get(i).toString() );
            //tvName.setText(String.valueOf(list.size()));
            //linLayout.addView(item);
            
            TextView text1 = (TextView) item.findViewById(R.id.text1);
            TextView text2 = (TextView) item.findViewById(R.id.text2);
            TextView text3 = (TextView) item.findViewById(R.id.text3);
            TextView text4 = (TextView) item.findViewById(R.id.text4);
            
            text1.setText(list.get(i).toString() );
            text2.setText(list.get(i).toString1() );
            text3.setText(list.get(i).toString2() );
            //text1.setText(list1.toString() );
            //text2.setText(list1.toString1() );
            //text3.setText(list1.toString2() );
            //text4.setText(list.get(i).toString3() );
            //text4.setText(list.get(i).toString3() );
            text4.setText(String.valueOf(i));
            linLayout.addView(item);
          }
        
        
 
    }
    public void onClick(View v)
    {
        Intent intent = new Intent(Table.this, Add_new_table.class);
        startActivity(intent);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.table, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
И модули базы данных
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
package com.example.work_2.model;
 
public class Raspisanie {
        private int id;
        private String DAY;
        private String VOLUME;
        private String TYPE;
        private String TIME;
        private int    DAY_ID;
        private int fID;
 
        public int getID(){
             return fID;
       }
 
        public void setID(int d){
             fID=d;
       }
 
        private String fDAY;
 
        public String getDAY(){
             return fDAY;
       }
 
        public void setDAY(String d){
             fDAY=d;
       }
 
        private String fVOLUME;
 
        public String getVOLUME(){
             return fVOLUME;
       }
 
        public void setVOLUME(String d){
             fVOLUME=d;
       }
 
        private String fTYPE;
 
        public String getTYPE(){
             return fTYPE;
       }
 
        public void setTYPE(String d){
             fTYPE=d;
       }
 
        private String fTIME;
 
        public String getTIME(){
             return fTIME;
       }
 
        public void setTIME(String d){
             fTIME=d;
       }
 
        private int fDAY_ID;
 
        public int getDAY_ID(){
             return fDAY_ID;
       }
 
        public void setDAY_ID(int d){
             fDAY_ID=d;
       }
     
        public Raspisanie(){}
     
        
        public Raspisanie(String DAY, String VOLUME,String TYPE,String TIME, int DAY_ID) {
            super();
            this.DAY = DAY;
            this.VOLUME = VOLUME;
            this.TYPE = TYPE;
            this.TIME = TIME;
            this.DAY_ID = DAY_ID;
        }
     
        //getters & setters
     
        @Override
        public String toString() {
            return "122";
        }
        public String toString1() {
            return VOLUME;
        }
        public String toString2() {
            return TYPE;
        }
        public String toString3() {
            return TIME + " " + DAY_ID;
        }
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru