android 存储代码,android 数据存储(示例代码)

synchronized(同步):当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。

一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。

二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。

三、尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。

四、第三个例子同样适用其它同步代码块。也就是说,当一个线程访问object的一个synchronized(this)同步代码块时,它就获得了这个object的对象锁。结果,其它线程对该object对象所有同步代码部分的访问都被暂时阻塞。

五、以上规则对其它对象锁同样适用.

生产随机数: float f = Math.random(); //{o,1)之间

Random random = new Random();int i = random.nextInt(100);//[0,100)之间

轻量级存储工具:

sharedPreferences :保存在手机里面,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml

保存基于XML文件存储的key-value键值对数据

sharedPreferences = Context(Activity).getSharedPreferences(String name, int mode);//若文件不存在,则新建

调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享

调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用,这个就是Activity和Context的区别。

mode:

MODE_PRIVATE :只能是建立文件的程序可以访问

MODE_APPEND :检查文件,文件存在则在文件的末尾添加,不存在则建立文件并在里面添加内

MODE_WORLD_READABLE :所有程序都可以访问文件但是不能更改

MODE_WORLD_WRITEABLE :所有程序都可以改变文件的内容

Editor edit = sharedPreferences.edit();edit.putInt(key, value);...

edit.commit();//edit.appiy();

提交方式有两种:

commit(同步),apply(异步).

区别:(1)commit 是直接将数据存到硬盘中的,而 apply 是将数据传到内存中,继而异步到磁盘中,

如果有多个commit 并发提交数据的时候,只能排队一次提交,这样大大降低了效率;

(2)commit 会返回信息,但是 apply 不会给出任何提示信息,就算保存失败也不会提示。

sqlite: 轻量级数据库

String dbName = "test.db";

SQLiteOpenHelper helper = new SQLiteOpenHelper(context, dbName, cursorfactory, version) {

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL("create table if not exists "+ tableName+"(Id integer primary key, Record text, OrderPrice integer, Country text)");

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL("drop table if exists "+ tableName);

onCreate(db);

}

};

SQLiteDatabase database = helper.getWritableDatabase();

database.beginTransaction();

//数据库操作增删改查

database.endTransaction();

database.close();

ormlite框架:

一、bean类,数据对象实例化

二、写Helper类,继承OrmLiteSqliteHelper类(在此类中完成的功能有:创建数据库 db, 新建数据表 table,以及版本更新时建表)

三、Dao类,可用BaseDao,对数据对象的增删改查操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值