2016-12-25 81 views
0

我有这个活动::无法从SharedPreferences检索数据?

公共类MainActivity扩展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(); 

} 

} 

如何从我的共享偏好再次retreieve数据。我这么做是的onCreate的最后一行,但它不工作!!!!

保存数据似乎是工作,但检索数据也不行..请帮助

+0

哪里reteriving代码?显示你的最后一行onCreate – Rahul

+0

我删除了它..它不起作用 –

回答

0

这里是我如何做到这一点。尝试用保存数据:

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

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

editor.commit(); 

而且随着得到它:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 
String Data1 = preferences.getString("data1", "Default value for data1"); 
String Data2 = preferences.getString("data2", "Default value for data2");