精华内容
下载资源
问答
  • shared_prefs文件夹
    千次阅读
    2011-11-13 19:01:34

    Android中shared_prefs文件夹位置

     

    一般而言,这个文件夹是在/data/data/你的应用的包名/shared_prefs下面,但是,有些device不在

    这个路径(例如i9000)。

    如果在上述的路径找不到,可以去/dbdata/databases/你的应用的包名/shared_prefs这个路径看看。

     

    更多相关内容
  • 如何获取shared_prefs目录下的xml类型文件,将xml文件名如图通过ListView来一一展示,应该怎么写呢? ![图片说明](https://img-ask.csdn.net/upload/201903/06/1551864317_838.png) 下图是参照读取sd卡目录...
  • 求大神告知一下,安卓应用的shared_prefs这个文件夹对应这pc应用的那个文件夹,比如qq微信等很多都是安卓和pc都有的
  • SharedPreferences数据保存在: /data /data/<package> /shared_prefs 文件夹下,以XML格式保存,根元素为:。文件名称为获取SharedPreferences实例时传递的參数值。 <string name=key> value 获取实例 ...
  • 想要读取一个第三方应用shared_prefs目录下的xml文件内容,转换格式后显示出来,但因为权限问题,不知道该如何实现,手动更改该文件权限rw-rw----为rw-rw-r---后虽然可以实现功能但会导致第三方应用无法正常运行
  • 一、Android 应用数据目录 /data/data/package.name/、 二、/data/data/package.name/shared_prefs/ 目录





    一、Android 应用数据目录 /data/data/package.name/



    进入应用所在目录 :

    cd /data/data/com.qidian.QDReader
    

    查看该目录下的文件内容 :

    walleye:/data/data/com.qidian.QDReader # ls -l
    total 200
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-05-12 20:23 app_TBSqmsp
    drwxrwx--x  3 u0_a469 u0_a469       4096 2021-05-12 20:23 app_adnet
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-10-26 10:46 app_bugly
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-05-12 11:34 app_crashrecord
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-05-12 11:34 app_dex
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-05-12 20:23 app_e_qq_com_dex_d2d2e5afa7e0f03725be661ee68060ea
    drwxrwx--x  3 u0_a469 u0_a469       4096 2021-10-12 21:17 app_e_qq_com_plugin_d2d2e5afa7e0f03725be661ee68060ea
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-05-12 20:23 app_e_qq_com_setting_d2d2e5afa7e0f03725be661ee68060ea
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-05-12 20:23 app_firstplay
    drwxr-xr-x  7 u0_a469 u0_a469       4096 2021-05-13 23:42 app_tbs
    drwxr-xr-x  2 u0_a469 u0_a469       4096 2021-05-12 20:23 app_tbs_common_share
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-05-12 11:34 app_textures
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-05-12 11:34 app_tmpPatch
    drwxrwx--x  3 u0_a469 u0_a469       4096 2021-05-12 20:23 app_turingdfp
    drwxrwx--x  3 u0_a469 u0_a469       4096 2021-05-12 20:23 app_turingfd
    drwx------  3 u0_a469 u0_a469       4096 2021-10-26 10:46 app_webview
    drwx------  8 u0_a469 u0_a469       4096 2021-09-13 18:58 app_x5webview
    drwxrws--x  7 u0_a469 u0_a469_cache 4096 2021-08-04 00:17 cache
    drwxrws--x  2 u0_a469 u0_a469_cache 4096 2021-05-12 11:34 code_cache
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-10-26 13:45 databases
    drwxrwx--x 20 u0_a469 u0_a469       4096 2021-10-26 13:54 files
    lrwxrwxrwx  1 root    root            66 2021-10-26 10:10 lib -> /data/app/com.qidian.QDReader-GTqLCxuMlq6CJtnOVz1LgQ==/lib/arm
    dr-x------  2 u0_a469 u0_a469       4096 2021-05-12 20:23 pag
    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-10-26 13:59 shared_prefs
    dr-x------  2 u0_a469 u0_a469       4096 2021-09-14 08:40 tts
    walleye:/data/data/com.qidian.QDReader #
    

    在这里插入图片描述







    二、/data/data/package.name/shared_prefs/ 目录



    shared_prefs 目录是 SharedPreferences 文件的存储目录 , 这是 Android 自带的应用数据存储 , 这是最轻量级的存储 , 存储一个 Key-Value 键值对数据 , 系统会将该数据保存为 xml 文件 ;

    drwxrwx--x  2 u0_a469 u0_a469       4096 2021-10-26 13:59 shared_prefs
    

    进入该目录 , shared_prefs 目录下的文件如下 :

    在这里插入图片描述

    使用 cat mydata.xml 命令 , 查看其中的一个 xml 文件 , 内容如下 ;

    <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
    <map>
        <string name="uuid">084db317-4bae-44e9-9c45-dd89bdf570c7</string>
    </map>
    

    在这里插入图片描述

    展开全文
  • + context.getPackageName() + "/shared_prefs")); } 将这些方法封装在一个工具类中,需要时调用相应的接口即可 三、总结 缓存的清除主要思想是将应用相应的存储目录下的文件清除,实现清理缓存的重点就在于了解...

    一、前言

    现如今,大部分应用都提供了各自的缓存清理方式。在这里把我在做缓存清理的过程中学到的一些知识记录下来,以便以后温故知新。

    二、正文

    首先,是关于Android的一些存储路径的介绍。

    我们的应用程序一般会产生以下几种类型的数据:

    file-普通的文件存储

    database-数据库文件(.db文件)

    sharedPreference-配置数据(.xml文件)

    cache-图片缓存文件

    应用内数据的所有路径:(注:com.xxx.xxx为应用包名)

    /data/data/com.xxx.xxx/cache - 应用内缓存

    /data/data/com.xxx.xxx/databases - 应用内数据库

    /data/data/com.xxx.xxx/shared_prefs - 应用内配置文件

    /data/data/com.xxx.xxx/files - 应用内文件

    /mnt/sdcard/android/data/com.xxx.xxx/cache -外部Cache路径

    Android中获取各路径的方法:

    context.getExternalFilesDir() - 文件目录

    context.getExternalCacheDir() - 外部缓存目录

    contect.getCacheDir() - 内部缓存路径

    contect.getDatabasePath(String name) - 根据名字获取数据库

    接下来是获取缓存大小和清除缓存的方法:

    获取缓存大小:

    /**

    * 获取缓存大小

    * @param contect

    * @return

    * @throws Exception

    */

    public static String getCacheSize(Context contect) throws Exception {

    return getFormatSize(getFolderSize(contect.getCacheDir())+getFolderSize(contect.getExternalCacheDir()));

    }

    /**

    * 获取文件 大小

    */

    public static long getFolderSize(File file) throws Exception {

    long size = 0;

    try {

    File[] fileList = file.listFiles();

    for (int i = 0; i < fileList.length; i++) {

    // 如果下面还有文件

    if (fileList[i].isDirectory()) {

    size = size + getFolderSize(fileList[i]);

    } else {

    size = size + fileList[i].length();

    }

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

    return size;

    }

    /**

    * 格式化文件大小单位

    *

    * @param size

    * @return

    */

    public static String getFormatSize(double size) {

    double kiloByte = size / 1024;

    if (kiloByte < 1) {

    return size + "Byte";

    }

    double megaByte = kiloByte / 1024;

    if (megaByte < 1) {

    BigDecimal result1 = new BigDecimal(Double.toString(kiloByte));

    return result1.setScale(2, BigDecimal.ROUND_HALF_UP)

    .toPlainString() + "KB";

    }

    double gigaByte = megaByte / 1024;

    if (gigaByte < 1) {

    BigDecimal result2 = new BigDecimal(Double.toString(megaByte));

    return result2.setScale(2, BigDecimal.ROUND_HALF_UP)

    .toPlainString() + "MB";

    }

    double teraBytes = gigaByte / 1024;

    if (teraBytes < 1) {

    BigDecimal result3 = new BigDecimal(Double.toString(gigaByte));

    return result3.setScale(2, BigDecimal.ROUND_HALF_UP)

    .toPlainString() + "GB";

    }

    BigDecimal result4 = new BigDecimal(teraBytes);

    return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString()

    + "TB";

    }

    清除缓存:

    /**

    * 清楚内部缓存和外部缓存

    * @param context

    */

    public static void cleanCache(Context context){

    cleanInternalCache(context);

    cleanExternalCache(context);

    }

    /**

    * * 清除内部缓存(/data/data/com.xxx.xxx/cache) * *

    *

    * @param context

    */

    public static void cleanInternalCache(Context context) {

    deleteFilesByDirectory(context.getCacheDir());

    }

    /**

    * * 清除外部缓存(/mnt/sdcard/android/data/com.xxx.xxx/cache)

    *

    * @param context

    */

    public static void cleanExternalCache(Context context) {

    if (Environment.getExternalStorageState().equals(

    Environment.MEDIA_MOUNTED)) {

    deleteFilesByDirectory(context.getExternalCacheDir());

    }

    }

    /**

    * 删除方法 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理

    *

    * @param directory

    */

    private static void deleteFilesByDirectory(File directory) {

    if (directory != null && directory.exists() && directory.isDirectory()) {

    for (File item : directory.listFiles()) {

    item.delete();

    }

    }

    }

    清除数据库文件:

    /**

    * * 清除本应用所有数据库(/data/data/com.xxx.xxx/databases) * *

    *

    * @param context

    */

    public static void cleanDatabases(Context context) {

    deleteFilesByDirectory(new File("/data/data/"

    + context.getPackageName() + "/databases"));

    }

    /**

    * 删除方法 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理

    *

    * @param directory

    */

    private static void deleteFilesByDirectory(File directory) {

    if (directory != null && directory.exists() && directory.isDirectory()) {

    for (File item : directory.listFiles()) {

    item.delete();

    }

    }

    }

    /**

    * * 按名字清除本应用数据库 * *

    *

    * @param context

    * @param dbName

    */

    public static void cleanDatabaseByName(Context context, String dbName) {

    context.deleteDatabase(dbName);

    }

    清除SharedPreference和files目录下的文件:

    /**

    * 清除/data/data/com.xxx.xxx/files下的内容

    *

    * @param context

    */

    public static void cleanFiles(Context context) {

    deleteFilesByDirectory(context.getFilesDir());

    }

    /**

    * * 清除本应用SharedPreference(/data/data/com.xxx.xxx/shared_prefs) *

    *

    * @param context

    */

    public static void cleanSharedPreference(Context context) {

    deleteFilesByDirectory(new File("/data/data/"

    + context.getPackageName() + "/shared_prefs"));

    }

    将这些方法封装在一个工具类中,需要时调用相应的接口即可

    三、总结

    缓存的清除主要思想是将应用相应的存储目录下的文件清除,实现清理缓存的重点就在于了解Android应用的各个存储目录,以及根据file对象将其对应目录下的文件删除。

    展开全文
  • SharedPreferences是Android的一个轻量级存储工具,采用的存储结构是Key-Value的键值对方式,类似于Java的Properties类,二者都是把Key-Value的键值对保存在配置文件中。...保存Sharedreferences键值对...
  • SharedPreferences是一个轻量级的存储类,通常用来存储应用的配置信息...打开android device monitor,进入data/data/com.example.persistencetest/shared_prefs目录,找到SharedPreferences写入的文件 导出文件查..
  • 第一次访问名为"setting"的SharedPreferences文件时,系统会在应用数据目录下(/data/data/packageName/)的shared_prefs文件夹下,创建一个同名的xml文件。也就是说该文件不存在时,直接创建;如果已经存在,则直接...
  • shared_preferences,它保存数据的形式为 Key-Value(键值对),支持 Android 和 iOS shared_preferences 是一个第三方插件,在 Android 中使用 SharedPreferences,在 iOS中使用 NSUserDefaults 二 添加依赖 2.1 ...
  • 怎样查看SharedPreferences文件

    千次阅读 2019-08-21 18:22:13
    方法一(最简单的方法): 在Android studio最上面的菜单栏找到Android Device ...点击打开--选择file explorer--往下拉找到data文件夹---打开后找到自己项目的包名---打开后找到shared_prefs---打开找到的xml就是...
  • 测试某apk时,使用http://appscan.360.cn进行首次分析,报出存在shred_prefs任意读写的问题。于是研究一下测试思路。此文纯属个人分析,若有不对指出,还请指出。
  • 以XML文件的形式存储在/data/data/packageName/的shared_prefs文件夹。 它提供了 putString()、putString(Set)、putInt()、putLong()、putFloat()、putBoolean() 六种数据类型。(注意没有Double) 使用示例 //根据...
  • 1./system系统文件夹类似于Windows中的Windows文件夹。 2./data应用程序安装文件和数居文件( 存放在这个目录下的数据文件称之为内部存储)。 3./mnt/sdcard外部存储根文件夹,用于存放各种文件(存放在此目录中的...
  • 该文件在手机的data/data/包名/shared_prefs目录下。 我们手机自带的文件管理器看不到的。   首先讲手机端查看: 一:获取root权限  建议使用kingRoot电脑版,很简单,数据线连接手机就可以啦。   二:下载Root
  • 微信的uin是存储在SharedPerferences里面,所以我们要在微信目录的shared_prefs文件夹里面查找其存放的xml文件,然后去解析它。 [java]  view plain   copy private   static   final  String WX_SP_UIN...
  • 前言 Android中常用的数据存储方式有5种:SharePreferences、SQLite数据库、文件存储、ContentProvider& 网络存储 .../shared_prefs 2. 对比 除了SharedPreferences,Android常见的数据存储方
  • SharedPreference的存储位置:/data/data/{$PACKAGE_NAME}/shared_prefs/ /data/data/{$PACKAGE_NAME}/这里的文件原本只有应用本身才有权限访问,可以看到owner和group都是不同的,而且只有所有者才能rw读写,连...
  • 一。首先需要一个root的权限...直接把/data/data/包名/shared_prefs 这个文件夹复制到 sdcard/xx文件夹下。  cp -r /data/data/xxxx/shared_prefs sdcard/xx 三。adb pull /sdcard/xx 到本地电脑即可。    ...
  • Shared Preferences 经常用来保存应用程序的一些属性设置,在android平台常用于cunchu
  • Context 类中提供了一个 openFileOutput() 方法,可以用于将数据存储到指定的文件夹中,这个方法接收两个参数,第一个是文件名,第二个是文件的操作模式,主要有两种模式可选:MODE_PRIVATE 和 MODE_APPEND,MODE_...
  • SharedPreferences存储、查看

    万次阅读 多人点赞 2018-05-18 11:49:06
     4、输入cd shared_prefs进入到该文件加下 如图    5、输入ls查看文件如图    6、找到你保存的文件,输入cat 文件名 如图    第二 在Anroid studio 的Terminal控制台输入第一种方法的shell命令    第三、...
  • 这几天把android 的内部存储学了一遍,发现一个问题,当我打开android studio的File Explorer查看SharedPreferences保存的xml文件时,发现data/data/包名/shared_prefs文件夹下是空的,还有通过SqLiteDataBase和...
  • SharedPreference存储精炼详解

    千次阅读 2018-09-01 12:41:01
    ④用户应用程序一旦卸载,存在应用数据目录下的shared_prefs文件也会被删除。 上代码,具体实现 1.存放数据信息,步骤如下: ①打开Preferences,名称为user,如果存在则打开它,否则创建新的...
  • Android系统/data目录就是常说的内部存储,里面主要有两个文件夹值得我们关注: “/data/app/”目录 此目录存放着手机上所有安装app的apk文件。比如使用Android Studio调试app,将app安装到手机时,会先上传...
  • (2)位置:用它时,将会默认在data/data/包名/下创建一个名字为:shared_prefs文件夹,  然后再在shared_prefs目录下创建你命名的文件. (3)创建步骤: 获取上下文的SharedPreferences对象 调用刚刚获取的...
  • 要查看自己的加密,请转到设备文件资源管理器,然后导航至您的应用程序文件夹: /data/data/APP.NAME/shared_prefs/secret_shared_prefs.xml /data/data/APP.NAME/shared_prefs/secret_shared_prefs.xml Device ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,910
精华内容 1,164
关键字:

shared_prefs文件夹