zoukankan      html  css  js  c++  java
  • 安卓开发之文件存储SharedPreferences(二)

    SharedPreferences存储

        不同于文件的存储方式,SharedPreferences是使用键值对的方式来存储数据的,Sharedpreferences还支持多种不同的数据存储类型,但在读取出来的时候,应该保持类型一致,如存入一个String型,读取的时候也是String型的.数据存储在data/data/<package_name>/files下

    使用SharedPreferences需要获取到SharedPreferences对象,提供了三种方法来获取

    (1)Context中的getSharedPreferences()方法,接受两个参数,一个参数是文件名,一个参数是操作模式,只有一种模式可以用PMODE_PRIVATE

    (2)在Activity中的getPreferences()方法,只接受一个参数,会把当前活动类名作为SharedPreferences作为文件名

    (3)PreferencesManger类中的GetDefaultSharedPreferences()方法,这是一个静态方法,接受一个参数,并自动使用当前应用程序的包名作为文件名

    向文件中存储数据的步骤:

    (1)调用SharedPreferences对象的edit()方法获取一个SharedPreferences对象

    (2)向SharedPreferences对象中添加数据,如添加布尔型的数据就用putBoolean()方法,

    (3)调用apply()方法将添加的数据提交,从完成数据存储操作.

    从文件中读取数据的步骤:

    (1)先使用getSharedPreferences()方法调用文件

    (2)再使用相应的get(数据类型)去获取相应的 键值

    public class MainActivity extends AppCompatActivity {
        EditText username;
        EditText password;
        EditText vip;
        TextView textView;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button saveData = (Button)findViewById(R.id.save_data);
            username = (EditText)findViewById(R.id.username);
            password = (EditText)findViewById(R.id.password);
            vip = (EditText)findViewById(R.id.vip);
            textView = (TextView)findViewById(R.id.textview);
            saveData.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    SharedPreferences Preferences = getSharedPreferences("data",MODE_PRIVATE);
                    SharedPreferences.Editor editor = Preferences.edit();
                    editor.putString("username",username.getText().toString());
                    editor.putString("password",password.getText().toString());
                    editor.putString("vip",vip.getText().toString());
                    editor.apply();
                }
            });
            Button restoreData = (Button)findViewById(R.id.restore_data);
            restoreData.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE);
                    String username = pref.getString("username","zhangsan");
                    String password = pref.getString("password","123456");
                    String vip = pref.getString("vip","SVIP");
                    StringBuilder content=new StringBuilder();
                    content.append(username+" "+password+" "+vip);
                    textView.setText(content.toString());
                }
            });
    
        }
    }
  • 相关阅读:
    Python解释器
    js子节点children和childnodes的用法
    添加jar包需注意
    Class.forName("com.mysql.jdbc.driver");
    java集合类总结
    interface思考练习一
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    Struts2的配置文件中, <package>的作用,<action><result>重名?
    在Struts2的Action中获得request response session几种方法
    学习一直都是一个相见恨晚的过程,我希望我的相见恨晚不会太晚。
  • 原文地址:https://www.cnblogs.com/p-t-m/p/12885974.html
Copyright © 2011-2022 走看看