Android——数据存储(四种方式之一)SharedPrefereces

Android——数据存储(四种方式)

1.SharedPrefereces   轻量级.XML  存储文件名,数据保存在data/data/basepackage/shared_prefs/myopt.xml中
  实例-收藏-记住密码自动登录

//一种轻量级的数据存储方式//通过KEY

存入数据——putxxxx(key,value)

取出数据——getxxxx(key  default)

 

2.读写SD卡  SD的根目录
 适用于数据流读写

3.SQLite  轻量级.dp文件多用于手机里

4.Content prowvider内容提供者

网路存储 在网络后台存储

package com.example.jreduch08;

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.Button;
import android.widget.CheckBox;
import android.widget.EditText;

public class SharePreferencesActivity extends AppCompatActivity {
    private  CheckBox cb1;
   private CheckBox cb2;
private SharedPreferences sp;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         cb1= (CheckBox) findViewById(R.id.checkBox1);
      cb2= (CheckBox) findViewById(R.id.checkBox2);
        Button  save2= (Button) findViewById(R.id.save2);

        final EditText user= (EditText) findViewById(R.id.user);
        final EditText pwd= (EditText) findViewById(R.id.pwd);
        Button save= (Button) findViewById(R.id.save);
        sp=getSharedPreferences("userInfo",MODE_PRIVATE);
        save.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences.Editor editor=sp.edit();
                editor.putString("userName",user.getText().toString());
                editor.putInt("userPwd",Integer.parseInt(pwd.getText().toString()));
                editor.commit();
                Intent intent=new Intent(SharePreferencesActivity.this,Sp2Activity.class);
                startActivity(intent);
            }
        });
        save2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences.Editor editor=sp.edit();
//                editor.putString("userName",user.getText().toString());
//                editor.putInt("userPwd",Integer.parseInt(pwd.getText().toString()));
                editor.putBoolean("jzmm",cb1.isChecked());
                editor.putBoolean("zddl",cb2.isChecked());
                editor.commit();
                Intent intent=new Intent(SharePreferencesActivity.this,SettingsActivity.class);
                startActivity(intent);
            }
        });
    }

    @Override
    protected void onStart() {
        super.onStart();
        sp=getSharedPreferences("userInfo",MODE_PRIVATE);

        Boolean jzmm=sp.getBoolean("jzmm",false);
        Boolean zddl=sp.getBoolean("zddl",false);
        cb1.setChecked(jzmm);
        cb2.setChecked(zddl);
    }
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:context=".SharePreferencesActivity">
<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="请输入用户名"
    android:id="@+id/user"
    />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入密码"
        android:id="@+id/pwd"
        android:layout_below="@+id/user"
        android:layout_alignParentStart="true" />
<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/save"
    android:text="保存"
    android:layout_below="@+id/checkBox2"
    android:layout_alignParentStart="true" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="自动登录"
        android:id="@+id/checkBox2"

        android:layout_alignTop="@+id/checkBox1"
        android:layout_centerHorizontal="true"
        android:checked="false" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="记住密码"
        android:id="@+id/checkBox1"
        android:layout_below="@+id/pwd"
        android:layout_alignParentStart="true"
        android:checked="false" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="保存2"
        android:id="@+id/save2"
        android:layout_below="@+id/save"
        android:layout_alignParentStart="true" />

</RelativeLayout>
package com.example.jreduch08;

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.Button;
import android.widget.Switch;

public class SettingsActivity extends AppCompatActivity {
private  Switch switch1;
 private    Switch switch2;
 private    SharedPreferences  sp;
    private Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);
        switch1= (Switch) findViewById(R.id. switch1);
        switch2= (Switch) findViewById(R.id. switch2);
       button= (Button) findViewById(R.id.button);
        sp=getSharedPreferences("userInfo",MODE_PRIVATE);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences.Editor editor=sp.edit();
                editor.putBoolean("jzmm",switch1.isChecked());
                editor.putBoolean("zddl",switch2.isChecked());
                editor.commit();
                Intent intent=new Intent(SettingsActivity.this,SharePreferencesActivity.class);
                startActivity(intent);
            }
        });

    }

    @Override
    protected void onStart() {
        super.onStart();
       sp=getSharedPreferences("userInfo",MODE_PRIVATE);

        Boolean jzmm=sp.getBoolean("jzmm",false);
        Boolean zddl=sp.getBoolean("zddl",false);
        switch1.setChecked(jzmm);
        switch2.setChecked(zddl);
    }
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:context="com.example.jreduch08.SettingsActivity">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"

    >

