Advertisement
Guest User

Untitled

a guest
May 16th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.81 KB | None | 0 0
  1. package com.example.ismail.fbfirebase;
  2.  
  3. import android.app.ProgressDialog;
  4. import android.content.Intent;
  5. import android.net.Uri;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. import android.widget.ImageButton;
  12. import android.widget.ImageView;
  13. import android.widget.TextView;
  14. import android.widget.Toast;
  15.  
  16. import com.android.volley.Request;
  17. import com.android.volley.RequestQueue;
  18. import com.android.volley.Response;
  19. import com.android.volley.VolleyError;
  20. import com.android.volley.toolbox.StringRequest;
  21. import com.android.volley.toolbox.Volley;
  22. import com.bumptech.glide.Glide;
  23. import com.firebase.client.Firebase;
  24. import com.firebase.ui.storage.images.FirebaseImageLoader;
  25. import com.google.android.gms.tasks.OnSuccessListener;
  26. import com.google.firebase.storage.FirebaseStorage;
  27. import com.google.firebase.storage.StorageReference;
  28. import com.google.firebase.storage.UploadTask;
  29. import com.squareup.picasso.Picasso;
  30.  
  31. import org.json.JSONException;
  32. import org.json.JSONObject;
  33.  
  34. public class Register extends AppCompatActivity {
  35. EditText username, password,email,ville;
  36. Button registerButton;
  37. String user, pass,vil,mail;
  38. Button login;
  39. ImageButton profil;
  40. StorageReference mstorage;
  41. private final static int intent_galerie=2;
  42. private static int i=0;
  43.  
  44. @Override
  45. protected void onCreate(Bundle savedInstanceState) {
  46. super.onCreate(savedInstanceState);
  47. setContentView(R.layout.activity_register);
  48.  
  49.  
  50. username = (EditText)findViewById(R.id.username);
  51. password = (EditText)findViewById(R.id.password);
  52. email=(EditText)findViewById(R.id.email);
  53. ville=(EditText) findViewById(R.id.ville);
  54. registerButton = (Button)findViewById(R.id.register);
  55. login = (Button) findViewById(R.id.Login);
  56. profil=(ImageButton) findViewById(R.id.profile);
  57. mstorage= FirebaseStorage.getInstance().getReference();
  58.  
  59. profil.setOnClickListener(new View.OnClickListener() {
  60. @Override
  61. public void onClick(View v) {
  62. if(!username.getText().toString().isEmpty()){
  63. Intent intent=new Intent(Intent.ACTION_PICK);
  64. intent.setType("image/*");
  65. startActivityForResult(intent,intent_galerie);}
  66. else{
  67. Toast.makeText(Register.this,"Vous devez remplir username",Toast.LENGTH_SHORT).show();
  68. }
  69. }
  70. });
  71.  
  72. Firebase.setAndroidContext(this);
  73.  
  74. login.setOnClickListener(new View.OnClickListener() {
  75. @Override
  76. public void onClick(View v) {
  77. startActivity(new Intent(Register.this, Login.class));
  78. }
  79. });
  80.  
  81. registerButton.setOnClickListener(new View.OnClickListener() {
  82. @Override
  83. public void onClick(View v) {
  84. user = username.getText().toString();
  85. pass = password.getText().toString();
  86. mail= email.getText().toString();
  87. vil=ville.getText().toString();
  88.  
  89. if(user.equals("")){
  90. username.setError("can't be blank");
  91. }
  92. else if(pass.equals("")){
  93. password.setError("can't be blank");
  94. }
  95. else if(!user.matches("[A-Za-z0-9]+")){
  96. username.setError("only alphabet or number allowed");
  97. }
  98. else if(user.length()<5){
  99. username.setError("at least 5 characters long");
  100. }
  101. else if(pass.length()<5){
  102. password.setError("at least 5 characters long");
  103. }
  104. else {
  105. final ProgressDialog pd = new ProgressDialog(Register.this);
  106. pd.setMessage("Loading...");
  107. pd.show();
  108.  
  109. String url = "https://fbfirebase-94a3c.firebaseio.com/Users.json";
  110.  
  111. StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>(){
  112. @Override
  113. public void onResponse(String s) {
  114. Firebase reference = new Firebase("https://fbfirebase-94a3c.firebaseio.com/Users");
  115.  
  116. if(s.equals("null")) {
  117. i=1;
  118. reference.child(user).child("password").setValue(pass);
  119. reference.child(user).child("email").setValue(mail);
  120. reference.child(user).child("ville").setValue(vil);
  121. Toast.makeText(Register.this, "registration successful", Toast.LENGTH_LONG).show();
  122. username.setText("");
  123. email.setText("");
  124. password.setText("");
  125. ville.setText("");
  126. }
  127. else {
  128. try {
  129. JSONObject obj = new JSONObject(s);
  130.  
  131. if (!obj.has(user)) {
  132. reference.child(user).child("password").setValue(pass);
  133. reference.child(user).child("email").setValue(mail);
  134. reference.child(user).child("ville").setValue(vil);
  135. Toast.makeText(Register.this, "registration successful", Toast.LENGTH_LONG).show();
  136. } else {
  137. Toast.makeText(Register.this, "username already exists", Toast.LENGTH_LONG).show();
  138. }
  139.  
  140. } catch (JSONException e) {
  141. e.printStackTrace();
  142. }
  143. }
  144.  
  145. pd.dismiss();
  146. }
  147.  
  148. },new Response.ErrorListener(){
  149. @Override
  150. public void onErrorResponse(VolleyError volleyError) {
  151. System.out.println("" + volleyError );
  152. pd.dismiss();
  153. }
  154. });
  155.  
  156. RequestQueue rQueue = Volley.newRequestQueue(Register.this);
  157. rQueue.add(request);
  158. }
  159. }
  160. });
  161. }
  162.  
  163. @Override
  164. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  165. super.onActivityResult(requestCode, resultCode, data);
  166. if(requestCode == intent_galerie && resultCode == RESULT_OK ){
  167. Uri uri=data.getData();
  168.  
  169. StorageReference str=mstorage.child("photos").child(username.getText().toString());
  170. final StorageReference ispath=str;
  171. //StorageReference str=mstorage.child("photos").child(findViewById(R.id.username).toString());
  172. str.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
  173. @Override
  174. public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
  175. Glide.with(Register.this)
  176. .using(new FirebaseImageLoader())
  177. .load(ispath)
  178. .placeholder(R.drawable.profile_circular_border_imageview)
  179.  
  180. .into( profil);
  181. Toast.makeText(Register.this,"Upload done...",Toast.LENGTH_SHORT).show();
  182.  
  183. }
  184. });
  185. }
  186. }
  187. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement