【问题标题】:How to store and retrieve the date using shared preferences?如何使用共享首选项存储和检索日期?
【发布时间】:2012-12-05 05:40:37
【问题描述】:

一个简单的任务剩余应用程序。 我必须使用共享首选项保存和检索此应用中的三个编辑文本值。

哪种存储选项最适合此应用, 1.共享偏好 2.内部存储

【问题讨论】:

标签: android sharedpreferences android-edittext


【解决方案1】:

完整示例:

package com.example.logindemo;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;

public class LoginPage extends Activity {

    EditText name = null, pwd = null;
    SharedPreferences login_pref = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login_page);
        name = (EditText) findViewById(R.id.name_edt);
        pwd = (EditText) findViewById(R.id.pwd_edt);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_login_page, menu);
        return true;
    }

    public void loginMethod(View v) {
        login_pref = this.getSharedPreferences("login_pref",
                MODE_WORLD_READABLE);
        SharedPreferences.Editor login_pref_editor = login_pref.edit();
        login_pref_editor.putString("Name", name.getText().toString());

        login_pref_editor.commit();
        startActivity(new Intent(this, WelcomeScreen.class));
    }
}

希望对您有所帮助。我觉得共享偏好会是更好的方式

【讨论】:

    【解决方案2】:

    存储

    EditText Task = (EditText)findViewById(R.id.ettask);
    EditText date = (EditText)findViewById(R.id.etdate);
    EditText time = (EditText)findViewById(R.id.ettime);
    
    String taskstr = Task.getText().toString();
    String datestr= date .getText().toString();
    String timestr= time .getText().toString();
    
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    Editor edit = preferences.edit();
    edit.putString("pref_task", taskstr); 
    edit.putString("pref_date", datestr);
    edit.putString("pref_date", timestr); 
    edit.commit();
    

    检索

     pref_task =  preferences.getString("pref_task", "n/a");
     pref_date =  preferences.getString("pref_date","n/a");
     pref_time =  preferences.getString("pref_date","n/a");
    

    【讨论】:

      【解决方案3】:

      使用以下代码将数据存储到 SharedPreferences。

      SharedPreferences myPrefs = PreferenceManager.getDefaultSharedPreferences(this);
      Editor editor = myPrefs.edit();
      editor.putString("Date", mEdttxtDate.getText().toString()); 
      editor.commit();
      

      用于从 SharedPreferences 中检索数据。

      SharedPreferences myPrefs = PreferenceManager.getDefaultSharedPreferences(this);
      String mDate =  myPrefs.getString("Date","nothing");
      

      它会解决你的问题。

      【讨论】:

        【解决方案4】:

        用于插入

        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
        
        Editor edit = preferences.edit();
        edit.putString("pref_empId", _empid);
        edit.putString("pref_userType", _usertype);
        edit.commit();
        

        用于获取共享偏好

        pref_empId =  preferences.getString("pref_empId","n/a");
        pref_userType =  preferences.getString("pref_userType","n/a");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-12
          • 2017-07-29
          • 1970-01-01
          • 2011-07-22
          • 1970-01-01
          • 2019-06-27
          • 1970-01-01
          • 2014-01-11
          相关资源
          最近更新 更多