Android 存储文件方式之一---SharedPreferences 内容提供者,以xml 的方式进行数据 存储。是一种轻量级的文件数据存储

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

//UI界面的布局 文件<br><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="fill_parent"//填充父元素  线性布局<br>    android:layout_height="fill_parent"

    android:orientation="vertical"
>

    <EditText

        android:id="@+id/UserName"//id名称方便后台获取到该控件名称来去控件里面的值<br>        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:ems="10"

        android:inputType="text"
>

        <requestFocus />

    </EditText>

    <EditText

        android:id="@+id/Password"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:inputType="text"
/>

    <LinearLayout

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"
>

        <Button

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:onClick="login"//在该Button按钮上面绑定onClick()方法 login和后台中的login名称需要一直,否则将找不到后台的方法<br>            android:text="登陆"

            android:width="80dp"
/>

        <CheckBox

            android:id="@+id/saveUserAndPassword"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_marginLeft="180dp"
/>

    </LinearLayout>

</LinearLayout>

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

package
com.example.saveuserandpasswor; import
android.app.Activity; import
android.content.SharedPreferences; import
android.content.SharedPreferences.Editor; import
android.os.Bundle; import
android.view.Menu; import
android.view.View; import
android.widget.CheckBox; import
android.widget.EditText; import
android.widget.Toast;<br>/**<br> *模拟一个简单的用户登录时保存密码的功能。该demo 没有对密码进行加密,处于安全考虑可以使用MD5或UUID进行密码加密  --后台代码<br> */

public class MainActivity extends
Activity {

    private
EditText userName;

    private
EditText password;

    private
CheckBox cb;

    private
SharedPreferences sp;// 内容提供者

    @Override

    public
void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        userName = (EditText) findViewById(R.id.UserName);//获取ui界面中的空间元素

        password = (EditText) findViewById(R.id.Password);

        cb = (CheckBox) findViewById(R.id.saveUserAndPassword);

        sp = getSharedPreferences("save", MODE_PRIVATE);// 设置保存信息的配置文件是私有的文件,存储问文件形式以xml文件存储,其实就是一个map

                                                        // 集合

        String username = sp.getString("username", "");

        String pass = sp.getString("password", "");

        if
(username.length() != 0
&& pass.length() != 0) {

            userName.setText(username);

            password.setText(pass);

            cb.setChecked(true);

        }

    }

    public
void login(View view) {//在UI界面里面对Button按钮进行事件绑定,onclick() 方法<br>     String user = userName.getText().toString();

        String pass = password.getText().toString();

        boolean
iscb = cb.isChecked();

        Editor editor = sp.edit();// 获取编辑器

        if
(iscb) {// 如果checkbox 被选中则保存用户名和密码

            editor.putString("username", user);

            editor.putString("password", pass);

        } else
{

            editor.putString("username", "");

            editor.putString("password", "");

        }

        editor.commit();// 登陆完事后将用户输入的账号密码保存到配置文件中

        Toast.makeText(getApplicationContext(), "登陆成功", Toast.LENGTH_SHORT)// 操作完成一个时间后执行的操作

                .show();

    }

    @Override

    public
boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.activity_main, menu);

        return
true;

    }

}

Android 存储文件方式之一---SharedPreferences 内容提供者,以xml 的方式进行数据
存储。是一种轻量级的文件数据存储,码迷,mamicode.com

Android 存储文件方式之一---SharedPreferences 内容提供者,以xml 的方式进行数据
存储。是一种轻量级的文件数据存储

时间: 2024-10-13 01:53:56

Android 存储文件方式之一---SharedPreferences 内容提供者,以xml 的方式进行数据 存储。是一种轻量级的文件数据存储的相关文章

Android开发之ContentProvider(内容提供者)

1. ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同. 如:采用文件方式对外共享数据,需要进行文件操作读写数据:采用sharedpreferences共享数据,需要使用sharedpreferences API读写数据. 而使用ContentProvider共享数据的好处是统一了数据访问方式 2.通过ContentProv

【android基础篇】利用内容提供者实现短信备份

I,准备工作 系统存储短信内容的目录为:/dada/dada/com.android.providers.telephony/databases/mmssms.db,我们找到对应的数据库文件. 我们可以发现该文件对于第三方而言,是不可读不可写的,这里则必须要使用内容提供者. 问题就来了:我不知道主机名,也就无法作为中间人去找证监会打探消息.其实,完全没有关系,我们可以翻阅安卓的源代码: \packages\providers\TelephonyProvider的清单文件,因为主机名都配置在清单文

Android开发之浅谈内容提供者provider的使用

大家新年好.博主刚回到广州就要各种忙.博主换了份工作,所以昨天一来到广州就忙着找房子,好在昨晚就已经搞定.时间比较紧迫,这篇文章就直接将如何使用provider了. 内容提供者一般用于进程之间通信,当一个app需要访问另外一个app的数据库内容的时候,就需要用到内容提供者.为了节约时间,博主直接偷懒上代码了,直接拿博主之前写过的一个短信项目来上了. 首先,定义一个内容提供者 package com.freedom.intelligencesms.provider; import com.free

使用内容提供者和xml备份联系人

1.通过内容提供者获取联系人信息 1 package com.ithaimazyh.readcontact; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import com.ithaimazyh.readcontact.domain.PersonInfo; 7 import com.ithaimazyh.readcontact.service.SavePersonsInfo; 8 9 import android.n

【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建

数据库的创建和sql语句增删改查 1. 加载驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, name varchar(20), age integer ); 添加: insert into person(name, age) values('lisi', 19); 删除: delete from person where _id = 1; 修改: update person set name =

Android四大基本组件(2)之Service 服务与Content Provider内容提供者

一.Service 服务: 一个Service 是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序. 比较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器.在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲.然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的.在这个例子中,媒体播放器这个activity 会使用Context.startService()来启动一个service,从

Android 内容提供者(ContentProvider)的简单实用

Android 中的数据库是对应用私有的,自己是无法使用别的应用的数据库的.但是往往有需求要我们使用另外一个应用或者系统应用的数据,这时候就彰显了内容提供者,ContentPrivider的作用,他就是两个应用数据的桥梁,通过内容提供者和内容接受者我们可以在不同应用间传递数据. ContentPrivider也可以视为一种数据存储.它存储数据的方式和使用它的应用程序无关,重要的是应用如何以一致的编程接口,来访问存储其中的数据.内容提供者与数据库的使用差不多,也可以增删改查.而且数据可以存储于数据

(转)ContentProvider 内容提供者

1.1.  什么是内容提供者 内容提供者是Android中的四大组件之一,可以将应用中的数据对外进行共享 内容提供者将数据的访问方式统一,不必针对不同数据类型采取不同的访问策略 内容提供者将数据封装,只暴露出我们希望提供给其他程序的数据 内容提供者中数据更改可被监听 1.2.  创建内容提供者 定义类继承ContentProvider,根据需要重写内部方法    在清单文件的<application>节点下进行配置,<provider>标签中需要指定name和authorities

内容提供者 ContentResolver 数据库 示例 -1

MainActivity public class MainActivity extends ListActivity {     private TextView tv_info;     private EditText editText;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         List