getPreferences,getSharedPreferences,getDefaultSharedPreferences的区别



getPreferences(mode)

SharedPreferences android.app.Activity.getPreferences(int mode);通过Activity对象获取,获取的是Activity私有的Preference,保存在系统中的xml文件以Activity的类名命名,所以一个Activity只有一个与之相关的Preference文件。

getSharedPreferences(name, mode)

SharedPreferences android.content.ContextWrapper.getSharedPreferences(String name, int mode),通过content的静态内部类ContextWrapper获得,属于整个应用程序,以第一个参数name命名xml文件保存在系统中,因此可以有多个。

getDefaultSharedPreferences(context)

SharedPreferences android.preference.PreferenceManager.getDefaultSharedPreferences(Context context),通过PreferenceManager获得,保存PreferenceActivity的设置,属于整个应用程序,但是只有一个,Android根据包命和PreferenceActivity的布局文件来命名xml文件

1.【单选题】 (1分) 下列选项中,不属于getSharedPreferences()方法中的文件操作模式参数的是( )。 A. Context.MODE_PRIVATE B. Context.MODE_PUBLIC C. Context.MODE_WORLD_READABLE D. Context.MODE_WORLD_WRITEABLE 2.【单选题】 (1分) 下列关于初始化SharedPreferences类的代码正确的是( )。 A. SharedPreferences sp = new SharedPreferences(); B. SharedPreferences sp = SharedPreferences.getDefault(); C. SharedPreferences sp = SharedPreferences.Factory(); D. SharedPreferences sp = getSharedPreferences(); 3.【单选题】 (1分) 下列方法中,用于获取SharedPreferences类中的编辑器的方法是( )。 A. getEdit() B. edit() C. setEdit() D. getAll() 4.【单选题】 (1分) 关于 SQLite 事务(Transaction)的作用,以下描述错误的是?()‌ A. 保证操作的原子性 B. 提升批量操作的性能 C. 允许多线程同时写入数据 D. 支持数据回滚‌ 5.【单选题】 (1分) 下列关于SQLite数据库的描述中,错误的是( )。 A. SqliteOpenHelper类有创建数据库和更新数据库版本的功能 B. SqliteDatabase类是用来操作数据库的 C. 每次调用SqliteDatabase的getWritableDatabase()方法时,都会执行SqliteOpenHelper类的onCreate()方法 D. 当数据库版本发生变化时,会调用SqliteOpenHelper类的onUpgrade()方法更新数据库 6.【单选题】 (1分) ‌以下哪种场景适合使用文件存储?( )‌ A. 保存用户登录 Token B. 缓存图片或音视频文件 C. 存储复杂的关系型数据 D. 跨应用共享数据 7.【单选题】 (1分) 下列关于SharedPreferences存取文件的描述错误的是( ) 。 A. 属于移动存储解决方式 B. SharedPreferences处理的就是key-value对 C. 读取xml的路径是/sdcard/shared_prefs D. 文本的保存格式是xml 8.【单选题】 (1分) 下列选项中,可以对Android数据库中的表进行查询操作的方法是( )。 A. insert() B. execSQL() C. query() D. update() 9.【判断题】 (1分) SQLite是Android自带的一个轻量级的数据库,支持基本SQL语法。( ) 10.【判断题】 (1分) 使用openFileOutput()方式打开应用程序的输出流时,只需要指定文件名。( ) 11.【判断题】 (1分) SQLite数据库的事务操作满足原子性、一致性、隔离性和持续性。( ) 12.【判断题】 (1分) SQLiteDatabase类的update()方法用于删除数据表中的数据。( ) 13.【填空题】 (4分) 通过张三与王五取钱和存钱的例子,使用SQLite的事务模拟银行转账功能,补全代码 PersonSQLiteOpenHelper helper = new PersonsQLiteOpenHelper (getApplication()); SQLiteDatabase db = helper.getWritableDatabase(); db.________; //开启数据库事务 try{ db.execSQL("update person set account = account-1000 where name =?", new Object[] { "张k" }); db.execsQL("update information set account = account +1000 where name =?", new Object! {"王五”}); db.setTransactionSuccessful(); }catch (Exception e){ Logi("事务处理失败",e.toString()); }finally { db.endTransaction(): __________//关闭数据库 } 14.【填空题】 (4分) 使用SharedPreferences类存储数据,补全代码 SharedPreferences sp = getSharedPreferences(“data”,MODE_PRIVATE) SharedPreferences.Editor editoreditorputString("name","张三”); editor.putlnt("age", 8); editor._______;
最新发布
03-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值