Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.giftypetech.realmwithvolley;
- import androidx.appcompat.app.AppCompatActivity;
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.util.Log;
- import android.widget.TextView;
- import com.android.volley.Request;
- import com.android.volley.Response;
- import com.android.volley.VolleyError;
- import com.android.volley.toolbox.JsonObjectRequest;
- import com.android.volley.toolbox.StringRequest;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.util.ArrayList;
- import java.util.List;
- public class MainActivity extends AppCompatActivity {
- public final String MY_SREFS_NAME = "my";
- //final String VERSION = "updateVersion";
- //String VERSION;
- SharedPreferences preferences;
- TextView textView;
- int localVersion;
- int remoteVersion;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- textView = findViewById(R.id.textView);
- versionLoadData();
- }
- /* This method for version api data fetch and save that version on SharedPreferences */
- private void versionLoadData() {
- String url = "";
- /* This api json data :
- {"database":{"version": "1.0.0"}} */
- JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
- (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
- @SuppressLint("WrongConstant")
- @Override
- public void onResponse(JSONObject response) {
- try {
- String versionString = response.getString("version").replace(".","");
- remoteVersion = Integer.parseInt(versionString);
- preferences = getSharedPreferences(MY_SREFS_NAME,Context.MODE_PRIVATE);
- remoteVersion = preferences.getInt("remoteVersion",remoteVersion);
- Log.d("response","Remote version is:- "+remoteVersion);
- localVersion = preferences.getInt("localVersion", -1);
- Log.d("response","First time local version is:- "+localVersion);
- if (localVersion == -1) {
- feildsLoadData();
- legalsLoadData();
- preferences = getSharedPreferences(MY_SREFS_NAME, MODE_PRIVATE);
- SharedPreferences.Editor editor = preferences.edit();
- editor.putInt("local",remoteVersion);
- editor.apply();
- localVersion = preferences.getInt("local", remoteVersion);
- Log.d("response","Local version is:- "+localVersion);
- }else {
- if (remoteVersion > localVersion) {
- feildsLoadData();
- legalsLoadData();
- }
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- }, new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- Log.d("response","is:- "+error.getMessage());
- }
- });
- // Access the RequestQueue through your singleton class.
- MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);
- }
- /* This method for fields data fetch and save data on database(Realm) */
- private void feildsLoadData() {
- String url = "";
- JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
- (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
- @Override
- public void onResponse(JSONObject response) {
- Log.d("response","Fields are:- "+response);
- }
- }, new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- Log.d("response","Fields are:- "+error.getMessage());
- }
- });
- // Access the RequestQueue through your singleton class.
- MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);
- }
- /* This method for legals data fetch and save data on database(Realm) */
- private void legalsLoadData() {
- String url = "";
- /* This api json data :
- {"database":{"version": "1.0.0"}} */
- JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
- (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
- @Override
- public void onResponse(JSONObject response) {
- Log.d("response","Legals are:- "+response);
- }
- }, new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- Log.d("response","is:- "+error.getMessage());
- }
- });
- // Access the RequestQueue through your singleton class.
- MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement