i wrote a toast message that when the user click on sign up or log in a toast message pop up, but when i sign up the app continue without toast message, also when the user enters the app all the pictures favourite button are checked, how can i make them only checked if the user clicks on them?
Signup.class
public class Signup extends AppCompatActivity {
EditText username, password, repassword, email;
Button signup, login;
FavDB DB;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_signup); username = (EditText) findViewById(R.id.username); password = (EditText) findViewById(R.id.password); repassword = (EditText) findViewById(R.id.repassword); signup = (Button) findViewById(R.id.btnsignup); login = (Button) findViewById(R.id.btn_login); DB = new FavDB(this); signup.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String user = username.getText().toString(); String pass = password.getText().toString(); String repass = repassword.getText().toString(); if (user.equals("")|| pass.equals("")|| repass.equals("")) Toast.makeText(Signup.this,"Please Enter All Information", Toast.LENGTH_SHORT).show(); else { if (pass.equals(repass)){ Boolean checkuser = DB.checkusername(user); if (checkuser==false){ Boolean insert = DB.insertData(user, pass); if (insert==true) { Toast.makeText(Signup.this, "Registered Successfully", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(), HomeFragment.class); startActivity(intent); }else{ Toast.makeText(Signup.this,"Registered Failed", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(Signup.this, "User Already Exists, Please Login", Toast.LENGTH_SHORT).show(); } }else { Toast.makeText(Signup.this, "Password Not Matching",Toast.LENGTH_SHORT).show(); } } }}); login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(getApplicationContext(),Login.class); startActivity(intent); } }); }login.class
public class Login extends AppCompatActivity {
EditText username, password;
Button btn_login;
FavDB DB;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); //getActionBar().setDisplayHomeAsUpEnabled(true); username = (EditText) findViewById(R.id.username); password = (EditText) findViewById(R.id.password); btn_login = (Button) findViewById(R.id.btn_login); DB = new FavDB(this); btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String user = username.getText().toString(); String pass = password.getText().toString(); if (user.equals("") || pass.equals("")) Toast.makeText(Login.this, "Please enter Username and Password", Toast.LENGTH_SHORT).show(); else { Boolean checkuserpass = DB.checkusernamepassword(user, pass); if (checkuserpass == true) { Toast.makeText(Login.this, "Login successfully", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(), HomeFragment.class); startActivity(intent); //finish(); } else { Toast.makeText(Login.this, "Invalid Entries", Toast.LENGTH_SHORT).show(); } } } }); }}MainActivity.class
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); BottomNavigationView navView = findViewById(R.id.nav_view); AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder( R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications) .build(); NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_activity_main); NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration); NavigationUI.setupWithNavController(navView, navController);
}}HomeFragment.class "where the signup and login should direct to"
public class HomeFragment extends Fragment{ private ArrayList<DrawingItem> drawingItems = new ArrayList<>(); public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = inflater.inflate(R.layout.fragment_home, container, false); RecyclerView recyclerView = root.findViewById(R.id.recycleView); recyclerView.setHasFixedSize(true); recyclerView.setAdapter(new DrawingAdapter(drawingItems, getActivity())); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); drawingItems.add(new DrawingItem(R.drawable.girl_with_a_pearl_earing, "Girls with a pearl Earring","0","0",getString(R.string.drawing1_desc))); drawingItems.add(new DrawingItem(R.drawable.self_portait_ear, "Self Portrait Ear","1","0",getString(R.string.drawing2_desc))); drawingItems.add(new DrawingItem(R.drawable.vase, "Vase with 12 Sunflowers","2","0",getString(R.string.drawing3_desc))); drawingItems.add(new DrawingItem(R.drawable.night_cafe, "Coffee Terrace at Night","3","0",getString(R.string.drawing4_desc))); drawingItems.add(new DrawingItem(R.drawable.gurnica, "Guernica","4","0",getString(R.string.drawing5_desc))); drawingItems.add(new DrawingItem(R.drawable.the_scream, "The Scream","5","0",getString(R.string.drawing6_desc))); drawingItems.add(new DrawingItem(R.drawable.the_falling_rocket, "Nocturne in Black and Gold, the Falling Rocket","6","0",getString(R.string.drawing7_desc))); drawingItems.add(new DrawingItem(R.drawable.monalisa, "Monalisa","7","0",getString(R.string.drawing8_desc))); drawingItems.add(new DrawingItem(R.drawable.impresstion_sunrise, "Impression, Sunrise","8","0",getString(R.string.drawing9_desc))); drawingItems.add(new DrawingItem(R.drawable.the_last_supper,"The Last Supper", "9","0",getString(R.string.drawing9_desc))); drawingItems.add(new DrawingItem(R.drawable.water_lilies, "Water Lilies","10","0",getString(R.string.drawing10_desc))); drawingItems.add(new DrawingItem(R.drawable.the_magpie, "The Magpie","11","0",getString(R.string.drawing11_desc))); return root; }}Manifest
<activity android:name=".Signup" android:exported="true" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Login" android:exported="false"> </activity> <activity android:name=".MainActivity" android:exported="false" android:parentActivityName=".Signup" android:label="@string/app_name"> </activity>Database helper
public class FavDB extends SQLiteOpenHelper { public static final String DBNAME = "Login"; private static int DB_VERSION = 1; private static String DATABASE_NAME = "favouriteDB"; private static String TABLE_NAME = "favoriteTable"; public static String KEY_ID = "id"; public static String ITEM_TITLE = "itemTitle"; public static String ITEM_IMAGE = "itemImage"; public static String FAVORITE_STATUS = "fStatus"; public static String ITEM_DESC ="itemDesc"; private static String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "(" + KEY_ID + " TEXT," + ITEM_TITLE+ " TEXT," + ITEM_IMAGE + " TEXT," + FAVORITE_STATUS+" TEXT," + ITEM_DESC + " TEXT)"; public FavDB(Context context) { super(context,"Login",null,DB_VERSION);} @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL("create Table users(username TEXT primary key, password Text)"); sqLiteDatabase.execSQL(CREATE_TABLE); } public Boolean insertData(String username, String password){ SQLiteDatabase sqLiteDatabase = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("username", username); contentValues.put("password", password); long result = sqLiteDatabase.insert("users", null, contentValues); if (result==1)return false; else return true; } public Boolean checkusername(String username){ SQLiteDatabase sqLiteDatabase = this.getWritableDatabase(); Cursor cursor = sqLiteDatabase.rawQuery("Select * from users where username = ?", new String[]{username}); if (cursor.getCount() > 0) return true; else return false; } public Boolean checkusernamepassword(String username, String password){ SQLiteDatabase sqLiteDatabase = this.getWritableDatabase(); Cursor cursor = sqLiteDatabase.rawQuery("Select * from users where username = ? and password = ?", new String[] {username,password}); if (cursor.getCount() > 0) return true; else return false; } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { sqLiteDatabase.execSQL("drop Table if exists users"); } public void insertEmpty() { SQLiteDatabase db = this.getWritableDatabase(); ContentValues cv = new ContentValues(); for (int x = 1; x < 13; x++) { cv.put(KEY_ID, x); cv.put(FAVORITE_STATUS, "0"); db.insert(TABLE_NAME,null, cv); } } public void insertIntoTheDatabase(String item_title, int item_image, String id, String fav_status) { SQLiteDatabase db; db = this.getWritableDatabase(); ContentValues cv = new ContentValues(); cv.put(ITEM_TITLE, item_title); cv.put(ITEM_IMAGE, item_image); cv.put(KEY_ID, id); cv.put(FAVORITE_STATUS, fav_status); // cv.put(ITEM_DESC,item_desc); db.insert(TABLE_NAME,null, cv); Log.d("FavDB Status", item_title + ", favstatus - "+fav_status+" - . " + cv); } public Cursor read_all_data(String id) { SQLiteDatabase db = this.getReadableDatabase(); String sql = "select * from " + TABLE_NAME + " where " + KEY_ID+"="+id+""; return db.rawQuery(sql,null,null); } public void remove_fav(String id) { SQLiteDatabase db = this.getWritableDatabase(); String sql = "UPDATE " + TABLE_NAME + " SET "+ FAVORITE_STATUS+" ='0' WHERE "+KEY_ID+"="+id+""; db.execSQL(sql); Log.d("remove", id.toString()); } public Cursor select_all_favorite_list() { SQLiteDatabase db = this.getReadableDatabase(); String sql = "SELECT * FROM "+TABLE_NAME+" WHERE "+FAVORITE_STATUS+" ='1'"; return db.rawQuery(sql,null,null); }} 2 Reset to default