Android 数据存储

Android 数据存储

             -----------Every noble work is at first impossible.

1.数据存储方式;

2.存储方式详细介绍;

3.adb学习;


存储方式

   文件存储
    Share Preference`
     Files
    SQLite3
    NetWork



一、SharedPreferences方式存储数据方法:

1)getSharedPreference;
2)getSharePreferences.Editor;
3)Editor.commit();
源码举例:

<span style="font-size:24px;"><span>	</span>Button bt = (Button) findViewById(R.id.button1);
        assert bt != null;
        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SharedPreferences sp = MainActivity.this.getSharedPreferences("My", Activity.MODE_PRIVATE);
                SharedPreferences.Editor editor = sp.edit();
                editor.putString("yourname", "sundy1");
                editor.putString("yourname2", "sundy2");
                editor.commit();
                Toast.makeText(MainActivity.this, "SharedPreferences 数据建立", Toast.LENGTH_SHORT).show();




            }
        });</span>
补充,如果要得到数据文件内容,只需要sp.getString及其他方法等即可,而不需要用编辑器editor去操作。
adb shell使用
adb data/data  ---包存放位置
adb pull 使用及问题解决(push出现此类问题也可借此方法解决)
举例:adb pull /data/data/myapplication.com.myapplication666/shared_prefs/my.xml d:/
把通过SharedPreferences方式存储的文件提取到本地D盘。
1)adb shell后,cd data/data进入data/data目录时会发现权限被拒绝,并提示Permission denied。
解决方法:输入su/su root,申请root权限,然后手机上点击授权,再次执行cd data/data即可进入手机data/data目录。
注意:前提是手机必须获得root权限。
2)问题:使用adb pull命令从Android系统中读取文件失败。显示:Permission denied。
原因:是由于文件权限原因引起。
使用ls -l命令查看android系统中的文件权限为:
-rw-rw---- my.xml my.xml
也就是说,该文件只有my.xml用户以及my.xml群组拥有读写权限,而adb shell的用户为shell,既不是my.xml用户,也不在my.xml群组中,所以没有权限读取这个文件。所以就出现了
Permission denied。
解决方法:修改文件权限。
使用su命令,用超级用户登录。修改该文件权限,让其他用户可以读取该文件。
chmod 664 文件名
如果是要使用adb push使用电脑上的文件覆盖该文件,则需要把写权限也要给其他用户,也就是:
chmod 777 文件名
pull文件夹失败,需要看是否文件夹下还有没修改权限为 777 的文件存在


二、Files:使用内部存储和使用外部存储(未掌握,待续)

三、Network(未掌握,待续)

四、SQLite3

方法:

getReadableDatabase();
getWriteableDatabase();
onCreat(SQLiteDatabase db, int oldVersion, int newVersion);
onOpen(SQLiteDatabase db);
onUpgrade(SQLiteDatabase db).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值