学习Android官方文档(三)
1、SharedPreferences的作用域
您可以通过调用以下两种方法之一创建新的共享首选项文件或访问现有的文件:
(1)getSharedPreferences(String name, int mode)—保存的数据会单独存储到指定name 的文件中,因此可以共享到当前整个应用。您可以从您的应用中的任何Context调用此方法。
虽然MODE_WORLD_READABLE和MODE_WORLD_WRITABLE起初是可以将数据共享给其他应用的,但是API 17 以上版本已经禁止使用了。
(2)getPreferences(int mode)— 这样保存的数据仅供当前Activity共享。
2、应用数据所在内部存储器的目录结构
应用数据保存在/data/...(中间有几层不太清楚,不知是否不同手机层次不同)/应用包名,这个目录下,其下结构为
可以通过Context.getFileDir()获取到files这个目录,还有其他getCacheDir(),getDataDir()(API 24+)等等。
3、内部存储器的读写
(1)写入到内部存储:
使用文件名称和操作模式调用openFileOutput(String name , int mode)。 这将返回一个FileOutputStream。
(2)从内部存储读取文件:调用openFileInput(String name)并向其传递要读取的文件名称。 这将返回一个FileInputStream。
以上都是对files目录(见2中目录结构)下的文件进行操作。
4、外部存储器
尽管外部存储可被用户和其他应用进行修改,但您可在此处保存两类文件:
(1)公共文件:应供其他应用和用户自由使用的文件。 当用户卸载您的应用时,用户应仍可以使用这些文件。例如,您的应用拍摄的照片或其他已下载的文件。
(2)私有文件:属于您的应用且在用户卸载您的应用时应予删除的文件。 尽管这些文件在技术上可被用户和其他应用访问(因为它们存储在外部存储中), 但它们实际上不向您的应用之外的用户提供任何输出值。 当用户卸载您的应用时,系统会删除应用外部私有目录中的所有文件。例如,您的应用下载的其他资源或临时介质文件。
如果您要将公共文件保存在外部存储设备上,请使用getExternalStoragePublicDirectory(String type)方法获取表示外部存储设备上相应目录的File。 Type可以是DIRECTORY_MUSIC,DIRECTORY_PICTURES,DIRECTORY_MOVIES,DIRECTORY_DOWNLOADS,DIRECTORY_DCIM等。
如果您要保存您的应用专用文件,您可以通过调用getExternalFilesDir(String type)并向其传递指示您想要的目录类型的名称,从而获取相应的目录。如果传入null,返回您的应用的专用目录的根目录。即/storage/emulated/0/Android/data/应用包名/files。
5、删除文件
6、系统Intent动作(Action)类型
(1)Intent.ACTION_DIAL:拨好号码,等用户来发起通话,Uri格式:“tel:+phone number”
(2)Intent.ACTION_CALL:直接拨打电话,Uri格式:“tel:+phone number”
(3)Intent.ACTION_PICK