</LinearLayout>

    <Switch
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:text="记住密码"
        android:id="@+id/switch1"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"
        android:checked="false" />

    <Switch
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:text="自动登录"
        android:id="@+id/switch2"
        android:layout_below="@+id/switch1"
        android:layout_alignParentStart="true"
        android:checked="false" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="保存"
        android:id="@+id/button"
        android:layout_below="@+id/switch2"
        android:layout_alignParentStart="true" />
</RelativeLayout>
package com.example.jreduch08;

import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Sp2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sp2);

        Button getUser= (Button) findViewById(R.id.getUser);
        final TextView  showUser= (TextView) findViewById(R.id.showUser);
        final SharedPreferences  sp=getSharedPreferences("userInfo",MODE_PRIVATE);

        getUser.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String name=sp.getString("userName","Admin");
                String pwd=String.valueOf(sp.getInt("userPwd",88888));
                showUser.setText("用户名"+name+"\n"+"密码"+pwd);
            }
        });

    }
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.jreduch08.Sp2Activity">
<TextView
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:id="@+id/showUser"
    />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/getUser"
        android:text="获取用户数据"
        android:layout_alignBottom="@+id/showUser"
        android:layout_alignParentStart="true" />
</RelativeLayout>

 //图片轮播的控件
    //图片自动缩放的控件
    compile ‘com.android.support:appcompat-v7:24.0.0‘
    compile ‘com.jude:rollviewpager:1.3.4‘
    compile ‘com.flaviofaria:kenburnsview:1.0.7‘
    compile ‘com.android.support:design:24.0.0‘

  
package com.example.jreduch08;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.flaviofaria.kenburnsview.KenBurnsView;
import com.jude.rollviewpager.OnItemClickListener;
import com.jude.rollviewpager.RollPagerView;
import com.jude.rollviewpager.adapter.StaticPagerAdapter;
import com.jude.rollviewpager.hintview.ColorPointHintView;

public class ZyfActivity extends AppCompatActivity {
private RollPagerView rollPagerView;
    private KenBurnsView kenBurnsView;
    //图片数组
    private  int[]imgs={
              R.mipmap.a,
            R.mipmap.b,
            R.mipmap.c,
            R.mipmap.d,
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_zyf);
        rollPagerView= (RollPagerView) findViewById(R.id.roll_view_pager);
        kenBurnsView= (KenBurnsView) findViewById(R.id.image);
       //设置播放时间间隔
        rollPagerView.setPlayDelay(3000);
        //设置透明度
        rollPagerView.setAnimationDurtion(500);
        //设置适配器
        rollPagerView.setAdapter(new TestNormalAdapter(imgs));

        //自定义指示器图片
       // rollPagerView.setHintView(new IconHintView(this,R.mipmap.e,R.mipmap.d));
        //设置圆点指示器颜色
        rollPagerView.setHintView(new ColorPointHintView(this, Color.YELLOW,Color.WHITE));
        //文字指示器
      //  rollPagerView.setHintView(new TextHintView(this));
        //隐藏指示器
       // rollPagerView.setHintView(null);

        rollPagerView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(int position) {
                kenBurnsView.setImageResource(imgs[position]);
            }
        });

    }

    private class TestNormalAdapter extends StaticPagerAdapter{
        private  int []imgs;
        public TestNormalAdapter(int[] imgs){
            this.imgs=imgs;
        }

        @Override
        public View getView(ViewGroup container, int position) {
            ImageView view=new ImageView(container.getContext());
            view.setImageResource(imgs[position]);
            view.setScaleType(ImageView.ScaleType.CENTER_CROP);
            view.setLayoutParams(new ViewGroup.LayoutParams(
                    ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.MATCH_PARENT));

            return view;
        }

        @Override
        public int getCount() {
            return imgs.length;
        }
    }

}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"

    tools:context="com.example.jreduch08.ZyfActivity">
<com.jude.rollviewpager.RollPagerView
    android:layout_width="match_parent"
    android:layout_height="180dp"
    android:id="@+id/roll_view_pager"
    app:rollviewpager_play_delay="5000"
    ></com.jude.rollviewpager.RollPagerView>
    <com.flaviofaria.kenburnsview.KenBurnsView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/roll_view_pager"/>

</RelativeLayout>

  //加载网络图片
    compile ‘com.github.bumptech.glide:glide:3.7.0‘

package com.example.jreduch08;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;

public class GlideActivity extends AppCompatActivity {
    private ImageView img;
    private Button bt1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_glide);
        img = (ImageView) findViewById(R.id.img);
        bt1 = (Button) findViewById(R.id.bt1);
        bt1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Glide.with(GlideActivity.this)
                        .load("https://img02.sogoucdn.com/net/a/04/link?url=http%3A%2F%2Fi04" +
                                ".pictn.sogoucdn.com%2F59700dc8568d7ff3&appid=122")
                        .asGif()
                        .diskCacheStrategy(DiskCacheStrategy.ALL)
                        .error(R.mipmap.ic_launcher)
                        .into(img);
            }
        });
    }
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:context="com.example.jreduch08.GlideActivity">
<ImageView
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:id="@+id/img"
    />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/bt1"
        android:text="加载图片"
        android:layout_below="@+id/img"
        />
</RelativeLayout>

时间: 2024-10-14 14:58:10

Android——数据存储(四种方式之一)SharedPrefereces的相关文章

Android 数据存储四种方式

Android数据的四种存储方式 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.  分别是:SharePreference.SQLite.Content Provider和File.  由于Android系统中,数据基本都是私有的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider. SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存

Android数据存储五种方式总结

本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据     2 文件存储数据       3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小游戏的玩家积分

Android 数据存储五种方式

1.概述 Android提供了5种方式来让用户保存持久化应用程序数据.根据自己的需求来做选择,比如数据是否是应用程序私有的,是否能被其他程序访问,需要多少数据存储空间等,分别是: ① 使用SharedPreferences存储数据 ② 文件存储数据 ③ SQLite数据库存储数据 ④ 使用ContentProvider存储数据 ⑤ 网络存储数据 Android提供了一种方式来暴露你的数据(甚至是私有数据)给其他应用程序 - ContentProvider.它是一个可选组件,可公开读写你应用程序数

[Android] 数据存储五种方式使用与总结

1.概述 Android提供了5种方式来让用户保存持久化应用程序数据.根据自己的需求来做选择,比如数据是否是应用程序私有的,是否能被其他程序访问,需要多少数据存储空间等,分别是: ① 使用SharedPreferences存储数据 ② 文件存储数据 ③ SQLite数据库存储数据 ④ 使用ContentProvider存储数据 ⑤ 网络存储数据 Android提供了一种方式来暴露你的数据(甚至是私有数据)给其他应用程序 - ContentProvider.它是一个可选组件,可公开读写你应用程序数

(转载)Android数据存储三种方式总结

本文转载自:http://www.cnblogs.com/ITtangtang/p/3920916.html 本文介绍Android平台进行数据存储的三大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 其他: 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符

Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览

Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (一) —— 总览 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File.由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Pro

Android数据的四种存储方式之SharedPreferences

除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/< >/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现.实现SharedPreferences存储的步骤如下: 一.根据Context获取SharedPreferences对象 二.利用edi

Android数据的四种存储方式

很清晰的思路,转自Android数据的四种存储方式 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File.由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider. SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用

Android数据的四种存储方式之SQLite数据库

Test.java: /** * 本例解决的问题: * 核心问题:通过SQLiteOpenHelper类创建数据库对象 * 通过数据库对象对数据库的数据的操作 * 1.sql语句方式操作SQLite数据库 * 2.谷歌提供的api对SQLite数据库的操作 * 3.SQLite对事务的操作 */ import com.ghsy.createsqlitedb.db.MyOpenHelper; import android.content.ContentValues; import android.

Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences

Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (三) —— SharePreferences 除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/<包名>/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修