2017-10-26 12 views
0

사용자 데이터 용 프로필 섹션이있는 응용 프로그램을 만들고 있습니다. 대학, 대학, 지회 등과 같은 데이터를 업데이트 할 수있는 곳. 사용자가 응용 프로그램에 로그인하고 해당 공유 환경 설정 데이터에서 사용자의 모든 정보가 제공되면 공유 환경 설정에서이 데이터를 저장했습니다. 즉시 환경 설정 데이터를 변경하고 전체 앱으로 설정하는 방법. 잘 나는 일을 끝내는 데 도움이 필요한 분야를 개발하는 데있어 새로운 사람입니다. 여기 응용 프로그램에서 사용자 데이터를 즉시 업데이트하는 방법은 무엇입니까?

}는 당신이

SharedPreferences.OnSharedPreferenceChangeListener spChanged = new 
         SharedPreferences.OnSharedPreferenceChangeListener() { 
     @Override 
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, 
     String key) { 
    // your stuff here 
} 

을 수행 할 수 있습니다이를 위해 사용자 데이터 활동

public void edit_user_data(){ 



    final String str_new_name = _edit_prof_name_.getText().toString().trim(); 

    linearLayout.setVisibility(View.VISIBLE); 
    ObjectAnimator flip = ObjectAnimator.ofFloat(imgSpoon, "rotationY", 0f, 180f); 
    flip.setDuration(800); 
    flip.setRepeatCount(Animation.INFINITE); 
    flip.start(); 

    StringRequest strReq = new StringRequest(Request.Method.POST, 
      URLconstant.USER_UPDATE, new Response.Listener<String>() { 

     @Override 
     public void onResponse(String response) { 
      Log.d(TAG, response.toString()); 
      linearLayout.setVisibility(View.INVISIBLE); 
      try { 
       JSONObject data = new JSONObject(response); 
       JSONObject updatedata = data.optJSONObject("data"); 
       int intError = updatedata.getInt("status"); 
       boolean error = (intError > 0) ? true : false; 
       if(intError == 1){ 
        String msg = updatedata.optString("msg"); 
        Toast.makeText(ActivityUserEditProfile.this, msg, Toast.LENGTH_SHORT).show(); 

        JSONArray data_array = new JSONArray("data"); 
        for (int i = 0;i<=data_array.length();i++){ 
         JSONObject data_obj = data_array.getJSONObject(i); 
        /* UserProfileData userdata = new UserProfileData(); 
         userdata.setFullname(data_obj.getString("fullname")); 
         userdata.setUniverId(data_obj.getString("univer_id")); 
         userdata.setMuniversity(data_obj.getString("university")); 
         userdata.setCollegeid(data_obj.getString("collegeid")); 
         userdata.setMcollege(data_obj.getString("college")); 
         userdata.setBranchid(data_obj.getString("branchid")); 
         userdata.setMbranch(data_obj.getString("branch")); 
         userdata.setSemid(data_obj.getString("semid")); 
         userdata.setMsemester(data_obj.getString("semester")); 
         userdata.setUserImage(data_obj.getString("user_image")); 
         userdata.setUserId(data_obj.getString("user_id")); 
         userdata.setPassword(data_obj.getString("password")); 
         updated_info(data_obj); 

         SharedPreferences preferences = getApplicationContext().getSharedPreferences(SHARED_PRE_LOGIN_REGISTRATION, Context.MODE_PRIVATE); 
         SharedPreferences.Editor editor = preferences.edit(); 
         *//* preferences.edit().remove(FULL_NAME); 
         preferences.edit().remove(UNIVER_ID); 
         preferences.edit().remove(BRANCH_ID); 
         preferences.edit().remove(COLLEGE_ID); 
         preferences.edit().remove(SEM_ID);*//* 
         editor.clear(); 
         editor.commit(); 

         PreferenceHelper preferenceHelper = new PreferenceHelper(); 
         preferenceHelper.getInstance(context).setBranchid(userdata.getBranchid()); 
         preferenceHelper.getInstance(context).setCollegeid(userdata.getCollegeid()); 
         preferenceHelper.getInstance(context).setEnrollno(userdata.getEnrollno()); 
         preferenceHelper.getInstance(context).setFullname(userdata.getFullname()); 
         preferenceHelper.getInstance(context).setMobile(userdata.getMobile()); 
         preferenceHelper.getInstance(context).setSemid(userdata.getSemid()); 
         preferenceHelper.getInstance(context).setUniverId(userdata.getUniverId()); 
         preferenceHelper.getInstance(context).setUserId(userdata.getUserId()); 
         preferenceHelper.getInstance(context).setUserImage(userdata.getUserImage()); 
         preferenceHelper.getInstance(context).setMuniversity(userdata.getMuniversity()); 
         preferenceHelper.getInstance(context).setMcollege(userdata.getMcollege()); 
         preferenceHelper.getInstance(context).setMbranch(userdata.getMbranch()); 
         preferenceHelper.getInstance(context).setMsemester(userdata.getMsemester()); 
         preferenceHelper.getInstance(context).setPassword(userdata.getPassword());*/ 





        } 
       }else{ 
        String msg = updatedata.optString("msg"); 
        Toast.makeText(ActivityUserEditProfile.this, msg, Toast.LENGTH_SHORT).show(); 
       } 



      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

     } 
    }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 
      VolleyLog.d(TAG, "Error: " + error.getMessage()); 
      Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_SHORT).show(); 
      // pDialog.hide(); 
      linearLayout.setVisibility(View.INVISIBLE); 
     } 
    }){ 
     //adding parameters to the request 
     @Override 
     protected Map<String, String> getParams() throws AuthFailureError { 
      Map<String, String> params = new HashMap<>(); 
      params.put("fullname",str_new_name); 
      params.put("univer_id",u_id); 
      params.put("collegeid",c_id); 
      params.put("branchid",b_id); 
      params.put("semid",s_id); 
      params.put("mobile",PreferenceHelper.getInstance(getApplicationContext()).getMobile()); 
      return params; 
     } 
    }; 

    MySingleton.getInstance(this).addToRequestQueue(strReq); 

} 
+0

더 명확하게, 유 된 SharedPreferences 또는 솜 다른 영구 저장소를 사용합니까? 무엇이 필요합니까 –

+0

예, 공유 환경 설정을 사용하여 데이터를 저장하고 있습니다. 필자가 원하는 것은 Flipkart, paytm, watsapp와 같은 응용 프로그램에서 사용자 프로필을 업데이트하는 방법입니다. 데이터가 즉시 업데이트되어 다른 응용 프로그램을 업데이트하는 것과 같이 내 응용 프로그램에서 데이터를 업데이트 할 수있는 방법을 알고 싶습니다 – Deepak

+0

@Deepak, 내 이해에 따라 전체 응용 프로그램 데이터를 업데이트하여 즉시 반영하도록 할 수 있습니다. https://developer.android.com/guide/topics/ui/settings.html#Listening 링크를 따르십시오. –

답변