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

ListView + SQLite - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Подгрузить нужную картинку в Java Android http://www.cyberforum.ru/android-dev/thread1169790.html
Форумчане, подскажите, как организовать такую вещь: после считывания qr-кода с ID строки в БД, открывается активити с данными из этой самой строки (нас интересуют поля "Корпус: 1" (corp1) и "Этаж:1" (stage1). В коде java это Text- и EditView). В ресурсах есть картинки с названиями corp1stage1.png(.jpg), corp2stage2.png(.jpg) и т.п. Как по нажатию книпки "Мое местоположение" открыть картинку с...
Android Просмотр сохраненных паролей на телефоне Посоветуйте программу для просмотра всех сохраненных паролей на телефоне через компьютер http://www.cyberforum.ru/android-dev/thread1169733.html
Не могу добратьс из фрагмента к Preference Android
Хочу заполнить из фрагмента данные из Preference. Ругается в строке 39. Подчеркивает - MODE_PRIVATE Пишет - MODE_PRIVATE cannot be resolved to a variable Помогите разобраться. Tab1.java package com.mysite.myapp;
Работа с файлом данных в внутренней памяти Android
Вопрос - если я создам ПРИЛОЖЕНИЕМ файл в внутренней памяти (например - file.data), смогу ли я потом найти его сервисом ЭТОГО приложения только по имени (без всяких путей)? Т.е. пишется ли файл ПОСТОЯННО в одно и тоже место для приложения. Вообщем, нужно в маленьком файлике хранить данные и настройки для приложения и сервиса ЭТОГО приложения, который постоянно крутится в памяти и периодически...
Android На эмуляторе работает, а в смартфоне нет http://www.cyberforum.ru/android-dev/thread1169186.html
Подскажите, в чём ошибка? В android sdk работает, а в смарте нет. А должен просто появится один символ на экране, и переместиться слева на право. Смартфон почему-то зависает, начинает тормозить import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.View.OnTouchListener;
Android Растянуть картинку заднего фона есть xml <TableRow xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:stretchColumns="*" android:background="#E6E6FA" > <TextView android:background="#F8F8FF" подробнее

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

ListView + SQLite - Android

08.05.2014, 09:41. Просмотров 1623. Ответов 2
Метки (Все метки)

Привет. Взял код из урока 52 на startandroid, немного его изменил

Javascript
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
public class DB {
  
  private static final String DB_NAME = "mydb";
  private static final int DB_VERSION = 1;
  private static final String DB_TABLE = "mytab";
  
  public static final String COLUMN_ID = "_id";
  public static final String COLUMN_IMG = "img";
  public static final String COLUMN_TXT = "txt";
  public static final String COLUMN_TXT2 = "txt";
  
  private static final String DB_CREATE = 
    "create table " + DB_TABLE + "(" +
      COLUMN_ID + " integer primary key autoincrement, " +
      COLUMN_IMG + " integer, " +
      COLUMN_TXT + " text" +
    ");";
  
  private final Context mCtx;
  
  
  private DBHelper mDBHelper;
  private SQLiteDatabase mDB;
  
  public DB(Context ctx) {
    mCtx = ctx;
  }
  
  // открыть подключение
  public void open() {
    mDBHelper = new DBHelper(mCtx, DB_NAME, null, DB_VERSION);
    mDB = mDBHelper.getWritableDatabase();
  }
  
  // закрыть подключение
  public void close() {
    if (mDBHelper!=null) mDBHelper.close();
  }
  
  // получить все данные из таблицы DB_TABLE
  public Cursor getAllData() {
    return mDB.query(DB_TABLE, null, null, null, null, null, null);
  }
  
  // добавить запись в DB_TABLE
  public void addRec(String txt, String value1, int img) {
    ContentValues cv = new ContentValues();
    cv.put(COLUMN_TXT, txt);
    cv.put(COLUMN_TXT2, value1);
    cv.put(COLUMN_IMG, img);
    mDB.insert(DB_TABLE, null, cv);
  }
  
  // удалить запись из DB_TABLE
  public void delRec(long id) {
    mDB.delete(DB_TABLE, COLUMN_ID + " = " + id, null);
  }
  
  // класс по созданию и управлению БД
  private class DBHelper extends SQLiteOpenHelper {
 
    public DBHelper(Context context, String name, CursorFactory factory,
        int version) {
      super(context, name, factory, version);
    }
 
    // создаем и заполняем БД
    @Override
    public void onCreate(SQLiteDatabase db) {
      db.execSQL(DB_CREATE);
      
      ContentValues cv = new ContentValues();
      for (int i = 1; i < 5; i++) {
        cv.put(COLUMN_TXT, "sometext " + i);
        cv.put(COLUMN_IMG, R.drawable.ic_launcher);
        db.insert(DB_TABLE, null, cv);
      }
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
  }
}
Javascript
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
public class MainActivity extends Activity {
 
    private static final int CM_DELETE_ID = 1;
    ListView lvData;
    DB db;
    SimpleCursorAdapter scAdapter;
    Cursor cursor;
 
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        // открываем подключение к БД
        db = new DB(this);
        db.open();
 
        // получаем курсор
        cursor = db.getAllData();
        startManagingCursor(cursor);
 
        // формируем столбцы сопоставления
        String[] from = new String[] { DB.COLUMN_IMG, DB.COLUMN_TXT,
                DB.COLUMN_TXT2 };
        int[] to = new int[] { R.id.ivImg, R.id.tvText, R.id.tvText2 };
 
        // создааем адаптер и настраиваем список
        scAdapter = new SimpleCursorAdapter(this, R.layout.item, cursor, from,
                to);
        lvData = (ListView) findViewById(R.id.lvData);
        lvData.setAdapter(scAdapter);
 
        // добавляем контекстное меню к списку
        registerForContextMenu(lvData);
    }
 
    // обработка нажатия кнопки
    public void onButtonClick(View view) {
        // добавляем запись
        db.addRec("Text1", "Text2", R.drawable.ic_launcher);
        // обновляем курсор
        cursor.requery();
    }
 
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, CM_DELETE_ID, 0, R.string.delete_record);
    }
 
    public boolean onContextItemSelected(MenuItem item) {
        if (item.getItemId() == CM_DELETE_ID) {
            // получаем из пункта контекстного меню данные по пункту списка
            AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item
                    .getMenuInfo();
            // извлекаем id записи и удаляем соответствующую запись в БД
            db.delRec(acmi.id);
            // обновляем курсор
            cursor.requery();
            return true;
        }
        return super.onContextItemSelected(item);
    }
 
    protected void onDestroy() {
        super.onDestroy();
        // закрываем подключение при выходе
        db.close();
    }
 
}
Подскажите как сделать так, чтобы text1 и text2 были на одной строчке.
Вот что получилось у меня.
Изображения
 
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru