- SharedPreference存储。用最简单的方式对数据永久保存。
用于保存应用的配置信息,app 的主题。
文件格式以xml 文件格式
存储路径:data ...data--包名---shared_prefs---xml 文件。
使用步骤:3种
String name 为 SharedPreferences 文件名 ,第二个参数为 权限。
存储数据:
获得 ShraredPreferences.Editor 对象,向SharePreferences对象添加数据,最后commit()提交数据。
模拟QQ自动登录:
package com.zengjx.androidbaseproject; import android.content.Intent; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.ImageButton; import android.widget.Toast; public class SharePereferencesActivity extends AppCompatActivity implements View.OnClickListener { private EditText edit_name,edit_pws; private ImageButton imageButton ; private String name="hello"; private String psw="123456"; SharedPreferences.Editor editor; String username; String userpsw; private SharedPreferences sharedPreferences; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_share_pereferences); initView(); } public void initView(){ imageButton=(ImageButton) findViewById(R.id.image_login_qq) ; imageButton.setOnClickListener(this); edit_name=(EditText) findViewById(R.id.qq_login_name); edit_pws=(EditText) findViewById(R.id.qq_login_pws); sharedPreferences =getSharedPreferences("login",MODE_PRIVATE);//MODE_PRIVATE只有这个应用可以使用 editor =sharedPreferences.edit(); username=edit_name.getText().toString(); userpsw=edit_pws.getText().toString(); if((sharedPreferences.getString("username",null)!=null)&& //如果不为空 (sharedPreferences.getString("userpsw",null)!=null)){ if((sharedPreferences.getString("username",null).equals(name))&&//判断是否数据正确 (sharedPreferences.getString("userpsw",null).equals(psw))){ Intent intent =new Intent(SharePereferencesActivity.this,QQLoginMessageActivity.class); startActivityForResult(intent,1);// Toast.makeText(this,"自动 登录成功2",Toast.LENGTH_SHORT).show(); } } } @Override public void onClick(View v) { switch (v.getId()){ case R.id.image_login_qq: setImageButton(); break; } } public void setImageButton(){//登录按键 username=edit_name.getText().toString(); userpsw=edit_pws.getText().toString(); if((username.equals(name))&&(userpsw.equals(psw))){ editor.putString("username",name); editor.putString("userpsw",psw); editor.commit(); Intent intent =new Intent(SharePereferencesActivity.this,QQLoginMessageActivity.class); startActivityForResult(intent,1);// Toast.makeText(this,"登录成功1",Toast.LENGTH_SHORT).show(); } } }
- 2.文件存储 :内部存储,外部存储。
- 3.SQLite 数据库存储
- 4.数据共享:Content Provider