Darsiwan

Untitled

Sep 4th, 2016
44,127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.08 KB | None | 0 0
  1. import android.content.DialogInterface;
  2. import android.content.Intent;
  3. import android.support.v7.app.AlertDialog;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.AdapterView;
  8. import android.widget.ArrayAdapter;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. import android.widget.ListView;
  12. import android.widget.TextView;
  13.  
  14. import com.firebase.client.Firebase;
  15. import com.google.firebase.database.DataSnapshot;
  16. import com.google.firebase.database.DatabaseError;
  17. import com.google.firebase.database.DatabaseReference;
  18. import com.google.firebase.database.FirebaseDatabase;
  19. import com.google.firebase.database.ValueEventListener;
  20.  
  21. import java.util.ArrayList;
  22. import java.util.HashMap;
  23. import java.util.HashSet;
  24. import java.util.Iterator;
  25. import java.util.Map;
  26. import java.util.Set;
  27.  
  28. public class MainActivity extends AppCompatActivity {
  29.     private  Button add_room;
  30.     private  EditText room_name;
  31.     private ListView listView;
  32.     private String name;
  33.     private DatabaseReference root = FirebaseDatabase.getInstance().getReference().getRoot();
  34.  
  35.     private ArrayAdapter<String> arrayAdapter;
  36.     private ArrayList<String> list_of_rooms = new ArrayList();
  37.     @Override
  38.     protected void onCreate(Bundle savedInstanceState) {
  39.         super.onCreate(savedInstanceState);
  40.         setContentView(R.layout.activity_main);
  41.         add_room = (Button)findViewById(R.id.btnAdd_room);
  42.         room_name = (EditText)findViewById(R.id.etNeme_room);
  43.         listView = (ListView)findViewById(R.id.listView);
  44.  
  45.         arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list_of_rooms);
  46.         listView.setAdapter(arrayAdapter);
  47.  
  48.         request_user_name();
  49.         add_room.setOnClickListener(new View.OnClickListener() {
  50.             @Override
  51.             public void onClick(View view) {
  52.  
  53.                 Map<String,Object> map = new HashMap<String,Object>();
  54.                 map.put(room_name.getText().toString(),"");
  55.                 root.updateChildren(map);
  56.  
  57.             }
  58.         });
  59.         root.addValueEventListener(new ValueEventListener() {
  60.             @Override
  61.             public void onDataChange(DataSnapshot dataSnapshot) {
  62.                 Set<String> set = new HashSet<String>();
  63.                 Iterator i = dataSnapshot.getChildren().iterator();
  64.                 while ( i.hasNext())
  65.                 {
  66.                     set.add(((DataSnapshot)i.next()).getKey());
  67.                 }
  68.                 list_of_rooms.clear();
  69.                 list_of_rooms.addAll(set);
  70.  
  71.                 arrayAdapter.notifyDataSetChanged();
  72.             }
  73.  
  74.             @Override
  75.             public void onCancelled(DatabaseError databaseError) {
  76.  
  77.             }
  78.         });
  79.  
  80.         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  81.             @Override
  82.             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
  83.  
  84.                 Intent I = new Intent(getApplicationContext(),chatroom.class);
  85.                 I.putExtra("room_name",((TextView)view).getText().toString());
  86.                 I.putExtra("user_name",name);
  87.                 startActivity(I);
  88.             }
  89.         });
  90.  
  91.     }
  92.  
  93.     private void request_user_name() {
  94.         AlertDialog.Builder builder = new AlertDialog.Builder(this);
  95.         builder.setTitle("Enter Name");
  96.         final EditText input_field = new EditText(this);
  97.         builder.setView(input_field);
  98.         builder.setPositiveButton("OK ", new DialogInterface.OnClickListener() {
  99.             @Override
  100.             public void onClick(DialogInterface dialogInterface, int i) {
  101.                 name = input_field.getText().toString();
  102.             }
  103.         });
  104.         builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
  105.             @Override
  106.             public void onClick(DialogInterface dialogInterface, int i) {
  107.                 dialogInterface.cancel();
  108.                 request_user_name();
  109.             }
  110.         });
  111.         builder.show();
  112.     }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment