2016-12-25 6 views
0

私はこの活動を持っている::SharedPreferencesからデータを取得できません。

パブリッククラスMainActivityは私の共有設定からデータを再度retreieveする方法AppCompatActivity {

boolean networkState; 

public View layout; 

TextView Data1Text, Data2Text; 

String Data1, Data2; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    LayoutInflater inflater = getLayoutInflater(); 
    layout = inflater.inflate(R.layout.toast, 
      (ViewGroup) findViewById(R.id.toast_layout_root)); 

    Data1Text = (TextView) findViewById(R.id.data1); 
    Data2Text = (TextView) findViewById(R.id.data2); 

    ConnectivityManager cm = 
      (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE); 

    NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 
    boolean isConnected = activeNetwork != null && 
      activeNetwork.isConnectedOrConnecting(); 

     if(isConnected) { 
     new doIt().execute(); 
     networkState = true; 
     } else { 
     Toast.makeText(this, "NO CONNECTION", Toast.LENGTH_SHORT).show(); 
     networkState = false; 
     } 
} 


public class doIt extends AsyncTask<Void, Void, Void> { 


    ProgressDialog mProgressDialog; 

    @Override 
    protected Void doInBackground(Void... params) { 

     try { 
      //Here I retreive data from my website and it works like magic 
      // I get Data1 and Data2 values from it. 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 

    @Override 
    protected void onPostExecute(Void aVoid) { 
     super.onPostExecute(aVoid); 

     Data1Text.setText(Data1); 
     Data2Text.setText(Data2); 

     mProgressDialog.dismiss(); 
    } 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     mProgressDialog = new ProgressDialog(MainActivity.this); 
     //mProgressDialog.setTitle(""); 
     mProgressDialog.setMessage("Update in Progress.."); 
     mProgressDialog.setIndeterminate(false); 
     mProgressDialog.show(); 
    } 
} 


@Override 
public void onPause() { 
    super.onPause(); 

    SharedPreferences settings; 
    SharedPreferences.Editor editor; 
    settings = this.getSharedPreferences("MYTAGI", Context.MODE_PRIVATE); //1 
    editor = settings.edit(); 

    editor.putString("data1", Data1); 
    editor.putString("data2", Data2); 

    editor.commit(); 

} 

} 

を拡張..私はのonCreateの最後の行でそれをやったが、それは動作しません。 !!!!データを保存する作業が、データを取得しているようだ

は...

+0

を使用してデータを保存してください? onCreateの最後の行を表示 – Rahul

+0

私はそれを削除..それは動作しません –

答えて

0

は、ここで私はそれを行う方法です助けてくださいではないokです。

SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(this).edit(); 

editor.putString("data1", Data1); 
editor.putString("data2", Data2); 

editor.commit(); 

し、それを得る:

コードをreterivingさ
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 
String Data1 = preferences.getString("data1", "Default value for data1"); 
String Data2 = preferences.getString("data2", "Default value for data2"); 
関連する問題