精华内容
下载资源
问答
  • 访问android 手机内存存储卡

    热门讨论 2012-04-09 00:44:22
    访问android 手机内存存储卡 本示例程序 为访问本机内存存储卡-------File 的创建与删除
  • 该RTMP摄像头支持语音对讲、主动推流,虽然摄像头没有自行存储的功能,但是可以通过插入TF内存卡,对视频进行主动录制存储。 本文讲一下如何开启摄像头的插卡存储功能。 1、从摄像头底部插入TF内存卡,随后进入...

    很多项目团队都因为推流的需求,咨询了解TSINGSEE青犀视频和海康合作研发的RTMP摄像头。该RTMP摄像头支持语音对讲、主动推流,虽然摄像头没有自行存储的功能,但是可以通过插入TF内存卡,对视频进行主动录制存储。

    本文讲一下如何开启摄像头的插卡存储功能。

    1、从摄像头底部插入TF内存卡,随后进入摄像头的配置界面,显示如下即可。

    20.png

    2、这样就算内存卡被摄像头读取到了,接着打开存储里的计划配置,点击启用,类型设置成定时,然后选择周一,点击紫色区域。

    21.png

    22.png

    3、类型设置为定时,再设置需要录像的时间,然后保存,接着点击绿色的小方格,将周一的配置复制到所需要录像的天数后点击确定。

    23.png

    24.png

    4、可以看到这里时间的颜色和右边定时的颜色是相同的,然后点击保存,设备就可以在内存卡中录像了。

    25.png

    展开全文
  • 手机的存储空间分为手机内存存储卡(SD Card )空间 这里先介绍 对手机内存、SDCard 做添加、删除的功能 程序逻辑是: 首先用户先选择访问手机/ 存储卡,以列表的方式列出所有 目录和文件名, 在选项菜单上 有"添加...

    手机的存储空间分为手机内存及 存储卡(SD Card )空间

    这里先介绍 对手机内存、SDCard 做添加、删除的功能

    程序逻辑是:  首先用户先选择访问手机/ 存储卡,以列表的方式列出所有 目录和文件名, 在选项菜单上 有"添加" 、“删除” , 点击“添加” 将跳转到输入文件内容界面,输入后点菜单 ”保存" 将文件存入内存或  SD卡。  点"删除" 可删除所选择的文件.

    需要注意: getFileDir()  获取的路径为  “/data/data/ 程序包名/ files”, "files" 是固定的返回值,即使这个文件夹不存在,这也是程序运行的临时文件夹,

    另外,Activity还提供了getCacheDir()方法:   getCacheDir()方法用于获取/data/data/cache目录

      Environment.getExternalStorageDirectory() 获取是 SD卡存储路径 ,返回固定值 "/sdcard".

    关于Environment 类,它提供访问环境变量的方法,说明如下:

    方法名称与说明
    方法名称 说明
    getDataDirectory()  取得data 目录:/data
    getDownloadCacheDirectory() 取得 Cache 目录: /cache
    getExternalStorageDirectory()  取得 SD卡目录:/sdcard
    getExternalStorageState() 取得 SD卡状态如: MEDIA_MOUNTED,MEDIA_REMOVED : String                               
    getRootDirectory() 取得系统目录:/system
    示意图如下:

     

    具体代码请参见  EX06_09  工程

    二 下面介绍 查询存储卡剩余容量

    通过 StatFs 文件系统的方法取得  SD 卡里的剩余空间,  注意这里有一个小知识:

    将一个较大的数(可以是整型或 浮点型)  在整数位  每 3个数字用, 分隔如 1,000.98, 写法如下:

     DecimalFormat formatter = new DecimalFormat();
        /* 每3个数字用,分隔如:1,000 */
        formatter.setGroupingSize(3);
      String  result  = formatter.format(1233421341324.234234);

    此时 result 将  在整数位  每 3个数字以 , 分隔

    本程序运行示意图如下: 


    相关代码请参见  EX06_08  工程

    展开全文
  • 报错信息如下: FATAL EXCEPTION: main Process: com.android.bluetooth, PID: 6332 android.os.FileUriExposedEx

    报错信息如下:

    FATAL EXCEPTION: main
                                                     Process: com.android.bluetooth, PID: 6332
                                                     android.os.FileUriExposedException: file:///storage/0403-0201/bluetooth/2017-01-06.txt exposed beyond app through Intent.getData()
                                                         at android.os.StrictMode.onFileUriExposed(StrictMode.java:1814)
                                                         at android.net.Uri.checkFileUriExposed(Uri.java:2346)
                                                         at android.content.Intent.prepareToLeaveProcess(Intent.java:8940)
                                                         at android.content.Intent.prepareToLeaveProcess(Intent.java:8901)
                                                         at android.app.Instrumentation.execStartActivity(Instrumentation.java:1517)
                                                         at android.app.Activity.startActivityForResult(Activity.java:4226)
                                                         at android.app.Activity.startActivityForResult(Activity.java:4185)
                                                         at android.app.Activity.startActivity(Activity.java:4509)
                                                         at android.app.Activity.startActivity(Activity.java:4477)
                                                         at com.android.bluetooth.opp.BluetoothOppUtility.openReceivedFile(BluetoothOppUtility.java:265)
                                                         at com.android.bluetooth.opp.BluetoothOppTransferHistory.openCompleteTransfer(BluetoothOppTransferHistory.java:383)
                                                         at com.android.bluetooth.opp.BluetoothOppTransferHistory.onItemClick(BluetoothOppTransferHistory.java:361)
                                                         at android.widget.AdapterView.performItemClick(AdapterView.java:315)
                                                         at android.widget.AbsListView.performItemClick(AbsListView.java:1204)
                                                         at android.widget.AbsListView$PerformClick.run(AbsListView.java:3321)
                                                         at android.widget.AbsListView$4.run(AbsListView.java:4382)
                                                         at android.os.Handler.handleCallback(Handler.java:836)
                                                         at android.os.Handler.dispatchMessage(Handler.java:103)
                                                         at android.os.Looper.loop(Looper.java:203)
                                                         at android.app.ActivityThread.main(ActivityThread.java:6251)
                                                         at java.lang.reflect.Method.invoke(Native Method)
                                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)


    StrictMode模式报错了

    就是路径有问题,我这边是蓝牙模块报错了  在/packages/apps/Bluetooth/res/xml/file_paths.xml

    添加一行     <root-path name="bluetooth" path="" /> 就可以了。





















    展开全文
  • 一丶慨述 本周的学习内容是Android存储,要求:数据库Sqlite相关操作,常用的文件存取方式...1.图一完成创建文件存储在手机内存中并读取删除,文件操作相关知识; 2.图二完成创建文件存储在手机SD中并读取删除,文件

    本文出自:http://blog.csdn.net/dt235201314/article/details/73176149

    源码下载欢迎Star(updating):https://github.com/JinBoy23520/CoderToDeveloperByTCLer

    一丶慨述

    本周的学习内容是Android存储,要求:数据库Sqlite相关操作,常用的文件存取方式,以及实用场景学习,主要学习Sqlite,SD卡文件操作,SharedPreference

    二丶效果演示:

          

         

    三丶功能介绍及主要内容

    1.图一完成创建文件存储在手机内存中并读取删除,文件操作相关知识;

    2.图二完成创建文件存储在手机SD卡中并读取删除,文件操作相关知识;

    3.图三完成Sharedpreference存储用户偏好数据,读取删除数据等操作。可通过不同APP读取,暂不讲加密

    4.图四完成SQLite完成玩家信息增删改查 

    参考博客:

    玩家信息管理(SQLite+Fragment加强)

    以及大神“小猪”博客:http://blog.csdn.net/coder_pig


    四丶代码讲解

    1.文件存储

    主要方法:


    Demo1:

    FileHelper.Java

    /**
     * <pre>
     *     author : JinBiao
     *     CSDN : http://my.csdn.net/DT235201314
     *     time   : 2017/06/11
     *     desc   : 文件协助类
     *              1.文件操作模式:
     *              1.Context.MODE_PRIVATE:私有操作模式,默认模式,代表该文件是私有数据,只能被应用本身访问,
     *              在该模式下,写入的内容会覆盖源文件的内容,如果想把新写入的内容追加到原文件中,可以使用Context.MODE_APPEND
                    2.Context.MODE_APPEND:追加操作模式:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件
                    3.Context.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取。
                    4.Context.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
                    如果希望文件被其他应用读和写,可以传入:
                    openFileOutput("1234.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
                    另外,文件默认放在/data/data//files目录下
                    对于文件的获取,Android中提供了getCacheDir()和getFilesDir()方法:
                    getCacheDir()方法用于获取/data/data//cache目录
                    getFilesDir()方法用于获取/data/data//files目录
     *     version: 1.0
     * </pre>
     */
    
    public class FileHelper {
    
        private Context mContext;
        
        public FileHelper() {
        }
    
        public FileHelper(Context mContext) {
            super();
            this.mContext = mContext;
        }
    
        /**
         * 这里定义的是一个文件保存的方法,写入到文件中,所以是输出流
         **/
        public void save(String filename, String filecontent) throws Exception {
            //这里我们使用私有模式,创建出来的文件只能被本应用访问,还会覆盖原文件哦
            FileOutputStream output = mContext.openFileOutput(filename, Context.MODE_PRIVATE);
            output.write(filecontent.getBytes());  //将String字符串以字节流的形式写入到输出流中
            output.close();         //关闭输出流
        }
    
    
        /**
         * 这里定义的是文件读取的方法
         */
        public String read(String filename) throws IOException {
            //打开文件输入流
            FileInputStream input = mContext.openFileInput(filename);
            byte[] temp = new byte[1024];
            StringBuilder sb = new StringBuilder("");
            int len = 0;
            //读取文件内容:
            while ((len = input.read(temp)) > 0) {
                sb.append(new String(temp, 0, len));
            }
            //关闭输入流
            input.close();
            return sb.toString();
        }
    }
    点击事件操作

       @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.btnclean:
    //                deleteFile(editname.getText().toString());
                    editdetail.setText("");
                    editname.setText("");
                    break;
                case R.id.btnsave:
                    FileHelper fHelper = new FileHelper(mContext);
                    String filename = editname.getText().toString();
                    String filedetail = editdetail.getText().toString();
                    try {
                        fHelper.save(filename, filedetail);
                        Toast.makeText(getApplicationContext(), "数据写入成功", Toast.LENGTH_SHORT).show();
                    } catch (Exception e) {
                        e.printStackTrace();
                        Toast.makeText(getApplicationContext(), "数据写入失败", Toast.LENGTH_SHORT).show();
                    }
                    break;
                case R.id.btnread:
                    String detail = "";
                    FileHelper fHelper2 = new FileHelper(getApplicationContext());
                    try {
                        String fname = editname.getText().toString();
                        detail = fHelper2.read(fname);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    Toast.makeText(getApplicationContext(), detail, Toast.LENGTH_SHORT).show();
                    break;
            }
        }

    Demo2



    读取流程图

    SDFileHelper.Java

    /**
     * <pre>
     *     author : JinBiao
     *     CSDN : http://my.csdn.net/DT235201314
     *     time   : 2017/06/12
     *     desc   : SD卡文件操作协助类
     *     version: 1.0
     * </pre>
     */
    
    public class SDFileHelper {
        private Context context;
    
        public SDFileHelper() {
        }
    
        public SDFileHelper(Context context) {
            super();
            this.context = context;
        }
    
        /**
         * 往SD卡写入文件的方法
         * @param filename
         * @param filecontent
         * @throws Exception
         */
        public void savaFileToSD(String filename, String filecontent) throws Exception {
            //如果手机已插入sd卡,且app具有读写sd卡的权限
            if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
                filename = Environment.getExternalStorageDirectory().getCanonicalPath() + "/" + filename;
                //这里就不要用openFileOutput了,那个是往手机内存中写数据的
                FileOutputStream output = new FileOutputStream(filename);
                output.write(filecontent.getBytes());
                //将String字符串以字节流的形式写入到输出流中
                output.close();
                //关闭输出流
            } else Toast.makeText(context, "SD卡不存在或者不可读写", Toast.LENGTH_SHORT).show();
        }
    
        /**
         * 读取SD卡中文件的方法
         * @param filename
         * @return
         * @throws IOException
         */
        public String readFromSD(String filename) throws IOException {
            StringBuilder sb = new StringBuilder("");
            if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
                filename = Environment.getExternalStorageDirectory().getCanonicalPath() + "/" + filename;
                //打开文件输入流
                FileInputStream input = new FileInputStream(filename);
                byte[] temp = new byte[1024];
                int len = 0;
                //读取文件内容:
                while ((len = input.read(temp)) > 0) {
                    sb.append(new String(temp, 0, len));
                }
                //关闭输入流
                input.close();
            }
            return sb.toString();
        }
    点击事件操作:

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btnclean:
                editdetail.setText("");
                editname.setText("");
                break;
            case R.id.btnsave:
                String filename = editname.getText().toString();
                String filedetail = editdetail.getText().toString();
                SDFileHelper sdHelper = new SDFileHelper(mContext);
                try {
                    sdHelper.savaFileToSD(filename, filedetail);
                    Toast.makeText(getApplicationContext(), "数据写入成功", Toast.LENGTH_SHORT).show();
                } catch (Exception e) {
                    e.printStackTrace();
                    Toast.makeText(getApplicationContext(), "数据写入失败", Toast.LENGTH_SHORT).show();
                }
                break;
            case R.id.btnread:
                String detail = "";
                SDFileHelper sdHelper2 = new SDFileHelper(mContext);
                try {
                    String filename2 = editname.getText().toString();
                    detail = sdHelper2.readFromSD(filename2);
                } catch (IOException e) {
                    e.printStackTrace();
                }
                Toast.makeText(getApplicationContext(), detail, Toast.LENGTH_SHORT).show();
                break;
        }
    }

    读写权限:

    <!-- 在SDCard中创建与删除文件权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <!-- 往SDCard写入数据权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    Demo3


    SharePreference

    使用流程图

    SharedPreference是以xml map键值对形式保存文件

    SharedHelper.java

    /**
     * <pre>
     *     author : JinBiao
     *     CSDN : http://my.csdn.net/DT235201314
     *     time   : 2017/06/12
     *     desc   : SharedPreferences数据存储协助类
     *              map键值对形式保存文件
     *     version: 1.0
     * </pre>
     */
    
    public class SharedHelper {
        private Context mContext;
    
        public SharedHelper() {
        }
    
        public SharedHelper(Context mContext) {
            this.mContext = mContext;
        }
    
        /**
         * 定义一个保存数据的方法
         * @param username
         * @param passwd
         */
        public void save(String username, String passwd) {
            SharedPreferences sp = mContext.getSharedPreferences("my_sp", Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sp.edit();
            editor.putString("username", username);
            editor.putString("passwd", passwd);
            editor.commit();
            Toast.makeText(mContext, "信息已写入SharedPreference中", Toast.LENGTH_SHORT).show();
        }
    
        /**
         * 定义一个读取SP文件的方法
         * @return
         */
        public Map<String, String> read() {
            Map<String, String> data = new HashMap<String, String>();
            SharedPreferences sp = mContext.getSharedPreferences("my_sp", Context.MODE_PRIVATE);
            data.put("username", sp.getString("username", ""));
            data.put("passwd", sp.getString("passwd", ""));
            return data;
        }
    }

    SharedPreferenceActivity:

    public class SharedPreferenceActivity extends Activity {
        private EditText editname;
        private EditText editpasswd;
        private Button btnlogin,btnshow,button_clear;
        private String strname;
        private String strpasswd;
        private SharedHelper sh;
        private Context mContext;
        private SharedPreferences sp;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.shared_preference_activity);
            mContext = getApplicationContext();
            sh = new SharedHelper(mContext);
            intViews();
        }
    
        private void intViews() {
            editname = (EditText)findViewById(R.id.editname);
            editpasswd = (EditText)findViewById(R.id.editpasswd);
            button_clear = (Button)findViewById(R.id.button_clear);
            btnshow = (Button)findViewById(R.id.buttonshow);
            btnlogin = (Button)findViewById(R.id.btnlogin);
            btnlogin.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    strname = editname.getText().toString();
                    strpasswd = editpasswd.getText().toString();
                    sh.save(strname,strpasswd);
                }
            });
    
            btnshow.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //获得第一个应用的包名,从而获得对应的Context,需要对异常进行捕获
                    try {
                        mContext = createPackageContext("com.example.jinboy.codertodeveloperbytcler.java_demo.appdemo.ui.androiddemo"
                                , Context.CONTEXT_IGNORE_SECURITY);
                    } catch (PackageManager.NameNotFoundException e) {
                        e.printStackTrace();
                    }
                    //根据Context取得对应的SharedPreferences
                    sp = mContext.getSharedPreferences("my_sp", Context.MODE_WORLD_READABLE);
                    String name = sp.getString("username", "");
                    String passwd = sp.getString("passwd", "");
                    Toast.makeText(getApplicationContext(), "Demo1的SharedPreference存的\n用户名为:" +
                            name + "\n密码为:" + passwd, Toast.LENGTH_SHORT).show();
                }
            });
    
            button_clear.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    SPUtils.clear(mContext);
                    Toast.makeText(getApplicationContext(), "已删除保存信息" , Toast.LENGTH_SHORT).show();
                }
            });
        }
    
    
        @Override
        protected void onStart() {
            super.onStart();
            Map<String,String> data = sh.read();
            editname.setText(data.get("username"));
            editpasswd.setText(data.get("passwd"));
        }
    }
    
    SharedPreference工具类

    /**
     * <pre>
     *     author : JinBiao
     *     CSDN : http://my.csdn.net/DT235201314
     *     time   : 2017/06/12
     *     desc   : SharedPreference工具类
     *     version: 1.0
     * </pre>
     */
    
    public class SPUtils {
    
        /**
         * 保存在手机里的SP文件名
         */
        public static final String FILE_NAME = "my_sp";
    
        /**
         * 保存数据
         */
        public static void put(Context context, String key, Object obj) {
            SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sp.edit();
            if (obj instanceof Boolean) {
                editor.putBoolean(key, (Boolean) obj);
            } else if (obj instanceof Float) {
                editor.putFloat(key, (Float) obj);
            } else if (obj instanceof Integer) {
                editor.putInt(key, (Integer) obj);
            } else if (obj instanceof Long) {
                editor.putLong(key, (Long) obj);
            } else {
                editor.putString(key, (String) obj);
            }
            editor.commit();
        }
    
    
        /**
         * 获取指定数据
         */
        public static Object get(Context context, String key, Object defaultObj) {
            SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
            if (defaultObj instanceof Boolean) {
                return sp.getBoolean(key, (Boolean) defaultObj);
            } else if (defaultObj instanceof Float) {
                return sp.getFloat(key, (Float) defaultObj);
            } else if (defaultObj instanceof Integer) {
                return sp.getInt(key, (Integer) defaultObj);
            } else if (defaultObj instanceof Long) {
                return sp.getLong(key, (Long) defaultObj);
            } else if (defaultObj instanceof String) {
                return sp.getString(key, (String) defaultObj);
            }
            return null;
        }
    
        /**
         * 删除指定数据
         */
        public static void remove(Context context, String key) {
            SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sp.edit();
            editor.remove(key);
            editor.commit();
        }
    
    
        /**
         * 返回所有键值对
         */
        public static Map<String, ?> getAll(Context context) {
            SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
            Map<String, ?> map = sp.getAll();
            return map;
        }
    
        /**
         * 删除所有数据
         */
        public static void clear(Context context) {
            SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sp.edit();
            editor.clear();
            editor.commit();
        }
    
        /**
         * 检查key对应的数据是否存在
         */
        public static boolean contains(Context context, String key) {
            SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
            return sp.contains(key);
        }
    }

    demo4:

    代码详解参考:

    扣丁学堂——SQLite

    玩家信息管理(SQLite+Fragment加强)

    Android基础入门教程——6.3.1 数据存储与访问之——初见SQLite数据库

    ContentProvider目前不做详解文章代码参考:

    扣丁学堂——ContentProvide

    Android基础入门教程——4.4.1 ContentProvider初探 

    Android基础入门教程——4.4.2 ContentProvider再探——Ducument Provider

    Android深入四大组件(五)Content Provider的启动过程



    五丶文件存储运用场景:

    1.文件操作不能用于其他应用,一般用于图片文件的保存;

    2.SharedPreference一般用于用户信息储存,能与其他应用共享数据,一般结合加密使用,如实现免登陆等操作;

    3.SQLite轻量级数据库,数据可共享,一般用于结构化数据存储,例如前面文章提到的日记本开发,结构化数据又提供增删改查功能;

    4.ContentProvider以提供公用url使数据数据在不同app中共享,例如视频音频图片通讯录等





    展开全文
  • 访问本地内存存储卡

    千次阅读 2012-03-24 12:24:23
    存储卡剩余多少容量 Environment+StatFs Environment:提供对环境变量的访问(获取数据目录,下载缓存目录,根目录,外部存储目录,外部存储状态) StatFs:获取文件系统空间的整体信息。 StatFs(String path) ...
  • 该RTMP摄像头支持语音对讲、主动推流,虽然摄像头没有自行存储的功能,但是可以通过插入TF内存卡,对视频进行主动录制存储。 本文讲一下如何开启摄像头的插卡存储功能。 1、从摄像头底部插入TF内存卡,随后进入...
  • 代码 。。。。修改手机下载存储默认首选为:SD内存卡 请教。
  • AndroidStudio——数据存储之SD卡存储

    千次阅读 2016-08-15 14:00:38
    AndroidStudio——数据存储之SD卡存储
  • 安卓手机合并内存卡到内置存储

    千次阅读 2021-01-19 12:57:50
    其它设置-开发者选项-强制允许将应用写入外部存储 打开 2:如果上述已经打开,把app移动到sd后提示存储空间不足 出现这种情况可能是把sd分区没有分区好:重新连接手机到电脑,重新运行上诉第2个步骤的2.1,2.2,...
  • android的SP存储和SD卡存储

    千次阅读 2019-06-17 15:13:21
    在android中有着很多的存储方式,例如数据库存储,SD卡存储以及SharedPreferences(以下简称SP)等,下面我们来主要的讲解一下SP以及SD卡存储。 首先是SP,SP存储是一个采用Key/Value(键值对)进行存储轻量级数据的...
  • 一、获取外置内存卡路径该段代码在荣耀1和盖世4机型上测试通过,我们可以获得外置存储卡的路径。/** * 是否存在外置内存卡,如果存在则返回外置内存卡路径 * @return 外置存储卡路径 */ public static List...
  • * 住手机内存卡存储 用户名与密码的操作 * * */ public boolean saveToRom(String name,String pass,String fileName){ //上下文对象的api try { //通过 openFileOutput()方法获取一个文件...
  • 最近在给一个应用里面做一个内置的文件管理器,期间遇到一个问题,就是选择不同手机的sd卡存储和手机本身存储。可以在两者之间来回切换,经过一系列测试发现,现在的很多手机厂家定制的手机内存和sd卡内存的路径都...
  • 手机内存ROM和内存卡的区别不是很大,但是在读和存信息的时候,手机内存速度快,手机很少出现卡机问题。 手机内置存储卡是运行内存(保持足够大的空间对手机运行有很大好处),内置存储卡是程序存储
  • 本质是在读写文件,数据多的话会比较(firefox会一次性将数据导入内存) 不能被爬虫爬取,不要用它完全取代URL传参 IE7及以下不支持外,其他标准浏览器都完全支持 SessionStorage 针对一个 s...
  • SD卡存储结构

    千次阅读 2016-12-30 09:10:31
    SDFAT32文件系统/*****************************************************************************************************************************************************************************一 通用...
  • android开发关于和使用本机内存,内置存储卡和外置存储卡 -----------------------------------------------------------------------------------------------------------------------------------------------...
  • HAL库 DMA方式实现用SD卡存储.csv文件 采用SD来存储设备的一些实时运行信息,用.csv文件格式来做存储,方便管理和后续的数据分析处理~~
  • 本人2020年2月27日于京东购买的海信A5 32G存储 没有签到返利 1:mac需要安装adb工具 首先需要打开Mac的终端 1.1:安装homebrew:在终端中输入以下代码回车 ruby -e “$(curl -fsSL ...
  • /** 得到系统可用内存 **/ @SuppressLint("NewApi") private String getMemFree(){ StatFs fs = new StatFs(Environment.getDataDirectory().getPath()); return Formatter.formatFileSize(this, (fs....
  • 我用的正点原子的例程 但是我在数据处理上遇到了问题 我该如何存到sd中呢?需不需要先把数据存到一个数组里面然后对数组数据进行编码,然后把编码后的文件存到sd中,搞不懂这个数据处理过程,有没有做过的小伙伴...
  • Android存储卡

    千次阅读 2014-10-18 22:20:02
    首先,操作SD系列
  • Wince程序内存存储内存

    千次阅读 2010-11-29 13:16:00
    先说这几部分的名字,对象存储, 系统内存,程序内存. 准确来讲,应该用下面公式说明Wince内存 = 系统内存 + (对象存储 + 程序内存).这里德内存也就是我们平时说的SDRAM,而我们的平台用的64M的SDRAM。  在...
  • 1,获取内置存储和外置SD的方法类 /** * 获取外置SD路径 * * 返回的数据:paths.get(0)肯定是外置SD的位置,因为它是primary external storage. * * @return 所有可用于存储的不同的卡的位置,用一个...
  • 存储

    千次阅读 2019-05-14 21:43:33
    获取数据二、文件存储 内部存储+SD卡存储三、SD卡存储四、SD卡读取五、三级存储1.网络获取2.SD卡读取与写入3.内存的获取与写入3.主类中判断 一、SharedPreferences 1.存储数据 步骤1:得到SharedPreferences对象 ...
  • 2G和16G同时出现在一个手机中,2G是指运行内存,16G是指存储内存。手机的内存,分两种,一个是存储内存,相当于电脑的硬盘,一般手机参数里超过4G的都是指这个。存储内存是可以扩展的。如果手机支持插卡就可以扩展。...
  • 一般市面上最常见的存储卡分为两种,SD和TF。小众一些的CF,记忆棒之类的,这篇文章不做讨论。 最常见的,也是部分同学的手机上会装有的存储卡,叫做TF,全称是TransFLash,也叫做micro SD,意思是微型SD...
  • android系统自从升级到2.3以后,多一个功能,可以判断存储卡是否是可以卸载的。Environment.isExternalStorageRemovable(),通过此方法我们可以知道手机上的存储卡是手机自带的还是外边可插拔的SD,当然此种情况是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 203,935
精华内容 81,574
关键字:

怎么设置内存卡存储