Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.03.2021
Сообщений: 15

Android SQL

17.01.2023, 08:44. Показов 275. Ответов 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
package com.example.to_dolist;
 
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
 
public class  DataBaseScheduler extends SQLiteOpenHelper {
 
    private static final String DB_NAME = "SCHEDULE";
    private static final int DB_VERSION = 1;
 
 
    DataBaseScheduler(Context context){
        super(context,DB_NAME,null,DB_VERSION);
 
    }
    @Override
    public void onCreate(SQLiteDatabase db)
    {
        db.execSQL( "CREATE TABLE LIST_TO_DO("
                +"_id INTEGER PRIMARY KEY AUTOINCREMENT,"
                +"DATA TEXT,"
                +"TIME TEXT,"
                +"PRIORITY TEXT,"
                +"TASK TEXT);"
        );
 
        insertRows(db,"12.01.2023","10-15","0","Первая запись");
        insertRows(db,"12.01.2023","20-25","1","Вторая запись");
        insertRows(db,"12.01.2023","30-35","2","Третья запись.");
        insertRows(db,"12.01.2023","40-45","3","Четвертая запись.");
        insertRows(db,"17.01.2023","777","Колодец","Успешное чтение записи.");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
 
    }
    public void insertRows(SQLiteDatabase db,String data, String time, String priority, String description){
 
        ContentValues cv = new ContentValues();
        cv.put("DATA",data);
        cv.put("TIME",time);
        cv.put("PRIORITY",priority);
        cv.put("TASK",description);
        db.insert("LIST_TO_DO",null,cv);
 
    }
}
Это код MainActivity:
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
package com.example.to_dolist;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
 
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
 
 public class MainActivity extends AppCompatActivity {
    String currentDate = new SimpleDateFormat("dd.MM.yyyy", Locale.getDefault()).format(new Date());
     private SQLiteDatabase DB;
    private Cursor cursor;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        connectDB(currentDate);
 
 
 
    }
     @Override
     protected void onResume() {
        super.onResume();
         SharedPreferences ss = getSharedPreferences("P001",Context.MODE_PRIVATE);
         if(ss.getString("PR","unknown")=="1"){
 
         String pickedDate = ss.getString("HG","unknown");
         Toast.makeText(this,pickedDate,Toast.LENGTH_SHORT).show();
         connectDB(pickedDate);
 
         }
     }
    @Override
     protected void onDestroy(){
        super.onDestroy();
        cursor.close();
        DB.close();
        SharedPreferences sh = getSharedPreferences("P001",Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sh.edit();
 
        editor.putString("PR","0");
        editor.apply();
    }
    @Override
    protected void onStop(){
        super.onStop();
 
    }
 
     public void b1Click(View view) {
        Intent intent = new Intent(this,PickData.class);
         DataBaseScheduler db= new DataBaseScheduler(this);
         //Рабочий код для вставки записи в БД.
         //SQLiteDatabase CN=db.getReadableDatabase();
         //db.insertRows(CN,"18.01.2023","777","Колодец","Вставка и хранение.");
        startActivity(intent);
     }
     public  void connectDB(String newData){
         try{
             DataBaseScheduler db= new DataBaseScheduler(this);
             DB= db.getReadableDatabase();
             cursor = DB.query("LIST_TO_DO",new String[]{"DATA","TIME","TASK"},
                     "DATA=?",
                     new String[]{newData},
                     null,null,null
             );
 
             TextView tv = (TextView) findViewById(R.id.textView2);
               if(cursor!=null && cursor.getCount()>0){
                   cursor.moveToFirst();
             tv.setText(cursor.getString(2) );}
               else{
                   Toast.makeText(this, newData,Toast.LENGTH_SHORT).show();
                   tv.setText("На сегодня ничего не запланированно." );
               }
         }
         catch(SQLiteException e){
             Toast toast=Toast.makeText(this,"EROR CODE: PIZDA_RULU",Toast.LENGTH_SHORT);
             toast.show();
         }
 
     }
 }
Есть еще Picked data:
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
package com.example.to_dolist;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.CalendarView;
import android.widget.Toast;
 
public class PickData extends AppCompatActivity {
CalendarView mcv;
int YEAR;
int MONTH;
String MONTHS;
int DAY;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
 
        setContentView(R.layout.activity_pick_data);
        mcv = (CalendarView) findViewById(R.id.calendarView);
        mcv.setOnDateChangeListener(new CalendarView.OnDateChangeListener(){
 
            @Override
            public void onSelectedDayChange(CalendarView view, int year,int month, int dayOfMonth){
 
                YEAR = year;
                MONTH = month+1;
 
                DAY= dayOfMonth;
            }
 
        });
    }
 
    public void clickShow(View view)
    {
        if(MONTH<10){
            MONTHS= "0"+Integer.toString(MONTH);
        }
      String data = Integer.toString(DAY)+"."+MONTHS+"."+Integer.toString(YEAR);
 
        SharedPreferences sh = getSharedPreferences("P001",Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sh.edit();
        editor.putString("HG",data);
        editor.putString("PR","1");
        editor.apply();
        finish();
    }
    public void  clickNewTask(View view){
        if(MONTH<10){
            MONTHS= "0"+Integer.toString(MONTH);
        }
        String data = Integer.toString(DAY)+"."+MONTHS+"."+Integer.toString(YEAR);
        SharedPreferences sh = getSharedPreferences("P001",Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sh.edit();
        editor.putString("HG",data);
        editor.putString("PR","1");
        editor.apply();
        Intent intent = new Intent(this,newTask.class);
        intent.putExtra("DATA_POST",data);
        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
package com.example.to_dolist;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
 
public class newTask extends AppCompatActivity {
String data;
    SQLiteDatabase CN;
    DataBaseScheduler db;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_new_task);
        Intent intent = getIntent();
        data=intent.getStringExtra("DATA_POST");
 
    }
    public void saveTask(View view)
 
    {
        TextView tv = findViewById(R.id.editTextTextMultiLine);
        String taskDescription = tv.getText().toString();
         db= new DataBaseScheduler(this);
       CN= db.getReadableDatabase();
        db.insertRows(CN,data,"777","Колодец",taskDescription);
        Intent intent = new Intent(this,MainActivity.class);
        startActivity(intent);
    }
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
 
        CN.close();
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2023, 08:44
Ответы с готовыми решениями:

Подключение Android-приложения к SQL Server (MS SQL)
Здравствуйте, не получается подключить андроид приложение к sql server 2008. Перерыл все в инете, всеми способами не смог. Было б хорошо...

Android+ms sql 2008 R2
Всем доброго дня. есть необходимость подключиться к удаленному ms sql серверу, подскажите пожалуйста в какую сторону копать и какие...

Android Studio / MS SQL / TextView
Всем привет. Как в TextView вывести данные с поля, у которого ID'шник=4?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2023, 08:44
Помогаю со студенческими работами здесь

Android, готовая база sql
Доброго времени суток. Очень нужна помощь!!! Проблема следующая.Есть готовая база. Столбец с именами отображается в listview, при...

Как подключить SQL server к android studio?
Как подключить SQL server к android studio через интернет???!

Где в проекте Android Studio лучше добавлять элементы в БД SQL?
Пишу приложение-викторину . У меня есть класс Db public class Db extends SQLiteOpenHelper { public static final String...

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout?
Недавно начал изучать Android API, а сегодня более менее разобрал основы синтакиса XML. Затем стал разбирать следующий пример: ...

Работа с файлами android которые находятся не в папке проекта Android Studio
Всех приветствую, начал разработку приложения под Android и не могу разобраться как работать с файлами которые находятся не в папке...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru