возникли проблемы с объявлением и определением объекта базы данных комнаты - PullRequest
0 голосов
/ 17 февраля 2019

Я давно сталкиваюсь с этой проблемой.Я хочу вставить данные в базу данных комнаты, но она не работает.Я вставляю данные через объект доступа к данным (DAO).Есть кое-что, что я не делаю правильно.Пройдите вызов метода через DAO.

UserSignup.java

public class UserSignup extends AppCompatActivity {
EditText fname,lname,contact,mail,password;
CardView signup;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_user_signup);
    fname = (EditText)findViewById(R.id.user_fname);
    lname = (EditText)findViewById(R.id.user_lname);
    contact = (EditText)findViewById(R.id.user_contact);
    mail = (EditText)findViewById(R.id.user_mail);
    password = (EditText)findViewById(R.id.user_pswd);
    signup = (CardView)findViewById(R.id.create_acc_card);

    signup.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.d("debug","OnClickListener Called");
                 String first_name = fname.getText().toString();
            String last_name = lname.getText().toString();
            long Cont = Integer.parseInt(contact.getText().toString());
            String email = mail.getText().toString();
            String pswd = password.getText().toString();
 UserDetailsTable user_info = new UserDetailsTable();
            user_info.setFirstname(first_name);
            user_info.setLastname(last_name);
            user_info.setContact(Cont);
            user_info.setMail(email);
            user_info.setPassword(pswd);
            if(user_info==null)
                Log.d("debug","User_Info is null");
            try{
//Here is the thing about which I'm confused                   
LoginPage.INSTANCE.userdetailsDAO().AddUser(user_info);
                Intent it = new Intent(UserSignup.this, Pharmacist_Home.class); //Spinner Implementation
                startActivity(it);
            }catch (Exception e){
                Log.d("debug", "Exception: " + e.getMessage() );
            }

            Intent intent = new Intent(UserSignup.this,Pharmacist_Home.class);
            } 
        }
    });
}
}

Вот где я застрял

 LoginPage.INSTANCE.userdetailsDAO().AddUser(user_info);

Я объявил INSTANCE в Login.java

LoginPage.java

 public static MyAppDatabase INSTANCE;
       INSTANCE = MyAppDatabase.getInstance(this);

И это MyAppDatabase.Ява, где я инициализировал INSTANCE

MyAppDatabase.java

private static MyAppDatabase instance;
public static MyAppDatabase getInstance(Context context) {
    //Instance Initialized
    if (instance == null) {
        synchronized (MyAppDatabase.class) {
            if (instance == null) {
                instance = Room.databaseBuilder(context.getApplicationContext(),
                        MyAppDatabase.class, DB_NAME).build();
            }
        }
    }
    return instance;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...