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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 762 ]  На страницу Пред.  1 ... 35, 36, 37, 38, 39
Автор Сообщение
 Заголовок сообщения: Re: Урок 34. Хранение данных. SQLite
СообщениеДобавлено: 12 ноя 2017, 17:12 

Зарегистрирован: 12 ноя 2017, 17:04
Сообщений: 3
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
А почему у меня в file explorer не открывается папка data?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 34. Хранение данных. SQLite
СообщениеДобавлено: 28 июн 2018, 18:44 

Зарегистрирован: 25 июн 2018, 20:32
Сообщений: 1
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Я извиняюсь, но я не могу повторить код урок 34 ! хоть стреляйся !
уже несколько раз переписывал урок !! на разных ноутбуках и с разными версиями Android Studio !

Еще дико извиняюсь !! Осваиваю Андроид ! Начинал с СМ2М на мнемокоде в 1980г.


Выкладываю -
Activity , DBHelper и Blog отладки :


Код: [ Загрузить ] [ Скрыть ]
  1. public class MainActivity extends AppCompatActivity implements View.OnClickListener{ 
  2.  
  3.     public final String LOG_TAG = "myLogs"; 
  4.  
  5.     Button btnAdd, btnRead, btnClear; 
  6.     EditText etName, etEmail; 
  7.  
  8.     DBHelper dbHelper; 
  9.  
  10.     @Override 
  11.     protected void onCreate(Bundle savedInstanceState) { 
  12.         super.onCreate(savedInstanceState); 
  13.         setContentView(R.layout.activity_main); 
  14.  
  15.         btnAdd = (Button) findViewById(R.id.btnAdd); 
  16.         btnAdd.setOnClickListener(this); 
  17.  
  18.         btnRead = (Button) findViewById(R.id.btnRead); 
  19.         btnRead.setOnClickListener(this); 
  20.  
  21.         btnClear = (Button) findViewById(R.id.btnClear); 
  22.         btnClear.setOnClickListener(this); 
  23.  
  24.         etName = (EditText) findViewById(R.id.etName); 
  25.         etEmail = (EditText) findViewById(R.id.etEmail); 
  26.  
  27.         dbHelper = new DBHelper(this); 
  28.     } 
  29.  
  30.  
  31.     @Override 
  32.     public void onClick(View v) { 
  33.  
  34.         ContentValues cv =  new ContentValues(); 
  35.         /*    ContentValues contentValues = new ContentValues(); */ 
  36.  
  37.         // получаем данные из полей ввода 
  38.         String name = etName.getText().toString(); 
  39.         String email = etEmail.getText().toString(); 
  40.  
  41.         SQLiteDatabase db = dbHelper.getWritableDatabase(); 
  42.  
  43.  
  44.         switch (v.getId()){ 
  45.             case R.id.btnAdd: 
  46.                 Log.d(LOG_TAG, "--- Insert in mytable: ---"); 
  47.                 // подготовим данные для вставки в виде пар: наименование столбца - значение 
  48.                 cv.put(DBHelper.KEY_NAME, name); 
  49.                 cv.put(DBHelper.KEY_MAIL, email); 
  50.        
  51.                 // вставляем запись и получаем ее ID 
  52.                 /*       long rowID = db.insert("mytable", null, cv); */ 
  53.                 db.insert(DBHelper.TABLE_CONTACTS,null,cv); 
  54.  
  55.                 Log.d(LOG_TAG, "row inserted, ID = " ); 
  56.                 /*   Log.d(LOG_TAG, "row inserted, ID = " + rowID); */ 
  57.                 break; 
  58.             case R.id.btnRead: 
  59.                 Log.d(LOG_TAG, "--- Rows in mytable: ---"); 
  60.                 // делаем запрос всех данных из таблицы mytable, получаем Cursor 
  61.                 Cursor c = db.query(DBHelper.TABLE_CONTACTS, null, null, null, null, null, null); 
  62.                 
  63.                 // ставим позицию курсора на первую строку выборки 
  64.                 // если в выборке нет строк, вернется false 
  65.                 if (c.moveToFirst()) { 
  66.  
  67.                     // определяем номера столбцов по имени в выборке 
  68.                     int idColIndex = c.getColumnIndex(DBHelper.KEY_ID); 
  69.                     int nameColIndex = c.getColumnIndex(DBHelper.KEY_NAME); 
  70.                     int emailColIndex = c.getColumnIndex(DBHelper.KEY_MAIL); 
  71.  
  72.                   do { 
  73.                         // получаем значения по номерам столбцов и пишем все в лог 
  74.                         Log.d(LOG_TAG, 
  75.                                 "ID = " + c.getInt(idColIndex) 
  76.                                         + ", name = " + c.getString(nameColIndex) 
  77.                                         + ", email = " + c.getString(emailColIndex)); 
  78.                         // переход на следующую строку 
  79.                         // а если следующей нет (текущая - последняя), то false - выходим из цикла 
  80.                     } while (c.moveToNext()); 
  81.                 } else 
  82.                     Log.d(LOG_TAG, "0 rows"); 
  83.                 c.close(); 
  84.                 break; 
  85.             case R.id.btnClear: 
  86.                 Log.d(LOG_TAG, "--- Clear mytable: ---"); 
  87.                 // удаляем все зап   // 
  88.                 int clearCount = db.delete(DBHelper.TABLE_CONTACTS, null, null); 
  89.                                 Log.d(LOG_TAG, "deleted rows count = " + clearCount); 
  90.                 break; 
  91.         } 
  92.         dbHelper.close(); 
  93.     } 
  94.  
  95.  



Код: [ Загрузить ] [ Скрыть ]
  1. public class DBHelper extends SQLiteOpenHelper{ 
  2.  
  3.     public final String LOG_TAG = "myLogs"; 
  4.  
  5.  
  6.     public static final int DATABASE_VER = 1; 
  7.     public static final String DATABASE_NAME = "contactDb"; 
  8.     public static final String TABLE_CONTACTS = "contacts"; 
  9.  
  10.     public static final String KEY_ID = "_id"; 
  11.     public static final String KEY_NAME = "name"; 
  12.     public static final String KEY_MAIL = "mail"; 
  13.  
  14.     public DBHelper(Context context)    { 
  15.  
  16.  
  17.        super(context, DATABASE_NAME, null, DATABASE_VER ); 
  18.      /*  super(context, TABLE_CONTACTS, null, DATABASE_VER ); */ 
  19.    /*    super(context, "mytable", null,1 ); */ 
  20.  
  21.     } 
  22.  
  23.     public SQLiteDatabase getWritableDatabase() { return null ; } 
  24.  
  25.     public void close() { 
  26.  
  27.     } 
  28.     @Override 
  29.     public void onCreate(SQLiteDatabase db) { 
  30.  
  31.         Log.d(LOG_TAG," ...onCreate database..."); 
  32.  
  33.        db.execSQL("create table " + TABLE_CONTACTS + "(" + KEY_ID 
  34.                 + " integer primary key," + KEY_NAME + " text," 
  35.                 + KEY_MAIL + " text" + ")"); 
  36.  
  37.      /*   db.execSQL("create table mytable (" 
  38.                 + " integer primary key autoincrement," 
  39.                 + " integer primary key," 
  40.                 + " name text," 
  41.                 + " email text" + ")"); */ 
  42.  
  43.     } 
  44.  
  45.     @Override 
  46.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
  47.  
  48.         db.execSQL("drop table if exists " + TABLE_CONTACTS); 
  49.  
  50.         onCreate(db);    } 
  51.  


Код: [ Загрузить ] [ Скрыть ]
  1. E/BinaryDictionaryGetter: Could not find a dictionary pack 
  2. E/ActivityThread: Failed to find provider info for com.android.inputmethod.latin.dictionarypack 
  3. D/myLogs: --- Insert in mytable: --- 
  4. D/AndroidRuntime: Shutting down VM 
  5. W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xa61b0908) 
  6. E/AndroidRuntime: FATAL EXCEPTION: main 
  7.     java.lang.NullPointerException 
  8.         at com.example.vikg.mylesson.MainActivity.onClick(MainActivity.java:67) 
  9.         at android.view.View.performClick(View.java:4204) 
  10.         at android.view.View$PerformClick.run(View.java:17355) 
  11.         at android.os.Handler.handleCallback(Handler.java:725) 
  12.         at android.os.Handler.dispatchMessage(Handler.java:92) 
  13.         at android.os.Looper.loop(Looper.java:137) 
  14.         at android.app.ActivityThread.main(ActivityThread.java:5041) 
  15.         at java.lang.reflect.Method.invokeNative(Native Method) 
  16.         at java.lang.reflect.Method.invoke(Method.java:511) 
  17.         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
  18.         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
  19.         at dalvik.system.NativeStart.main(Native Method) 
  20. W/ActivityManager:   Force finishing activity com.example.vikg.mylesson/.MainActivity 
  21. D/genymotion_audio: out_write: pcm_write() with out_frames=558 frame_size=4 returned -EPIPE 
  22. D/genymotion_audio: out_write: pcm_write() with out_frames=557 frame_size=4 returned -EPIPE 
  23. D/genymotion_audio: out_write: pcm_write() with out_frames=557 frame_size=4 returned -EPIPE 
  24. D/genymotion_audio: out_write: pcm_write() with out_frames=557 frame_size=4 returned -EPIPE 
  25. D/dalvikvm: GC_FOR_ALLOC freed 200K, 25% free 6240K/8244K, paused 40ms, total 42ms 
  26. I/dalvikvm-heap: Grow heap (frag case) to 7.283MB for 1127532-byte allocation 
  27. D/genymotion_audio: out_write: pcm_write() with out_frames=557 frame_size=4 returned -EPIPE 
  28. D/dalvikvm: GC_FOR_ALLOC freed 1K, 22% free 7339K/9348K, paused 40ms, total 40ms 
  29. D/genymotion_audio: out_write: pcm_write() with out_frames=558 frame_size=4 returned -EPIPE 
  30. D/genymotion_audio: out_write: pcm_write() with out_frames=558 frame_size=4 returned -EPIPE 
  31. D/dalvikvm: GC_CONCURRENT freed 40K, 21% free 7440K/9348K, paused 2ms+1ms, total 346ms 
  32. W/ActivityManager: Activity pause timeout for ActivityRecord{532c9858 u0 com.example.vikg.mylesson/.MainActivity} 
  33. D/genymotion_audio: out_write: pcm_write() with out_frames=557 frame_size=4 returned -EPIPE 
  34. I/qtaguid: Failed write_ctrl(s 1 10023) res=-1 errno=1 
  35. W/NetworkManagementSocketTagger: setKernelCountSet(10023, 1) failed with errno -1 
  36. D/genymotion_audio: out_write: pcm_write() with out_frames=557 frame_size=4 returned -EPIPE 
  37. W/EGL_genymotion: eglSurfaceAttrib not implemented 
  38. D/genymotion_audio: out_write: pcm_write() with out_frames=557 frame_size=4 returned -EPIPE 
  39. D/genymotion_audio: out_write: pcm_write() with out_frames=557 frame_size=4 returned -EPIPE 
  40. D/genymotion_audio: out_write: pcm_write() with out_frames=557 frame_size=4 returned -EPIPE 
  41. D/genymotion_audio: out_write: pcm_write() with out_frames=558 frame_size=4 returned -EPIPE 
  42. D/genymotion_audio: out_write: pcm_write() with out_frames=557 frame_size=4 returned -EPIPE 
  43. D/genymotion_audio: out_write: pcm_write() with out_frames=558 frame_size=4 returned -EPIPE 
  44.  


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 762 ]  На страницу Пред.  1 ... 35, 36, 37, 38, 39

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


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

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