Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.multikultiapplication;
- import android.app.ProgressDialog;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.design.widget.FloatingActionButton;
- import android.support.design.widget.Snackbar;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.View;
- import android.support.design.widget.NavigationView;
- import android.support.v4.view.GravityCompat;
- import android.support.v4.widget.DrawerLayout;
- import android.support.v7.app.ActionBarDrawerToggle;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.example.multikultiapplication.Holder.EventViewHolder;
- import com.example.multikultiapplication.Holder.ItemClickListener;
- import com.example.multikultiapplication.Model.Event;
- import com.firebase.ui.database.FirebaseRecyclerAdapter;
- import com.google.firebase.auth.FirebaseAuth;
- 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.squareup.picasso.Picasso;
- import java.util.Map;
- import java.util.Random;
- public class MainActivity extends AppCompatActivity
- implements NavigationView.OnNavigationItemSelectedListener {
- RecyclerView recyclerView;
- RecyclerView.LayoutManager layoutManager ;
- DatabaseReference databaseReference;
- private FirebaseAuth mAuth;
- private ProgressDialog mProgress;
- private FirebaseAuth.AuthStateListener mAuthListener;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_activity_main);
- setTitle("MultiKulti - wydarzenia");
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- FirebaseAuth.AuthStateListener mAuthListener = new FirebaseAuth.AuthStateListener() {
- @Override
- public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
- if (firebaseAuth.getCurrentUser() != null) {
- Intent intent = new Intent(MainActivity.this, SignIn.class);
- startActivity(intent);
- }
- }
- };
- FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
- fab.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show();
- }
- });
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
- this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
- drawer.addDrawerListener(toggle);
- toggle.syncState();
- NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
- navigationView.setNavigationItemSelectedListener(this);
- FirebaseDatabase database= FirebaseDatabase.getInstance();
- databaseReference=database.getReference("event") ;
- recyclerView=findViewById(R.id.eventlist);
- recyclerView.setHasFixedSize(true);
- layoutManager= new LinearLayoutManager(this);
- recyclerView.setLayoutManager(layoutManager);
- loadEvent();
- }
- private void loadEvent() {
- FirebaseRecyclerAdapter<Event, EventViewHolder> adapter =new FirebaseRecyclerAdapter<Event, EventViewHolder>(Event.class,R.layout.event_item,EventViewHolder.class,databaseReference) {
- @Override
- protected void populateViewHolder(EventViewHolder viewHolder, Event model, int position) {
- viewHolder.textDescription.setText(model.getDescription());
- viewHolder.textPlace.setText(model.getPlace());
- viewHolder.textName.setText(model.getName());
- viewHolder.textPrice.setText(model.getPrice());
- Picasso.get().load(model.getImage()).into(viewHolder.imageViewevent);
- viewHolder.setItemClickListener(new ItemClickListener() {
- @Override
- public void onClick(View view, int position, boolean isLongClick) {
- position++;
- Toast.makeText(MainActivity.this,R.string.dodanoDoZamówienia,Toast.LENGTH_SHORT).show(); //wyswietla komunikat o dodanieiu do ulubionycha
- DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference().child("event");//pobiera referencje do eventu w bazie
- DatabaseReference currentEvent = mDatabase.child(Integer.toString(position)); //pobieranie odpowiedniego eventu
- currentEvent.addValueEventListener(new ValueEventListener() { //odbywa sie praca z danymi
- @Override
- public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
- Map<String,Object> map = (Map)dataSnapshot.getValue();
- String des=((String)map.get("description"));
- String image=((String)map.get("image"));
- String name=((String)map.get("name"));
- String place= ((String)map.get("place"));
- String price=((String)map.get("price"));
- addtoCard(des,image,name,place,price);
- }
- @Override
- public void onCancelled(@NonNull DatabaseError databaseError) {
- }
- });
- }
- });
- }
- };
- recyclerView.setAdapter(adapter);
- }
- private void addtoCard(String des, String image, String name, String place, String price) {
- mAuth = FirebaseAuth.getInstance();
- DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference().child("users");
- DatabaseReference currentUserDB = mDatabase.child(mAuth.getCurrentUser().getUid());
- Random ran = new Random();
- int x = ran.nextInt(100) + 500;
- final String str = Integer.toString(x);
- String uid= currentUserDB.getKey();
- DatabaseReference mDatabase1 = FirebaseDatabase.getInstance().getReference().child("fav");
- DatabaseReference currentEvent = mDatabase1.child(uid);
- DatabaseReference databaseReference=currentEvent.child(str);
- databaseReference.child("description").setValue(des);
- databaseReference.child("image").setValue(image);
- databaseReference.child("name").setValue(place);
- databaseReference.child("place").setValue(name);
- databaseReference.child("price").setValue(price);
- }
- @Override
- public void onBackPressed() {
- DrawerLayout drawer = (DrawerLayout) 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.activity_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.my_profile) {
- Intent intent = new Intent(MainActivity.this,UserProfile.class);
- startActivity(intent);
- } else if (id == R.id.add_event) {
- Intent intent = new Intent(MainActivity.this,AddKulti.class);
- startActivity(intent);
- } else if (id == R.id.favourite_events) {
- Intent intent = new Intent(MainActivity.this,FavouriteEvents.class);
- startActivity(intent);
- } else if (id == R.id.log_out) {
- FirebaseAuth.getInstance().signOut();
- Intent intent = new Intent(MainActivity.this,SignIn.class);
- startActivity(intent);
- }
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- drawer.closeDrawer(GravityCompat.START);
- return true;
- }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement