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中调用

上述两个需要试验验证

原文地址:https://www.cnblogs.com/ianthe/p/3726163.html