android存储/数据操作
2015-12-14 23:01
363 查看
最近在学android,发现前面学了,等学完下一个点就忘光了记录下,方便查找1.SharedPreferences存储方式xml格式保存,适合配置数据保存使用:Context、ContextWrapper类中提供getSharedPreferences(String name, int mode),默认保存位置:data/data/*对应app*/shared_prefs/*xml_name*name:xml文件名mode:文件权限* MODE_PRIVATE:默认,只能本应用读写 *MODE_WORLD_READABLE:能被其他应用读,不能写 *MODE_WORLD_WRITEABLE:能被其他应用读、写存储Editor = getSharedPreferenc().edit()//返回Editor对象Editor .put*Type*(“nodeName”,value)//存储对应数据Editor.clear()Editor.remove(string key)editor.commit()获取getSharedPreferences(**,**).get*Type*("nodeName",defalueValue)getDefaultSharedPreferences: 实际与getSharedPreferences相同,默认了一个xmlnamepublic static SharedPreferences getDefaultSharedPreferences(Context context) { return context.getSharedPreferences(getDefaultSharedPreferencesName(context), getDefaultSharedPreferencesMode());// Context.MODE_PRIVATE }2.文件存储使用io流操作文件FileInputStream 输入 FileOutputStream输出 位置 app_name/files/file_name参数name:文件名mode:打开模式,MODE_PRIVATE:默认只能本应用读写 覆盖内容MODE_APPEND:追加模式 只能本应用读写MODE_WORLD_READABLE:其他应用可读MODE_WORLD_WRITEABLE:其他应用可写读取sdcard文件:需要AndroidManifest.xml中加入sd卡权限<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>1.获得sdcard状态:Environment.getExternalStorageState()equal(MEDIA_MOUNTED);具有读写权限MEDIA_MOUNTED_READ_ONLY:只读sd卡目录:Environment.getExternalStorageDirectory()3.sqlite存储数据SQLite3的数据引擎可使用原生sql语言,封装了一些操作SQLiteDatabasedb = Context.OpenCreateDateBase(“sql_name”,mode,factory);//打开创建数据库db.execSQL(sql);//
insert,update,delete有封装使用SQLiteOpenHelper4.ContentProvider:跨应用数据操作在AndroidManifest.xml中声明
<applicaytion>
<provide android:name="provider_name" android:authorities="..."
</application>
使用继承ContentProvider,并重载其delete()、insert()、query()、update()、getType()、onCreate()方法
其他应用获取数据:
用Context获取到当前的ContentResolver,根据Uri地址和ContentResolver的query方法获取A程序的数据。Uri地址和A程序中AndroidManifest.xml定义的autorities要一致。
5.网络存储
权限<uses-permission android:name="android.permission.INTERNET" />
从网络中获取数据
URL uri = new URL(‘。。。’); URLConnection uConnection = uri.openConnection(); InputStream is = uConnection.getInputStream();
//InputStream操作获取。。参考的链接:Android数据存储五种方式总结:http://www.cnblogs.com/ITtangtang/p/3920916.html[Android]Android数据的四种存储方式:http://www.cnblogs.com/rond/p/3553156.htmlcontentprovider的学习实例总结:http://www.cnblogs.com/chenglong/articles/1892029.htmlANDROID开发之SQLite详解:http://www.cnblogs.com/Excellent/archive/2011/11/19/2254888.html
相关文章推荐
- Android笔记:ListView 显示(数据变化后滚动到)最底部。
- 【Android】编程检查服务是否可用, service available programmally
- Android动画之3D翻转效果实现函数分析
- Mars老师的Android学习基本路线
- 在Ubuntu-14.04.3配置并成功编译Android6_r1源码
- Android之NDK搭建
- Jenkins构建Android项目持续集成之单元测试及代码覆盖率
- Android:通知随记1
- Android:Sqlite 常见两个类SQLiteOpenHelper,SQLiteDatabase 随记
- Android内存优化(使用SparseArray和ArrayMap代替HashMap)
- Android:Fragment+ViewPager+FragmentPagerAdapter
- 【Android】在浏览器中打开url链接,打开Service,复习IntDef
- Android Studio 常用快捷键
- Android:FragmentTransaction的commit 和addToBackStack的方法随记
- Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
- android volley通信框架解析
- android小技巧
- Android:菜单随记
- Android:Fragment 初步之旅 随记一
- Android学习笔记——SwipeRefreshLayout 官方下拉刷新控件介绍