I got a code: I got SQLite database with one table.:
package com.example.kanlane;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
public class SQLite extends SQLiteOpenHelper {
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "sosDB";
public static final String TABLE_CONTACTS = "contacts";
public static final String KEY_ID = "_id";
public static final String KEY_EMAIL = "email";
public static final String KEY_USERBINDER = "user_binder";
public SQLite(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_CONTACTS + "(" + KEY_ID + " integer primary key," + KEY_EMAIL +
" text," + KEY_EMAIL + " text" + ")");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists " + TABLE_CONTACTS);
onCreate(db);
}
}
Register activity which inserts data to SQLite, it inserts email and user_binder strings:
public class Register extends AppCompatActivity {
//Variables
EditText mName, mEmail, mPassword, mUser_binder;
SQLite sqLite;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
mName = findViewById(R.id.Name);
mEmail = findViewById(R.id.Email);
mPassword = findViewById(R.id.Password);
mUser_binder = findViewById(R.id.user_bind);
mLoginbtn = findViewById(R.id.login_mainscreen);
mRegisterBtn = findViewById(R.id.register_btn);
sqLite = new SQLite(this);
mRegisterBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String id = mDataBase.getKey();
String name = mName.getText().toString().trim();
String email = mEmail.getText().toString().trim();
String password = mPassword.getText().toString().trim();
String user_binder = mUser_binder.getText().toString().trim();
SQLiteDatabase database = sqLite.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(SQLite.KEY_EMAIL, email);
contentValues.put(SQLite.KEY_USERBINDER, user_binder);
database.insert(SQLite.TABLE_CONTACTS, null, contentValues);
User newUser = new User(id, name, email, password, user_binder);
mDataBase.push().setValue(newUser);
if(TextUtils.isEmpty(email)){
mEmail.setError("Введите почту...");
return;
}
if(TextUtils.isEmpty(password)){
mEmail.setError("Введите пароль...");
return;
}
if(password.length() < 8 ){
mPassword.setError("Пароль должен состоять из 8-ми символов.");
return;
}
fAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
Toast.makeText(Register.this, "Пользователь зарегистрирован.",Toast.LENGTH_LONG).show();
startActivity(new Intent(getApplicationContext(), MainActivity.class));
}else{
Toast.makeText(Register.this, "Произошла ошибка. Повторите." +
task.getException().getMessage(),Toast.LENGTH_LONG).show();
}
}
});
}
});
}
}
And MainActivity which needs to read data from SQLite and put it in variables (String emailfrom, emailto;)
public class MainActivity extends AppCompatActivity {
Button mAccountBtn;
Button mSosButton;
DatabaseReference databaseReference;
SQLite sqLite;
//EmailTo это Email
//EmailFrom это UserBinder
@Override
protected void onCreate (Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAccountBtn = findViewById(R.id.account_btn);
mSosButton = findViewById(R.id.sos_button);
sqLite = new SQLite(this);
SQLiteDatabase database = sqLite.getWritableDatabase();
}
All I need is to read data which Register activity inserted and put it in strings. How to do it?