Advertisement
Guest User

Untitled

a guest
Aug 21st, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.88 KB | None | 0 0
  1. package com.example.sean.registrationactivity_lesson15;
  2.  
  3. import android.app.ProgressDialog;
  4. import android.content.Intent;
  5. import android.nfc.Tag;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.util.Log;
  9. import android.view.View;
  10. import android.widget.Button;
  11. import android.widget.EditText;
  12. import android.widget.Toast;
  13.  
  14. import com.android.volley.Request;
  15. import com.android.volley.Response;
  16. import com.android.volley.VolleyError;
  17. import com.android.volley.toolbox.StringRequest;
  18. import com.example.sean.registrationactivity_lesson15.App.AppConfig;
  19. import com.example.sean.registrationactivity_lesson15.App.AppController;
  20. import com.example.sean.registrationactivity_lesson15.Helper.SQLiteHandler;
  21. import com.example.sean.registrationactivity_lesson15.Helper.SessionManager;
  22.  
  23. import org.json.JSONException;
  24. import org.json.JSONObject;
  25.  
  26. import java.util.HashMap;
  27. import java.util.Map;
  28.  
  29. public class RegisterActivity extends AppCompatActivity {
  30. private static final String TAG = RegisterActivity.class.getSimpleName();
  31. Button register,backToLogin;
  32. EditText password,username,email;
  33. ProgressDialog progressDialog;
  34. SQLiteHandler db;
  35. SessionManager sessionManager;
  36. @Override
  37. protected void onCreate(Bundle savedInstanceState) {
  38. super.onCreate(savedInstanceState);
  39. setContentView(R.layout.activity_register);
  40. register = (Button) findViewById(R.id.registerButton);
  41. backToLogin = (Button) findViewById(R.id.returnToLoginButton);
  42. password = (EditText) findViewById(R.id.registerPassword);
  43. username = (EditText) findViewById(R.id.registerUsername);
  44. email = (EditText) findViewById(R.id.registerMail);
  45. sessionManager = new SessionManager(getApplicationContext());
  46. db = new SQLiteHandler(getApplicationContext());
  47. progressDialog = new ProgressDialog(this);
  48. progressDialog.setCancelable(false);
  49. if(sessionManager.IsLoggedIn()){
  50. Intent intent = new Intent(RegisterActivity.this,MainActivity.class);
  51. startActivity(intent);
  52. finish();
  53. }
  54.  
  55. register.setOnClickListener(new View.OnClickListener() {
  56. @Override
  57. public void onClick(View v) {
  58. String name = username.getText().toString().trim()
  59. ,mail = email.getText().toString().trim()
  60. ,pass = password.getText().toString().trim();
  61. if(!name.isEmpty()&&!mail.isEmpty()&&!pass.isEmpty()){
  62. registerUser(name,mail,pass);
  63. }else{
  64. Toast.makeText(RegisterActivity.this, "Please don't leave blank areas", Toast.LENGTH_SHORT).show();
  65. }
  66. }
  67. });
  68.  
  69. backToLogin.setOnClickListener(new View.OnClickListener() {
  70. @Override
  71. public void onClick(View v) {
  72. Intent intent = new Intent(RegisterActivity.this,LoginActivity.class);
  73. startActivity(intent);
  74. finish();
  75. }
  76. });
  77. }
  78. private void registerUser(final String name,final String mail,final String password){
  79. final String TAG_string_req = "login_req";
  80. progressDialog.setMessage("User registered!");
  81. showDialog();
  82. StringRequest stringRequest = new StringRequest(Request.Method.POST, AppConfig.URL_REGISTER, new Response.Listener<String>() {
  83. @Override
  84. public void onResponse(String response) {
  85. Log.d(TAG, "register response: " + response.toString());
  86. hideDialog();
  87. try {
  88. JSONObject jsonObject = new JSONObject(response);
  89. boolean error = jsonObject.getBoolean("error");
  90. if (!error) {
  91. JSONObject newUser = new JSONObject("user");
  92. String name = newUser.getString("name"), mail = newUser.getString("mail"), password = newUser.getString("password"), created_time = newUser.getString("ct");
  93. db.AddUser(name, password, mail, created_time);
  94. Toast.makeText(RegisterActivity.this, "User successfully registered", Toast.LENGTH_SHORT).show();
  95. Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
  96. startActivity(intent);
  97. finish();
  98. } else {
  99. String error_message = jsonObject.getString("error_message");
  100. Toast.makeText(RegisterActivity.this, error_message, Toast.LENGTH_SHORT).show();
  101. }
  102. } catch (JSONException e) {
  103. e.printStackTrace();
  104. }
  105.  
  106. }
  107. }
  108. , new Response.ErrorListener() {
  109. @Override
  110. public void onErrorResponse(VolleyError error) {
  111. Log.d(TAG,"registration error "+error.getMessage());
  112. Toast.makeText(RegisterActivity.this, error.getMessage(), Toast.LENGTH_SHORT).show();
  113. hideDialog();
  114. }
  115. }
  116. ){
  117. protected Map<String,String> getParams(){
  118. Map<String,String> params = new HashMap<String,String>();
  119. params.put("name",name);
  120. params.put("mail",mail);
  121. params.put("password",password);
  122. return params;
  123.  
  124. }
  125. };
  126. AppController.getInstance().addToRequestQueue(stringRequest,TAG_string_req);
  127.  
  128.  
  129. }
  130. private void showDialog(){
  131. if(!progressDialog.isShowing())
  132. progressDialog.show();
  133. }
  134. private void hideDialog(){
  135. if(progressDialog.isShowing())
  136. progressDialog.dismiss();
  137. }
  138. }
  139.  
  140. package com.example.sean.registrationactivity_lesson15.App;
  141.  
  142. import android.app.Application;
  143. import android.text.TextUtils;
  144.  
  145. import com.android.volley.Request;
  146. import com.android.volley.RequestQueue;
  147. import com.android.volley.toolbox.Volley;
  148.  
  149. import java.lang.ref.ReferenceQueue;
  150.  
  151. /**
  152. * Created by Sean on 8/18/2017.
  153. */
  154.  
  155. public class AppController extends Application {
  156.  
  157. public static final String TAG = AppController.class.getSimpleName();
  158.  
  159. private RequestQueue requestQueue;
  160. private static AppController instance;
  161.  
  162. @Override
  163. public void onCreate() {
  164. super.onCreate();
  165. instance = this;
  166. }
  167.  
  168. public static synchronized AppController getInstance() {
  169. return instance;
  170. }
  171.  
  172. public RequestQueue getRequestQueue(){
  173. if(requestQueue==null){
  174. requestQueue = Volley.newRequestQueue(getApplicationContext());
  175. }
  176. return requestQueue;
  177. }
  178.  
  179. public <T> void addToRequestQueue(Request request,String tag){
  180. request.setTag(TextUtils.isEmpty(tag)?TAG:tag);
  181. getRequestQueue().add(request);
  182. }
  183.  
  184.  
  185. public <T> void addToRequestQueue(Request request){
  186. request.setTag(TAG);
  187. getRequestQueue().add(request);
  188. }
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement