Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 21 апр 2018, 07:14

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 206 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11  След.
Автор Сообщение
СообщениеДобавлено: 10 авг 2014, 01:07 

Зарегистрирован: 03 июл 2014, 23:45
Сообщений: 38
Благодарил (а): 7 раз.
Поблагодарили: 0 раз.
я не пойму зачем тут повторы в регионах?
Код: [ Загрузить ] [ Скрыть ]
  1. String region[] = { "Азия", "Америка", "Америка", "Европа", "Азия", 
  2.             "Европа", "Африка", "Европа", "Европа", "Америка" }; 


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 19 ноя 2014, 20:14 

Зарегистрирован: 03 ноя 2014, 18:22
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
У меня чёт кнопка не робит)) Функции)
В чем проблема?
Он не видит запрос sql count[*] as Count. Остальные кнопки работают.


Вложения:
Безымянный213.JPG
Безымянный213.JPG [ 104.71 KiB | Просмотров: 4373 ]
Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 26 ноя 2014, 22:14 
Аватар пользователя

Зарегистрирован: 18 ноя 2014, 16:54
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Bolt писал(а):
У меня чёт кнопка не робит)) Функции)
В чем проблема?
Он не видит запрос sql count[*] as Count. Остальные кнопки работают.

потому что нужно просто "count(*) as Count" (круглые скобки а не квадратные)

betirsolt писал(а):
я не пойму зачем тут повторы в регионах?
Код: [ Загрузить ] [ Скрыть ]
  1. String region[] = { "Азия", "Америка", "Америка", "Европа", "Азия", 
  2.             "Европа", "Африка", "Европа", "Европа", "Америка" }; 


по одному значению на каждую запись в таблице


Последний раз редактировалось Millik 26 ноя 2014, 22:15, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 ноя 2014, 12:02 
Аватар пользователя

Зарегистрирован: 18 ноя 2014, 16:54
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Дмитрий Х. писал(а):
public void onClick(View v) {
// подключаемся к базе
db = dbHelper.getWritableDatabase();
А зачем подключаться к БД каждый раз при нажатии на кнопку, а потом закрывать подключение? Разве того, что мы подключились в методе OnCreate не достаточно?


Потому, что в конце этого метода подключение и база закрываются. И при каждом нажатии кнопки нужно заново открывать базу и в конце работы закрывать. Можно конечно оставить соединение висеть, но есть шанс, что что-то пойдёт не так, и когда мы попытаемся след раз обратится к базе через это соединение, то словим ошибку.

Цитата:
Foenix писал(а):
это не подключение.

Дмитрий Х. писал(а):
Foenix писал(а):
это не подключение.

А что тогда, если не соединение с БД?

Foenix писал(а):
http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#getWritableDatabase()
метод возвращает в переменную сам объект(instance) бд для записи/чтения
Судя по документу - это нужно делать каждый раз перед записью/чтением из нее.


Это как раз и есть подключение к базе - "Create and/or open a database that will be used for reading and writing."

В апи написано "Once opened successfully, the database is cached, so you can call this method every time you need to write to the database", то есть вы можете каждый раз вызывать это метод.
То есть при первом вызове база открывается и кэшируется + устанавливается соединение. И дальше она открыта до того момента пока не вызван метод close()(Returns: a read/write database object valid until close() is called). Интернете пишут, что все повторные вызовы этого метода, фактически, всего лишь сбрасывают текущее соединение и создают новое.

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: NullPointerException
СообщениеДобавлено: 09 мар 2015, 20:53 

Зарегистрирован: 09 фев 2015, 17:27
Сообщений: 5
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
выкидует NPL на строку в онкриейт с таким содержанием.
Код: [ Загрузить ] [ Скрыть ]
  1. Cursor c = db.query("mytable", null, null, null, null, null, null); 

как так? =(

немного поменял код и теперь он меня тычит в пустую строку. Вот весь код.
Код: [ Загрузить ] [ Скрыть ]
  1. package com.example.vladsalat.p0361_simplesqlitequery; 
  2.  
  3. import android.app.Activity; 
  4. import android.content.ContentValues; 
  5. import android.content.Context; 
  6. import android.database.Cursor; 
  7. import android.database.sqlite.SQLiteDatabase; 
  8. import android.database.sqlite.SQLiteOpenHelper; 
  9. import android.os.Bundle; 
  10. import android.util.Log; 
  11. import android.view.View; 
  12. import android.widget.*; 
  13.  
  14. import static android.view.View.OnClickListener; 
  15.  
  16.  
  17. public class MainActivity extends Activity implements OnClickListener { 
  18.  
  19.     final String LOG_TAG = "myLogs"; 
  20.  
  21.     String name[] = { "Китай", "США", "Бразилия", "Россия", "Япония", 
  22.             "Германия", "Египет", "Италия", "Франция", "Канада" }; 
  23.     int people[] = { 1400, 311, 195, 142, 128, 82, 80, 60, 66, 35 }; 
  24.     String region[] = { "Азия", "Америка", "Америка", "Европа", "Азия", 
  25.             "Европа", "Африка", "Европа", "Европа", "Америка" }; 
  26.  
  27.     Button btnAll, btnFunc, btnPeople, btnSort, btnGroup, btnHaving; 
  28.     EditText etFunc, etPeople, etRegionPeople; 
  29.     RadioGroup rgSort; 
  30.  
  31.     DBHelper dbHelper; 
  32.     SQLiteDatabase db; 
  33.  
  34.  
  35.     @Override 
  36.     protected void onCreate(Bundle savedInstanceState) { 
  37.         super.onCreate(savedInstanceState); 
  38.         setContentView(R.layout.main); 
  39.  
  40.         btnAll = (Button) findViewById(R.id.btnAll); 
  41.         btnAll.setOnClickListener(this); 
  42.  
  43.         btnFunc = (Button) findViewById(R.id.btnFunc); 
  44.         btnFunc.setOnClickListener(this); 
  45.  
  46.         btnPeople = (Button) findViewById(R.id.btnPeople); 
  47.         btnPeople.setOnClickListener(this); 
  48.  
  49.         btnSort = (Button) findViewById(R.id.btnSort); 
  50.         btnSort.setOnClickListener(this); 
  51.  
  52.         btnGroup = (Button) findViewById(R.id.btnGroup); 
  53.         btnGroup.setOnClickListener(this); 
  54.  
  55.         btnHaving = (Button) findViewById(R.id.btnHaving); 
  56.         btnHaving.setOnClickListener(this); 
  57.  
  58.         etFunc = (EditText) findViewById(R.id.etFunc); 
  59.         etPeople = (EditText) findViewById(R.id.etPeople); 
  60.         etRegionPeople = (EditText) findViewById(R.id.etRegionPeople); 
  61.  
  62.         rgSort = (RadioGroup) findViewById(R.id.rgSort); 
  63.  
  64.         dbHelper = new DBHelper(this); 
  65.         //подключаемся к базе данных 
  66.         db = dbHelper.getWritableDatabase(); 
  67.  
  68.         Cursor c = db.query("mytable", null, null, null, null, null, null); 
  69.         if (c.getCount() == 0){ 
  70.             ContentValues cv = new ContentValues(); 
  71.             for (int i = 0; i<10;i++){ 
  72.                 cv.put("name", name[i]); 
  73.                 cv.put("people", people[i]); 
  74.                 cv.put("region", region[i]); 
  75.                 Log.d(LOG_TAG, "id = " + db.insert("mytable", null, cv)); 
  76.             } 
  77.         } 
  78.         c.close(); 
  79.         dbHelper.close(); 
  80.         // эмулируем нажатие кнопки btnAll 
  81.         onClick(btnAll); 
  82.     } 
  83.  
  84.  
  85.     @Override 
  86.     public void onClick(View v) { 
  87.  
  88.         //подключаемся к базе 
  89.         db = dbHelper.getWritableDatabase(); 
  90.  
  91.         //данные с экрана 
  92.         String sFunc = etFunc.getText().toString(); 
  93.         String sPeople  = etPeople.getText().toString(); 
  94.         String sRegionPeople = etRegionPeople.getText().toString(); 
  95.  
  96.         //переменные для query 
  97.         String[] columns = null; 
  98.         String selection = null; 
  99.         String[] selectionArgs = null; 
  100.         String groupBy  = null; 
  101.         String having = null; 
  102.         String orderBy = null; 
  103.  
  104.         //курсор 
  105.         Cursor c = null; 
  106.  
  107.         // определяем нажатую кнопку 
  108.         switch (v.getId()){ 
  109.         //все записи 
  110.             case R.id.btnAll: 
  111.                 Log.d(LOG_TAG,"---Все записи---"); 
  112.                 c = db.query("mytable", null,null,null,null,null,null); 
  113.                 break; 
  114.             //функция 
  115.             case R.id.btnFunc: 
  116.                 Log.d(LOG_TAG, "---функция " + sFunc + "---"); 
  117.                 columns = new String[]{sFunc}; 
  118.                 c = db.query("mytable", columns, null,null,null,null,null); 
  119.                 break; 
  120.             //  население больше, чем 
  121.             case R.id.btnPeople: 
  122.                 Log.d(LOG_TAG, "---население больше" + sPeople + "---" ); 
  123.                 selection = "people > ?"; 
  124.                 selectionArgs = new String[]{sPeople}; 
  125.                 c = db.query("mytable", null, selection, selectionArgs, null,null,null); 
  126.                 break; 
  127.             //население по региону 
  128.             case R.id.btnGroup: 
  129.                 Log.d(LOG_TAG, "---население по региону---"); 
  130.                 columns = new String[]{"region" + "sum(people) as people"}; 
  131.                 groupBy = "region"; 
  132.                 c = db.query("mytable",columns, null, null, groupBy, null,null); 
  133.                 break; 
  134.             //население о региону больше чем 
  135.             case R.id.btnHaving: 
  136.                 Log.d(LOG_TAG, "---Регионы с населением больше чем " + sRegionPeople + "---"); 
  137.                 columns = new String[]{"region", "sum(people) as people"}; 
  138.                 groupBy = "region"; 
  139.                 having = "sum(people) > " + sRegionPeople; 
  140.                 c = db.query("mytable", null,null, columns, groupBy, having, null); 
  141.                 break; 
  142.             //сортировка 
  143.             case R.id.btnSort: 
  144.                 //сортировка по 
  145.                 switch (rgSort.getCheckedRadioButtonId()){ 
  146.                  //наименование 
  147.                    case R.id.rName: 
  148.                        Log.d(LOG_TAG, "---сортировка по имени---"); 
  149.                        orderBy = "name"; 
  150.                        break; 
  151.                     case R.id.rPeople: 
  152.                         Log.d(LOG_TAG, "---сортировка по населению---"); 
  153.                         orderBy = "people"; 
  154.                         break; 
  155.                     case R.id.rRegion: 
  156.                         Log.d(LOG_TAG, "---сортировка по региону---"); 
  157.                         orderBy = "region"; 
  158.                         break; 
  159.                 } 
  160.                 c = db.query("mytable", null, null, null, null, null, orderBy); 
  161.                 break; 
  162.         } 
  163.  
  164.         if (c != null){ 
  165.          if (c.moveToFirst()){ 
  166.              String str; 
  167.              do { 
  168.                  str = ""; 
  169.                  for (String cn : c.getColumnNames()){ 
  170.                      str = str.concat(cn + " = " + c.getString(c.getColumnIndex(cn)) + "; "); 
  171.                  } 
  172.                  Log.d(LOG_TAG, str); 
  173.              }while (c.moveToNext()); 
  174.          } 
  175.             c.close(); 
  176.         } 
  177.         else Log.d(LOG_TAG, "Cursor is null"); 
  178.  
  179.         dbHelper.close(); 
  180.     } 
  181.  
  182.  
  183.     class DBHelper extends SQLiteOpenHelper 
  184.     { 
  185.  
  186.         public DBHelper(Context context) { 
  187.             super(context, "myDB", null, 1); 
  188.         } 
  189.  
  190.         @Override 
  191.         public void onCreate(SQLiteDatabase db) { 
  192.  
  193.             Log.d(LOG_TAG, "--- onCreate database ---"); 
  194.  
  195.             // создаем таблицу с полями 
  196.  
  197.             db.execSQL("create table mytable (" 
  198.                     + "id integer primary key autoincrement," + "name text," 
  199.                     + "people integer," + "region text" + ");"); 
  200.  
  201.         } 
  202.  
  203.         @Override 
  204.         public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
  205.  
  206.         } 
  207.     } 


Последний раз редактировалось vladsalat93 09 мар 2015, 21:29, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: NullPointerException
СообщениеДобавлено: 09 мар 2015, 21:20 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
vladsalat93 писал(а):
выкидует NPL на строку в онкриейт с таким содержанием.
Код: [ Загрузить ] [ Скрыть ]
  1. Cursor c = db.query("mytable", null, null, null, null, null, null); 

как так? =(

Логи и код в студию.

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: NullPointerException
СообщениеДобавлено: 09 мар 2015, 21:30 

Зарегистрирован: 09 фев 2015, 17:27
Сообщений: 5
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
doter.ua писал(а):
vladsalat93 писал(а):
выкидует NPL на строку в онкриейт с таким содержанием.
Код: [ Загрузить ] [ Скрыть ]
  1. Cursor c = db.query("mytable", null, null, null, null, null, null); 

как так? =(

Логи и код в студию.


Код: [ Загрузить ] [ Скрыть ]
  1. 03-09 13:42:16.335    1129-1129/com.example.vladsalat.p0361_simplesqlitequery D/AndroidRuntime﹕ Shutting down VM 
  2. 03-09 13:42:16.335    1129-1129/com.example.vladsalat.p0361_simplesqlitequery W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xb3a55ba8) 
  3. 03-09 13:42:16.385    1129-1129/com.example.vladsalat.p0361_simplesqlitequery E/AndroidRuntime﹕ FATAL EXCEPTION: main 
  4.     Process: com.example.vladsalat.p0361_simplesqlitequery, PID: 1129 
  5.     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.vladsalat.p0361_simplesqlitequery/com.example.vladsalat.p0361_simplesqlitequery.MainActivity}: java.lang.NullPointerException 
  6.             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
  7.             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
  8.             at android.app.ActivityThread.access$800(ActivityThread.java:135) 
  9.             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
  10.             at android.os.Handler.dispatchMessage(Handler.java:102) 
  11.             at android.os.Looper.loop(Looper.java:136) 
  12.             at android.app.ActivityThread.main(ActivityThread.java:5017) 
  13.             at java.lang.reflect.Method.invokeNative(Native Method) 
  14.             at java.lang.reflect.Method.invoke(Method.java:515) 
  15.             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
  16.             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
  17.             at dalvik.system.NativeStart.main(Native Method) 
  18.      Caused by: java.lang.NullPointerException 
  19.             at com.example.vladsalat.p0361_simplesqlitequery.MainActivity.onCreate(MainActivity.java:67) 
  20.             at android.app.Activity.performCreate(Activity.java:5231) 
  21.             at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
  22.             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
  23.             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
  24.             at android.app.ActivityThread.access$800(ActivityThread.java:135) 
  25.             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
  26.             at android.os.Handler.dispatchMessage(Handler.java:102) 
  27.             at android.os.Looper.loop(Looper.java:136) 
  28.             at android.app.ActivityThread.main(ActivityThread.java:5017) 
  29.             at java.lang.reflect.Method.invokeNative(Native Method) 
  30.             at java.lang.reflect.Method.invoke(Method.java:515) 
  31.             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
  32.             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
  33.             at dalvik.system.NativeStart.main(Native Method) 
  34. 03-09 13:42:23.815    1129-1129/com.example.vladsalat.p0361_simplesqlitequery I/Process﹕ Sending signal. PID: 1129 SIG: 9 
  35. 03-09 13:48:59.695    1209-1209/com.example.vladsalat.p0361_simplesqlitequery D/AndroidRuntime﹕ Shutting down VM 
  36. 03-09 13:48:59.695    1209-1209/com.example.vladsalat.p0361_simplesqlitequery W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xb3a55ba8) 
  37. 03-09 13:48:59.725    1209-1209/com.example.vladsalat.p0361_simplesqlitequery E/AndroidRuntime﹕ FATAL EXCEPTION: main 
  38.     Process: com.example.vladsalat.p0361_simplesqlitequery, PID: 1209 
  39.     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.vladsalat.p0361_simplesqlitequery/com.example.vladsalat.p0361_simplesqlitequery.MainActivity}: java.lang.NullPointerException 
  40.             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
  41.             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
  42.             at android.app.ActivityThread.access$800(ActivityThread.java:135) 
  43.             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
  44.             at android.os.Handler.dispatchMessage(Handler.java:102) 
  45.             at android.os.Looper.loop(Looper.java:136) 
  46.             at android.app.ActivityThread.main(ActivityThread.java:5017) 
  47.             at java.lang.reflect.Method.invokeNative(Native Method) 
  48.             at java.lang.reflect.Method.invoke(Method.java:515) 
  49.             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
  50.             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
  51.             at dalvik.system.NativeStart.main(Native Method) 
  52.      Caused by: java.lang.NullPointerException 
  53.             at com.example.vladsalat.p0361_simplesqlitequery.MainActivity.onCreate(MainActivity.java:67) 
  54.             at android.app.Activity.performCreate(Activity.java:5231) 
  55.             at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
  56.             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
  57.             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
  58.             at android.app.ActivityThread.access$800(ActivityThread.java:135) 
  59.             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
  60.             at android.os.Handler.dispatchMessage(Handler.java:102) 
  61.             at android.os.Looper.loop(Looper.java:136) 
  62.             at android.app.ActivityThread.main(ActivityThread.java:5017) 
  63.             at java.lang.reflect.Method.invokeNative(Native Method) 
  64.             at java.lang.reflect.Method.invoke(Method.java:515) 
  65.             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
  66.             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
  67.             at dalvik.system.NativeStart.main(Native Method) 
  68. 03-09 13:49:19.335    1209-1209/com.example.vladsalat.p0361_simplesqlitequery I/Process﹕ Sending signal. PID: 1209 SIG: 9 


код добавил в коммент выше


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 мар 2015, 21:49 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Вроде все норм, попробуй переустановить приложение (БД создается при установке приложения, при следующем запуске она уже существует) может дело в ней. Вручную удали приложение на девайсе\эмуляторе.

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 мар 2015, 22:37 

Зарегистрирован: 09 фев 2015, 17:27
Сообщений: 5
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
doter.ua писал(а):
Вроде все норм, попробуй переустановить приложение (БД создается при установке приложения, при следующем запуске она уже существует) может дело в ней. Вручную удали приложение на девайсе\эмуляторе.



так и поступил, все заработало. Большое спасибо))


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 мар 2015, 22:39 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
версию бд надо было менять

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 09 мар 2015, 23:08 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Foenix писал(а):
версию бд надо было менять


Ну это когда уже релиз был и выбора нет, а так лучше грохнуть приложение)

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 мар 2015, 20:00 

Зарегистрирован: 03 ноя 2014, 19:39
Сообщений: 33
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.
Как делать запрос из БД с условием? Я никак не могу понять, может кто-то объяснит, пожалуйста?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 май 2015, 18:23 

Зарегистрирован: 18 апр 2015, 17:52
Сообщений: 6
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Есть ли какой-то инструментарий, который позволяет напрямую написать запрос к базе SQLite?
Когда пишешь запрос через методы класса не очень понятно, какой запрос на выходе получается.
(Соответственно, будет сложно найти ошибку в таком запросе.)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 май 2015, 18:42 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
stskr писал(а):
Есть ли какой-то инструментарий, который позволяет напрямую написать запрос к базе SQLite?
Когда пишешь запрос через методы класса не очень понятно, какой запрос на выходе получается.
(Соответственно, будет сложно найти ошибку в таком запросе.)


Код: [ Загрузить ] [ Скрыть ]
  1. String query = "SELECT * FROM my_table"; 
  2. Cursor c = db.rawQuery(query, null); 
  3. if (c != null && c.moveToFirst()) { 
  4.    // todo 

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Последний раз редактировалось doter.ua 06 май 2015, 18:42, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 06 май 2015, 18:42 

Зарегистрирован: 30 мар 2013, 22:52
Сообщений: 223
Благодарил (а): 14 раз.
Поблагодарили: 11 раз.
Код: [ Загрузить ] [ Скрыть ]
Using Java(TM) 2 Platform Standard Edition 5.0 Syntax Highlighting
  1. String sql="SELECT * FROM tablename";
  2. Cursor c=mDb.rawQuery(sql, null);
  3.  

Типа такого ? :)

Update: Опередили :)

_________________
Мой первенец: MyMoney. Менеджер расходов

Бьем рекорды русских топов :)

Могу ответить на любые вопросы по маркетингу и развитию.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 07 май 2015, 11:43 

Зарегистрирован: 18 апр 2015, 17:52
Сообщений: 6
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Нашел ответ сам на свой вопрос:
http://developer.android.com/tools/help/adb.html#sqlite
http://www.sqlite.org/cli.html

Выгружаю файл на комп, а потом открываю его через SQLite Manager.
http://softlakecity.ru/soft/chem-otkryi ... yih-sqlite
http://www.ginktage.com/2013/08/5-popul ... ent-tools/
http://www.youtube.com/watch?v=1eH8de2WIsc


Последний раз редактировалось stskr 07 май 2015, 13:15, всего редактировалось 2 раз(а).

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 07 май 2015, 13:08 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
вопросы нужно правильно задавать

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 19:03 
Аватар пользователя

Зарегистрирован: 05 янв 2015, 16:27
Сообщений: 33
Благодарил (а): 23 раз.
Поблагодарили: 1 раз.
А обязательно указывать логи или это чисто для показа?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 19:22 
Аватар пользователя

Зарегистрирован: 20 окт 2012, 12:01
Сообщений: 4201
Благодарил (а): 68 раз.
Поблагодарили: 467 раз.
какие логи, где, для какого показа?

_________________
R.id.team

NullPointerException - что делать???
http://forum.startandroid.ru/viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
http://forum.startandroid.ru/viewtopic.php?f=60&t=3198


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 15 май 2015, 19:36 
Аватар пользователя

Зарегистрирован: 05 янв 2015, 16:27
Сообщений: 33
Благодарил (а): 23 раз.
Поблагодарили: 1 раз.
Foenix писал(а):
какие логи, где, для какого показа?


Вложения:
2015-05-15_22-32-14.png
2015-05-15_22-32-14.png [ 25.36 KiB | Просмотров: 4071 ]
Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 206 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB