Please Help Me
I Have Made An App Which Is Running Without Crashes In Real Device But Stopping In Android Studio Emulator
MainActivity.java
package com.eco.hrmecoservices;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.view.MenuItemCompat;
import androidx.fragment.app.Fragment;
import android.Manifest;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.SearchView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.QueryDocumentSnapshot;
import com.google.firebase.firestore.QuerySnapshot;
import org.jetbrains.annotations.NotNull;
public class MainActivity extends AppCompatActivity {
FirebaseFirestore db = FirebaseFirestore.getInstance();
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED){
// Don't Do Anything
}
else{
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},100);
}
BottomNavigationView bottomnav=findViewById(R.id.bottom_navigation);
bottomnav.setOnNavigationItemSelectedListener(navListner);
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new home_fragment()).commit();
db.collection("User Details").whereEqualTo("email", user.getEmail()).limit(1)
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
boolean taskbool = task.getResult().isEmpty();
if(taskbool){
Intent intent = new Intent(MainActivity.this, phone_number_verify.class);
startActivity(intent);
}
else{
String phoneNumber = "";
for (QueryDocumentSnapshot doc : task.getResult()) {
phoneNumber = doc.get("PhoneNumber").toString();
}
SharedPreferences mode = getSharedPreferences("UserPhoneNumber", MODE_PRIVATE);
SharedPreferences.Editor editor = mode.edit();
editor.putString("PhoneNumber", phoneNumber);
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
MenuItem searchViewItem = menu.findItem(R.id.app_bar_search);
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchViewItem);
return super.onCreateOptionsMenu(menu);
}
private BottomNavigationView.OnNavigationItemSelectedListener navListner =
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull @NotNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId()){
case R.id.home:
selectedFragment = new home_fragment();
break;
case R.id.cart:
selectedFragment = new cart_fragment();
break;
case R.id.orders:
selectedFragment = new order_fragment();
break;
case R.id.settings:
selectedFragment = new settings_fragment();
break;
}
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
selectedFragment).commit();
return true;
}
};
public void OrderSanitization(View v){
Intent i = new Intent(MainActivity.this, OrderSanitization.class);
startActivity(i);
}
public void logout(View view) {
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Logout From HRM Eco Services?");
alert.setMessage("Caution! Logging Out From HRM Eco Services");
alert.setPositiveButton("Yes, Logout", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
FirebaseAuth.getInstance().signOut();
Toast.makeText(MainActivity.this, "Logged Out", Toast.LENGTH_SHORT).show();
Intent login = new Intent(MainActivity.this, Login.class);
startActivity(login);
}
});
alert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert.show();
}
public void start_shopping(View view) {
BottomNavigationView bottomnav = findViewById(R.id.bottom_navigation);
bottomnav.setSelectedItemId(R.id.home);
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new home_fragment()).commit();
}
}
activity_main.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="wrap_content">
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/bottom_navigation"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="0dp"
android:layout_marginTop="0dp"
android:layout_marginEnd="0dp" >
</FrameLayout>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
style="@style/Widget.MaterialComponents.BottomNavigationView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:menu="@menu/bottom_navigation_menu" />
</RelativeLayout>
home_fragment.java
package com.eco.hrmecoservices;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
public class home_fragment extends Fragment {
@Nullable
@org.jetbrains.annotations.Nullable
@Override
public View onCreateView(@NonNull @org.jetbrains.annotations.NotNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_home, container, false);
}
}
This Activity Stops IDK Why
Emulator Which I Have Used Tested: Pixel-2(Nougat), Pixel-4(Nougat), NexusOne(Nougat), Pixel-2(Q)
Plz Help
Thanks, And Regards
Krishna