Android学习拾遗
1. java中的flush()作用:强制将输出流缓冲区的数据送出。
2. 文件存储:
存储到内部:另外使用一个class实现,最开始初始化用了this,后来放在这里不合适,改成了带参数的构造方法。
包括存储、读取、追加
读取:除了使用setxxx方法外,出于安全考虑,使用Google API SharedPreferre直接保存数据,下一次还可以直接提取。这个接口要和editor一起用,必须editor.commit(),这是为了防止输入name是OK的,输入pwd时候异常了,保证整个过程是一个事务,一起提交。(java web也这么玩)。这个接口存储的格式是xml,就是到处可见的shared_perfs.xml啊!!!获取xml文件中的内容,sp.getBoolean(key,value);原来在xml文件里存放的是<map>方式,即键值对!
外部:在清单文件中加入写入到sd卡权限。tips:如何获取sdcard size?environment类里面没提供方法,我们知道settings里面可以获取,因此下载Android源码,导入settings包,从中文“总容量”搜索,依次找到实现方法:就是getblocksize*totalblockcount
3. 上下文 context 是个好东西,最好在构造方法里面定义
4. xml的解析与生成
5. sqlite
--dbopenhelper getwritabledatabase;getreadabledatabase;db.execSQL("sql语句,变量名用占位符,防止单引号等匹配问题出现",new Object[]{name,hpne,xxx})
第一步:得到可读或者可写db
第二步“是否open
第三步:exec 增删改
--cursor用完要释放;db open完毕要关闭
write db时,要枷锁,直到write完毕;
read不需要枷锁
Android下使用事务:
1. open 数据库事务
2. 执行sql语句
3. 设置事务状态
4. 提交数据 true 提交数据false 回滚
6. 屏幕转向的时候,输入的内容神码的,不会重新开始,需要在manifest文件中加入这句话
<activity
android:configChanges=" keyboardHidden|orientation" />
同时为了保存用户状态,需要重写onSaveInstanceState(Bundle outState)方法,作用是当Activity被销毁时候,可以把用户信息存储到bundle对象里。这个方法在Activity被异常回收时执行。这个方法需要在onCreate中调用
上述两个需要试验验证