Rahuladaki / android

0 stars 0 forks source link

Whenever im trying to register, its showing like "Object Got Null", Please anyone help me with this I have to submit my project in the college and I have very short time #1

Open Rahuladaki opened 2 years ago

Rahuladaki commented 2 years ago

import android.annotation.SuppressLint; import android.app.ProgressDialog; import android.content.Intent; import android.graphics.Paint; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast;

import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar;

import com.parse.ParseObject; import com.parse.ParsePush; import com.parse.ParseQuery; import com.parse.ParseUser;

public class Register extends AppCompatActivity implements AdapterView.OnItemSelectedListener { EditText regnm, regpass, regmail; Button reg_btn; String regnmv, regpassv, regmailv, regtypev; Spinner reg_spinner;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    TextView tvf = findViewById(R.id.careiii);
    tvf.setPaintFlags(tvf.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
    String[] type = {"Staff", "Student"};
    reg_btn = findViewById(R.id.Reg_btn);
    regnm = findViewById(R.id.reg_name);
    regpass = findViewById(R.id.reg_pass);
    regmail = findViewById(R.id.reg_email);
    reg_spinner = findViewById(R.id.reg_spin);
    reg_spinner.setOnItemSelectedListener(Register.this);
    ArrayAdapter<String> typelist = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, type);
    typelist.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    reg_spinner.setAdapter(typelist);
}

public boolean onCreateOptionsMenu(Menu menu){
    //Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.about, menu);//Menu Resource, Menu
    return true;
}

@SuppressLint("NonConstantResourceId")
public boolean onOptionsItemSelected(MenuItem item){
    switch (item.getItemId()){
        case R.id.about:
            Intent t = new Intent(this, About.class);
            startActivity(t);
            Toast.makeText(getApplicationContext(), "About", Toast.LENGTH_LONG).show();
            return true;
        case R.id.Exit:
  //          Toast.makeText(getApplicationContext(), "Exit", Toast.LENGTH_LONG).show();
            AlertDialog.Builder exit = new AlertDialog.Builder(this);
            exit.setMessage("Do You Want To Exit ?");
            exit.setPositiveButton("Yes", (dialogInterface, i) -> {
                Intent intent = new Intent(getApplicationContext(), Login.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                intent.putExtra("EXIT", true);
                startActivity(intent);
            });
            exit.setNegativeButton("No", (dialogInterface, i) -> dialogInterface.cancel());
            AlertDialog exitdialog = exit.create();
            //show alert
            exitdialog.show();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

public void doRegister(View view) {
    if (isInternetOn()) {
        regnmv = regnm.getText().toString();
        regpassv = regpass.getText().toString();
        regmailv = regmail.getText().toString();
        regtypev = reg_spinner.getSelectedItem().toString();
        if (((regnmv.matches("")) && (regpassv.matches(""))) && (regmailv.matches(""))) {
            Toast.makeText(Register.this, "Please Enter Detail", Toast.LENGTH_SHORT).show();
        } else {
           // if (((regnmv != null) && (regpassv != null)) && ((regmailv != null)) && (regtypev != null)) {
                if (regpassv.length() >= 8) {
                    final ProgressDialog pdlg = new ProgressDialog(this);
                    pdlg.setTitle("Registering");
                    pdlg.setMessage("Please Wait");
                    pdlg.show();
                    //crosscheck logic
                    final ParseQuery<ParseObject> query = ParseQuery.getQuery("CrossCheckTable");
                    query.whereEqualTo("Email", regmailv);
                    query.getFirstInBackground((object, e) -> {
                        if (object == null){
                            Log.d("score", "The getFirst request failed");
                            Log.i("Object :", e.getMessage());
                            pdlg.cancel();
                            //Toast.makeText(Register.this, "Object Got null", Toast.LENGTH_SHORT).show();
                        } else {
                            Log.d("score", "Retrieved the object.");
                            final boolean chk = object.getBoolean("OTREG");
                            if (chk) {
                                pdlg.cancel();
                                //toast for report admin
                                Toast.makeText(Register.this, "Contact Administrator", Toast.LENGTH_SHORT).show();
                            } else {
                                //call register function
                                ParseUser user = new ParseUser();
                                user.setUsername(regnmv);
                                user.setPassword(regpassv);
                                user.setEmail(regmailv);
                                user.put("Type", regtypev);
                                user.signUpInBackground(e1 -> {
                                    if (e1 == null) {
                                        //Hooray! Let them use the app now.
                                        pdlg.cancel();
                                        object.put("OTREG", true);
                                        object.saveInBackground();
                                        ParsePush.subscribeInBackground(regtypev);
                                        Intent i = new Intent(Register.this, Login.class);
                                        Register.this.finish();
                                        Register.this.startActivity(i);
                                        Toast.makeText(Register.this, "Register Successful", Toast.LENGTH_SHORT).show();
                                    } else {
                                        pdlg.cancel();
                                        //Sign up didn't succeed. Look at the ParseException
                                        //to figure out what went wrong
                                        Toast.makeText(Register.this, "Register Failed", Toast.LENGTH_SHORT).show();
                                    }
                                });
                            }
                            Toast.makeText(Register.this, "Object Got : " + chk, Toast.LENGTH_SHORT).show();
                            // Log.e("Object got :", e.toString());
                        }
                    });
                } else {
                    Toast.makeText(Register.this, "Password Should Be 8 Digit Long", Toast.LENGTH_SHORT).show();
                }
            }
        }
    }
    //else {
     //   Toast.makeText(this, "Please Check Internet Connection", Toast.LENGTH_LONG).show();
   // }

// }

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    regtypev = parent.getItemAtPosition(position).toString();

}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}

@Override
public void onBackPressed(){
    super.onBackPressed();
    ParseUser.getCurrentUser();
}

public final boolean isInternetOn(){
    //get Connectivity Manager object to check connection
    getBaseContext();
    ConnectivityManager connec = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
    //Check for network connections
    if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
            connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING ||
            connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ||
            connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) {
        //if connected with internet
        return true;
    } else if (
            connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED ||
                    connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED) {
        return false;
    }
    return false;
}

}

Rahuladaki commented 2 years ago

Please anyone help me with the issue