From bd7f1c1327820a1dc911541e25bd0b6cfa613484 Mon Sep 17 00:00:00 2001 From: dextroxd Date: Sat, 2 Mar 2019 23:46:03 +0530 Subject: [PATCH 1/2] Volley class has been made --- app/build.gradle | 1 + .../appteam/nimbus/Utils/Volleycustom.java | 112 ++++++++++++++++++ app/src/main/res/drawable/peachgradient.xml | 6 + 3 files changed, 119 insertions(+) create mode 100644 app/src/main/java/com/nith/appteam/nimbus/Utils/Volleycustom.java create mode 100644 app/src/main/res/drawable/peachgradient.xml diff --git a/app/build.gradle b/app/build.gradle index 78c4bf7..574656f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -54,6 +54,7 @@ dependencies { compile 'com.google.firebase:firebase-core:11.8.0' compile 'com.firebaseui:firebase-ui-auth:3.2.2' compile 'de.hdodenhof:circleimageview:2.2.0' + compile 'com.android.volley:volley:1.1.1' testCompile 'junit:junit:4.12' } diff --git a/app/src/main/java/com/nith/appteam/nimbus/Utils/Volleycustom.java b/app/src/main/java/com/nith/appteam/nimbus/Utils/Volleycustom.java new file mode 100644 index 0000000..5c13442 --- /dev/null +++ b/app/src/main/java/com/nith/appteam/nimbus/Utils/Volleycustom.java @@ -0,0 +1,112 @@ +package com.nith.appteam.nimbus.Utils; + +import android.app.Activity; +import android.util.Log; + +import com.android.volley.AuthFailureError; +import com.android.volley.NetworkResponse; +import com.android.volley.Request; +import com.android.volley.RequestQueue; +import com.android.volley.Response; +import com.android.volley.VolleyError; +import com.android.volley.VolleyLog; +import com.android.volley.toolbox.HttpHeaderParser; +import com.android.volley.toolbox.JsonObjectRequest; +import com.android.volley.toolbox.StringRequest; +import com.android.volley.toolbox.Volley; +import org.json.JSONObject; +import java.io.UnsupportedEncodingException; +import java.util.HashMap; +import java.util.Map; + +public class Volleycustom +{ + + + private RequestQueue queue; + private String tobereturned=""; + private JSONObject json; + public Volleycustom(Activity activity) { + queue = Volley.newRequestQueue(activity); + } + + public JSONObject getJsonResponse(String url, final String authid) { + json = new JSONObject(); + JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, + new Response.Listener() { + @Override + public void onResponse(JSONObject response) { + json = response; + } + + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + + } + }){ + @Override + public Map getHeaders() throws AuthFailureError { + Map params = new HashMap(); + params.put("token",authid); + return params; + } + }; + queue.add(jsonObjectRequest); + return json; + } + public String postJsonObject(JSONObject jsonObject, String url, final String authid){ + + final String requestBody = jsonObject.toString(); + + StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener() { + @Override + public void onResponse(String response) { + Log.i("VOLLEY", response); + tobereturned = response; + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + Log.e("VOLLEY", error.toString()); + } + }) { + @Override + public String getBodyContentType() { + return "application/json; charset=utf-8"; + } + + @Override + public byte[] getBody() throws AuthFailureError { + try { + return requestBody == null ? null : requestBody.getBytes("utf-8"); + } catch (UnsupportedEncodingException uee) { + VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", requestBody, "utf-8"); + return null; + } + } + + @Override + public Map getHeaders() throws AuthFailureError { + Map params = new HashMap(); + params.put("token",authid); + return params; + } + + @Override + protected Response parseNetworkResponse(NetworkResponse response) { + String responseString = ""; + if (response != null) { + responseString = String.valueOf(response.statusCode); + // can get more details such as response.headers + } + return Response.success(responseString, HttpHeaderParser.parseCacheHeaders(response)); + } + }; + + queue.add(stringRequest); + return tobereturned; + } + + +} diff --git a/app/src/main/res/drawable/peachgradient.xml b/app/src/main/res/drawable/peachgradient.xml new file mode 100644 index 0000000..1dd7a92 --- /dev/null +++ b/app/src/main/res/drawable/peachgradient.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file From 8131c85c3a9717f2246b292c3f2a1d237bb5b48b Mon Sep 17 00:00:00 2001 From: dextroxd Date: Mon, 4 Mar 2019 12:33:07 +0530 Subject: [PATCH 2/2] Login Done --- app/build.gradle | 2 +- app/google-services.json | 28 +-- app/src/main/AndroidManifest.xml | 6 +- .../Activity/FirebaseLoginActivity.java | 131 +++++++++-- .../nimbus/Activity/UserInfoActivity.java | 155 +++++++++++++ .../nith/appteam/nimbus/Utils/SharedPref.java | 9 +- .../appteam/nimbus/Utils/Volleycustom.java | 55 ++++- .../main/res/layout/activity_user_info.xml | 218 ++++++++++++++++++ 8 files changed, 553 insertions(+), 51 deletions(-) create mode 100644 app/src/main/java/com/nith/appteam/nimbus/Activity/UserInfoActivity.java create mode 100644 app/src/main/res/layout/activity_user_info.xml diff --git a/app/build.gradle b/app/build.gradle index 574656f..a40bbe4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -65,4 +65,4 @@ dependencies { -apply plugin: 'com.google.gms.google-services' \ No newline at end of file +apply plugin: 'com.google.gms.google-services' diff --git a/app/google-services.json b/app/google-services.json index d343ace..faad1a4 100644 --- a/app/google-services.json +++ b/app/google-services.json @@ -1,43 +1,35 @@ { "project_info": { - "project_number": "88547491108", - "firebase_url": "https://nimbus2k18-test.firebaseio.com", - "project_id": "nimbus2k18-test", - "storage_bucket": "nimbus2k18-test.appspot.com" + "project_number": "946635561974", + "firebase_url": "https://nimbus-e7594.firebaseio.com", + "project_id": "nimbus-e7594", + "storage_bucket": "nimbus-e7594.appspot.com" }, "client": [ { "client_info": { - "mobilesdk_app_id": "1:88547491108:android:3574d68da7d17e16", + "mobilesdk_app_id": "1:946635561974:android:3574d68da7d17e16", "android_client_info": { "package_name": "com.nith.appteam.nimbus" } }, "oauth_client": [ { - "client_id": "88547491108-fc5fdjqk003iqieqkemrkeugd9au44st.apps.googleusercontent.com", + "client_id": "946635561974-nnn2bf2i67cm6ru7q002mtdih4uandpk.apps.googleusercontent.com", "client_type": 1, "android_info": { "package_name": "com.nith.appteam.nimbus", - "certificate_hash": "4fe28cfbfe79663bb883c8078e551127999a1b8c" + "certificate_hash": "0d761d951e9483e00f3f67afce6d132386621545" } }, { - "client_id": "88547491108-rn5n9lhpmt9rootp05es7h9ou7nan1jq.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "com.nith.appteam.nimbus", - "certificate_hash": "dd856e767db85312d495205a4d7239b76ada77c2" - } - }, - { - "client_id": "88547491108-8m5ptmqvq7mgs01v4i09fvo2eupmemii.apps.googleusercontent.com", + "client_id": "946635561974-v4tl1fd5lgb3oqfndf5ailibpsmc277q.apps.googleusercontent.com", "client_type": 3 } ], "api_key": [ { - "current_key": "AIzaSyB6_eIIhI8nPoaylUWc_4TsoHy8TvdRdBY" + "current_key": "AIzaSyCl3J5r0-T4cKy20zaNMTXNwHwXf2GMqZg" } ], "services": { @@ -48,7 +40,7 @@ "status": 2, "other_platform_oauth_client": [ { - "client_id": "88547491108-8m5ptmqvq7mgs01v4i09fvo2eupmemii.apps.googleusercontent.com", + "client_id": "946635561974-v4tl1fd5lgb3oqfndf5ailibpsmc277q.apps.googleusercontent.com", "client_type": 3 } ] diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9714e11..56df91d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -203,8 +203,8 @@ android:exported="true" /> + android:exported="true" + android:parentActivityName=".Activity.ProfileActivity" /> - + \ No newline at end of file diff --git a/app/src/main/java/com/nith/appteam/nimbus/Activity/FirebaseLoginActivity.java b/app/src/main/java/com/nith/appteam/nimbus/Activity/FirebaseLoginActivity.java index 1946402..19299a1 100644 --- a/app/src/main/java/com/nith/appteam/nimbus/Activity/FirebaseLoginActivity.java +++ b/app/src/main/java/com/nith/appteam/nimbus/Activity/FirebaseLoginActivity.java @@ -10,6 +10,16 @@ import android.widget.TextView; import android.widget.Toast; +import com.android.volley.AuthFailureError; +import com.android.volley.DefaultRetryPolicy; +import com.android.volley.NetworkResponse; +import com.android.volley.Request; +import com.android.volley.RequestQueue; +import com.android.volley.VolleyError; +import com.android.volley.VolleyLog; +import com.android.volley.toolbox.HttpHeaderParser; +import com.android.volley.toolbox.StringRequest; +import com.android.volley.toolbox.Volley; import com.firebase.ui.auth.AuthUI; import com.firebase.ui.auth.IdpResponse; import com.google.firebase.auth.FirebaseAuth; @@ -18,8 +28,14 @@ import com.nith.appteam.nimbus.R; import com.nith.appteam.nimbus.Utils.SharedPref; import com.nith.appteam.nimbus.Utils.Util; +import com.nith.appteam.nimbus.Utils.Volleycustom; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.UnsupportedEncodingException; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import retrofit2.Call; @@ -29,13 +45,15 @@ public class FirebaseLoginActivity extends AppCompatActivity { private static final int RC_SIGN_IN = 138; - + private String requestBody; private Button loginBtn; private ProgressBar progressBar; private List providers; private TextView textView; private SharedPref sharedPref; - + private JSONObject jsonObject1; + private String HashedValue; + private FirebaseUser user; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -80,10 +98,72 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { // Successfully signed in - FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); + user = FirebaseAuth.getInstance().getCurrentUser(); Log.d("pno.: ", user.getPhoneNumber()); Log.d("uid: ", user.getUid()); - saveUserLoginData(user.getPhoneNumber(), user.getUid()); + final JSONObject jsonObject = new JSONObject(); + try { + jsonObject.put("mobile",user.getPhoneNumber()); + jsonObject.put("firebase_id",user.getUid()); + } catch (JSONException e) { + e.printStackTrace(); + } +// Volleycustom volleycustom = new Volleycustom(this); +// String hashed_value = volleycustom.postsimpleJsonObject(jsonObject,"https://nimbus19.herokuapp.com/auth/signup"); +// Toast.makeText(FirebaseLoginActivity.this,hashed_value,Toast.LENGTH_SHORT).show(); + RequestQueue queue = Volley.newRequestQueue(this); + requestBody = jsonObject.toString(); + StringRequest stringRequest = new StringRequest(Request.Method.POST,"https://nimbus19.herokuapp.com/auth/signup", new com.android.volley.Response.Listener() { + @Override + public void onResponse(String response) + { + try { + jsonObject1 = new JSONObject(response); + } catch (JSONException e) { + e.printStackTrace(); + } + try { + HashedValue = jsonObject1.getString("authId"); + } catch (JSONException e) { + e.printStackTrace(); + } + Toast.makeText(FirebaseLoginActivity.this,HashedValue,Toast.LENGTH_SHORT).show(); + saveUserLoginData(user.getPhoneNumber(), user.getUid(),HashedValue); + + + } + + + }, new com.android.volley.Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + Log.e("VOLLEY", error.toString()); + } + }) { + @Override + public String getBodyContentType() { + return "application/json; charset=utf-8"; + } + + @Override + public byte[] getBody() throws AuthFailureError { + try { + return requestBody == null ? null : requestBody.getBytes("utf-8"); + } catch (UnsupportedEncodingException uee) { + VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", requestBody, "utf-8"); + return null; + } + } + + @Override + protected com.android.volley.Response parseNetworkResponse(NetworkResponse response) { + return super.parseNetworkResponse(response); + } + }; + stringRequest.setRetryPolicy(new DefaultRetryPolicy(5000, + DefaultRetryPolicy.DEFAULT_MAX_RETRIES, + DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); + queue.add(stringRequest); } else { // Sign in failed, check response for error code Toast.makeText(this, "Login Failed", Toast.LENGTH_SHORT).show(); @@ -93,7 +173,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { } - private void saveUserLoginData(final String phone_no, String fb_id) { + private void saveUserLoginData(final String phone_no, String fb_id, final String hashedValue) { Call userSentResponseCall = Util.getRetrofitService().sendUserLoginData(phone_no, fb_id); userSentResponseCall.enqueue(new Callback() { @@ -106,6 +186,7 @@ public void onResponse(Call call, Respon sharedPref.setSkipStatus(false);// as user has login succesfully and we make sure that screen does not come again sharedPref.setUserId(userSentResponse.getUserId()); sharedPref.setUserPhone(phone_no); + sharedPref.setHashedValue(hashedValue); if (userSentResponse.getBranch().isEmpty() || userSentResponse.getYear().isEmpty() || userSentResponse.getEmail().isEmpty() || userSentResponse.getName().isEmpty() || userSentResponse.getRoll_no().isEmpty()) { @@ -114,29 +195,29 @@ public void onResponse(Call call, Respon } else { - sharedPref.setUserBranch(userSentResponse.getBranch()); - sharedPref.setUserYearPos(userSentResponse.getYear()); - // sharePref.setUserYearText(userSentResponse.getYearText()); - sharedPref.setUserEmail(userSentResponse.getEmail()); - sharedPref.setUserName(userSentResponse.getName()); - sharedPref.setUserRollno(userSentResponse.getRoll_no()); - sharedPref.setProfileStatus(true); - Log.d("aa", userSentResponse.getBranch()); - Log.d("bb", userSentResponse.getRoll_no()); - Log.d("cc", userSentResponse.getName()); - Log.d("dd", userSentResponse.getEmail()); - } + sharedPref.setUserBranch(userSentResponse.getBranch()); + sharedPref.setUserYearPos(userSentResponse.getYear()); + // sharePref.setUserYearText(userSentResponse.getYearText()); + sharedPref.setUserEmail(userSentResponse.getEmail()); + sharedPref.setUserName(userSentResponse.getName()); + sharedPref.setUserRollno(userSentResponse.getRoll_no()); + sharedPref.setProfileStatus(true); + Log.d("aa", userSentResponse.getBranch()); + Log.d("bb", userSentResponse.getRoll_no()); + Log.d("cc", userSentResponse.getName()); + Log.d("dd", userSentResponse.getEmail()); + } - progressBar.setVisibility(View.GONE); + progressBar.setVisibility(View.GONE); - Intent intent = new Intent(FirebaseLoginActivity.this, HomescreenNew.class); - intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(intent); - finish(); - } else{ - Toast.makeText(FirebaseLoginActivity.this, "Check Internet connection", Toast.LENGTH_SHORT).show(); - } + Intent intent = new Intent(FirebaseLoginActivity.this, UserInfoActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); + finish(); + } else{ + Toast.makeText(FirebaseLoginActivity.this, "Check Internet connection", Toast.LENGTH_SHORT).show(); } + } @Override diff --git a/app/src/main/java/com/nith/appteam/nimbus/Activity/UserInfoActivity.java b/app/src/main/java/com/nith/appteam/nimbus/Activity/UserInfoActivity.java new file mode 100644 index 0000000..98bef18 --- /dev/null +++ b/app/src/main/java/com/nith/appteam/nimbus/Activity/UserInfoActivity.java @@ -0,0 +1,155 @@ +package com.nith.appteam.nimbus.Activity; + +import android.content.Intent; +import android.os.Build; +import android.support.annotation.RequiresApi; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.text.TextUtils; +import android.util.Log; +import android.util.Patterns; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ProgressBar; +import android.widget.Spinner; +import android.widget.Toast; + +import com.android.volley.AuthFailureError; +import com.android.volley.DefaultRetryPolicy; +import com.android.volley.NetworkResponse; +import com.android.volley.Request; +import com.android.volley.RequestQueue; +import com.android.volley.VolleyError; +import com.android.volley.VolleyLog; +import com.android.volley.toolbox.StringRequest; +import com.android.volley.toolbox.Volley; +import com.nith.appteam.nimbus.R; +import com.nith.appteam.nimbus.Utils.SharedPref; +import com.nith.appteam.nimbus.Utils.Volleycustom; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.UnsupportedEncodingException; +import java.util.HashMap; +import java.util.Map; + +public class UserInfoActivity extends AppCompatActivity { + private EditText FirstName,Emailid,RollNo,Branch; + private Spinner spinnerYear; + private Button button; + private ProgressBar progressBar; + private SharedPref sharedPref; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_user_info); + FirstName = findViewById(R.id.firstname); + Emailid = findViewById(R.id.email); + RollNo = findViewById(R.id.rollno); + Branch = findViewById(R.id.branch); + spinnerYear = findViewById(R.id.spinner); + button =findViewById(R.id.submit_data); + progressBar = findViewById(R.id.profile_progress); + sharedPref = new SharedPref(this); + button.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (!FirstName.getText().toString().isEmpty() && !RollNo.getText().toString().isEmpty() && !Branch.getText().toString().isEmpty() && !Emailid.getText().toString().isEmpty()){ + if (isValidEmail(Emailid.getText().toString())) { + button.setVisibility(View.GONE); + progressBar.setVisibility(View.VISIBLE); + postData(); + + + } else { + Toast.makeText(UserInfoActivity.this, "Enter Correct email address", Toast.LENGTH_LONG).show(); + } + } else { + Toast.makeText(UserInfoActivity.this, "Enter All Details", Toast.LENGTH_LONG).show(); + } + } + }); + } + @RequiresApi(api = Build.VERSION_CODES.FROYO) + public static boolean isValidEmail(CharSequence target) { + return (!TextUtils.isEmpty(target) && Patterns.EMAIL_ADDRESS.matcher(target).matches()); + } + private void postData(){ + JSONObject jsonObject = new JSONObject(); + try { + jsonObject.put("name",FirstName.getText().toString()); + jsonObject.put("rollNumber",RollNo.getText().toString()); + jsonObject.put("authId",sharedPref.getHashedValue()); + jsonObject.put("branch",Branch.getText().toString()); + jsonObject.put("year",spinnerYear.getSelectedItem().toString()); + } catch (JSONException e) { + e.printStackTrace(); + } + final String requestBody = jsonObject.toString(); + RequestQueue queue = Volley.newRequestQueue(this); + StringRequest stringRequest = new StringRequest(Request.Method.POST,"https://nimbus19.herokuapp.com/auth/info",new com.android.volley.Response.Listener() { + @Override + public void onResponse(String response) + { +// if(Integer.parseInt(response)==200){ +// Toast.makeText(UserInfoActivity.this,"You have successfully filled your credentials",Toast.LENGTH_SHORT).show(); +// sharedPref.setUserName(FirstName.getText().toString()); +// sharedPref.setUserBranch(Branch.getText().toString()); +// sharedPref.setUserYearPos(spinnerYear.getSelectedItem().toString()); +// sharedPref.setUserEmail(Emailid.getText().toString()); +// sharedPref.setUserRollno(RollNo.getText().toString()); +// progressBar.setVisibility(View.GONE); +// startActivity(new Intent(UserInfoActivity.this,HomescreenNew.class)); +// finish(); +// +// } +// else if(Integer.parseInt(response)==501){ +// Toast.makeText(UserInfoActivity.this,"Unsuccessful Event , Please try again.",Toast.LENGTH_SHORT).show(); +// } +// Toast.makeText(UserInfoActivity.this,response,Toast.LENGTH_LONG).show(); + Toast.makeText(UserInfoActivity.this,response,Toast.LENGTH_SHORT).show(); + } + + + }, new com.android.volley.Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + Log.e("VOLLEY", error.toString()); + } + }) { + @Override + public String getBodyContentType() { + return "application/json; charset=utf-8"; + } + + @Override + public byte[] getBody() throws AuthFailureError { + try { + return requestBody == null ? null : requestBody.getBytes("utf-8"); + } catch (UnsupportedEncodingException uee) { + VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", requestBody, "utf-8"); + return null; + } + } + @Override + public Map getHeaders() throws AuthFailureError { + Map params = new HashMap(); + params.put("token",sharedPref.getHashedValue()); + return params; + } + + @Override + protected com.android.volley.Response parseNetworkResponse(NetworkResponse response) { + + return super.parseNetworkResponse(response); + } + }; + stringRequest.setRetryPolicy(new DefaultRetryPolicy(5000, + DefaultRetryPolicy.DEFAULT_MAX_RETRIES, + DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); + queue.add(stringRequest); + } + +} diff --git a/app/src/main/java/com/nith/appteam/nimbus/Utils/SharedPref.java b/app/src/main/java/com/nith/appteam/nimbus/Utils/SharedPref.java index 313154f..5316ff3 100644 --- a/app/src/main/java/com/nith/appteam/nimbus/Utils/SharedPref.java +++ b/app/src/main/java/com/nith/appteam/nimbus/Utils/SharedPref.java @@ -23,7 +23,7 @@ public class SharedPref { private static final String YEAR_POS = "year_pos"; private static final String YEAR_TEXT = "year_text"; private static final String IS_FILLED = "isfilled"; - + private static final String HASHED_VALUE="hashedid"; public SharedPref() { this(MyApplication.getAppContext()); } @@ -55,6 +55,13 @@ public boolean getSkipStatus() { return sharedPreferences.getBoolean(SKIP_STATUS, false); } + public String getHashedValue() { + return HASHED_VALUE; + } + public void setHashedValue(String hashedValue){ + editor.putString(HASHED_VALUE,hashedValue); + editor.commit(); + } public void setUserId(String userId) { editor.putString(USER_ID, userId); editor.commit(); diff --git a/app/src/main/java/com/nith/appteam/nimbus/Utils/Volleycustom.java b/app/src/main/java/com/nith/appteam/nimbus/Utils/Volleycustom.java index 5c13442..570bafa 100644 --- a/app/src/main/java/com/nith/appteam/nimbus/Utils/Volleycustom.java +++ b/app/src/main/java/com/nith/appteam/nimbus/Utils/Volleycustom.java @@ -2,8 +2,10 @@ import android.app.Activity; import android.util.Log; +import android.widget.Toast; import com.android.volley.AuthFailureError; +import com.android.volley.DefaultRetryPolicy; import com.android.volley.NetworkResponse; import com.android.volley.Request; import com.android.volley.RequestQueue; @@ -24,10 +26,12 @@ public class Volleycustom private RequestQueue queue; - private String tobereturned=""; + private String tobereturned; private JSONObject json; + private Activity activity; public Volleycustom(Activity activity) { queue = Volley.newRequestQueue(activity); + this.activity = activity; } public JSONObject getJsonResponse(String url, final String authid) { @@ -63,7 +67,7 @@ public String postJsonObject(JSONObject jsonObject, String url, final String aut @Override public void onResponse(String response) { Log.i("VOLLEY", response); - tobereturned = response; + } }, new Response.ErrorListener() { @Override @@ -103,10 +107,55 @@ protected Response parseNetworkResponse(NetworkResponse response) { return Response.success(responseString, HttpHeaderParser.parseCacheHeaders(response)); } }; - + stringRequest.setRetryPolicy(new DefaultRetryPolicy(5000, + DefaultRetryPolicy.DEFAULT_MAX_RETRIES, + DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); queue.add(stringRequest); return tobereturned; } + String getreturn=""; + public String postsimpleJsonObject(JSONObject jsonObject,String url){ + + final String requestBody = jsonObject.toString(); + StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener() { + @Override + public void onResponse(String response) { +// Toast.makeText(activity,response,Toast.LENGTH_SHORT).show(); + + + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + Log.e("VOLLEY", error.toString()); + } + }) { + @Override + public String getBodyContentType() { + return "application/json; charset=utf-8"; + } + + @Override + public byte[] getBody() throws AuthFailureError { + try { + return requestBody == null ? null : requestBody.getBytes("utf-8"); + } catch (UnsupportedEncodingException uee) { + VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", requestBody, "utf-8"); + return null; + } + } + + @Override + protected Response parseNetworkResponse(NetworkResponse response) { + return super.parseNetworkResponse(response); + } + }; + stringRequest.setRetryPolicy(new DefaultRetryPolicy(5000, + DefaultRetryPolicy.DEFAULT_MAX_RETRIES, + DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); + queue.add(stringRequest); + return getreturn; + } } diff --git a/app/src/main/res/layout/activity_user_info.xml b/app/src/main/res/layout/activity_user_info.xml new file mode 100644 index 0000000..bbf0d9d --- /dev/null +++ b/app/src/main/res/layout/activity_user_info.xml @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +