Ja guzten tag und danke im vorraus , ich bin gerade dabi java zu lernen und mich würde interessiren wie ich firestore in meiner app so nutzen kann das die daten die ich in firestore speicher in meinen spinner bekomme , bzw in alle meine 10 spinner jedoch möchte ich dazu auch eine weiteren wert übergeben , bitte helft mir
Java:
package com.example.toolkit;
import android.content.Intent;
import android.os.Bundle;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import android.util.Log;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.core.view.GravityCompat;
import androidx.appcompat.app.ActionBarDrawerToggle;
import android.view.MenuItem;
import com.google.android.material.navigation.NavigationView;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FirebaseFirestore;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.jar.Attributes;
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
private static final String KEY_NAME = "name";
private static final String KEY_GEWICHT = "gewicht";
private FirebaseFirestore db = FirebaseFirestore.getInstance();
private DocumentReference noteRef = db.document("Notebook/My First Note");
private Spinner spinner;
private Spinner spinner2;
private Spinner spinner3;
private Spinner spinner4;
private Spinner spinner5;
private Spinner spinner6;
private Spinner spinner7;
private Spinner spinner8;
private Spinner spinner9;
private Spinner spinner10;
private TextView rechtsgewicht;
private TextView linksgewicht;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Spinner
spinner = findViewById(R.id.spinner);
spinner2 = findViewById(R.id.spinner2);
spinner3 = findViewById(R.id.spinner3);
spinner4 = findViewById(R.id.spinner4);
spinner5 = findViewById(R.id.spinner5);
spinner6 = findViewById(R.id.spinner6);
spinner7 = findViewById(R.id.spinner7);
spinner8 = findViewById(R.id.spinner8);
spinner9 = findViewById(R.id.spinner9);
spinner10 = findViewById(R.id.spinner10);
rechtsgewicht = findViewById(R.id.rechtsgewicht);
linksgewicht = findViewById(R.id.linksgewicht);
//Daten aus Datenbank holoen
// Hier soll das was ich beschrieben habe passiren , also ich möchte das gern mit daten aus
//firestore generieren lassen anstatt das ganze zu hard coden
final List<Namen> userList = new ArrayList<>();
Namen name2 = new Namen("safsadf", 33);
userList.add(name2);
//Daten in Spinner einfügen
ArrayAdapter<Namen> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, userList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner2.setAdapter(adapter);
spinner3.setAdapter(adapter);
spinner4.setAdapter(adapter);
spinner5.setAdapter(adapter);
spinner6.setAdapter(adapter);
spinner7.setAdapter(adapter);
spinner8.setAdapter(adapter);
spinner9.setAdapter(adapter);
spinner10.setAdapter(adapter);
//Berechnen des gewichtes nach eingabe
Button btnberechnen = (Button)findViewById(R.id.btnberechnen);
btnberechnen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Rechte Seite
Namen name1 = (Namen) spinner.getSelectedItem();
Namen name2 = (Namen) spinner2.getSelectedItem();
Namen name3 = (Namen) spinner3.getSelectedItem();
Namen name4 = (Namen) spinner4.getSelectedItem();
Namen name5 = (Namen) spinner5.getSelectedItem();
// Linke Seite
Namen name6 = (Namen) spinner6.getSelectedItem();
Namen name7 = (Namen) spinner7.getSelectedItem();
Namen name8 = (Namen) spinner8.getSelectedItem();
Namen name9 = (Namen) spinner9.getSelectedItem();
Namen name10 = (Namen) spinner10.getSelectedItem();
// Übergabe in andere Funktion
berechneAlles(name1, name2, name3, name4, name5, name6, name7, name8, name9, name10);
}
private void berechneAlles(Namen namen, Namen namen2, Namen namen3, Namen namen4, Namen namen5, Namen namen6, Namen namen7, Namen namen8, Namen namen9, Namen namen10) {
//Daten Bekommen rechts
String dername = namen.getName();
int gewicht = namen.getGewicht();
String dername2 = namen2.getName();
int gewicht2 = namen2.getGewicht();
String dername3 = namen3.getName();
int gewicht3 = namen3.getGewicht();
String dername4 = namen4.getName();
int gewicht4 = namen4.getGewicht();
String dername5 = namen5.getName();
int gewicht5 = namen5.getGewicht();
//Daten Bekommen links
String dername6 = namen6.getName();
int gewicht6 = namen6.getGewicht();
String dername7 = namen7.getName();
int gewicht7 = namen7.getGewicht();
String dername8 = namen8.getName();
int gewicht8 = namen8.getGewicht();
String dername9 = namen9.getName();
int gewicht9 = namen9.getGewicht();
String dername10 = namen10.getName();
int gewicht10 = namen10.getGewicht();
//Rechnen von dem ganzen (links + rechts )
int rechts = gewicht+gewicht2+gewicht3+gewicht4+gewicht5;
int links = gewicht6+gewicht7+gewicht8+gewicht9+gewicht10;
int alles = rechts + links;
// Ausgabe von dem ganzen ( rechts + links )
String benutzerdatenrechts = rechts + "kg";
rechtsgewicht.setText(benutzerdatenrechts);
String benutzerdatenlinks = links + "kg";
linksgewicht.setText(benutzerdatenlinks);
String benutzerdatenalles = alles + "kg";
Toast.makeText(MainActivity.this, benutzerdatenalles, Toast.LENGTH_LONG).show();
}
});
//Zum Hinzufügen von neuen benutzern wechseln
Button btnnew = (Button)findViewById(R.id.btnnew);
btnnew.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this, Databaseinput.class));
}
});
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
navigationView.setNavigationItemSelectedListener(this);
}
@Override
public void onBackPressed() {
DrawerLayout drawer = findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_home) {
// Handle the camera action
} else if (id == R.id.nav_gallery) {
} else if (id == R.id.nav_slideshow) {
} else if (id == R.id.nav_tools) {
} else if (id == R.id.nav_share) {
} else if (id == R.id.nav_send) {
}
DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
}