前两天用sharedpreference实现了保存用户历史信息,当用户再次登录的时候在autocompletetextview(仿google搜索自动提示框)中显示历史用户信息。
这次用户信息是通过xml保存的,其中比较中要的包括了xml数据的生成和xml数据的解析,以及生成apk私有数据。
xml数据生成:在将用户信息保存成xml数据前,我们应该先了解一个非常重要的类xmlserializer,这个类帮助我们将需要保存成xml数据的信息进行序列化。
代码
将字串保存为apk的私有文件
xml数据解析
由于使用dom方法需要将整个xml文档加载内存中,对系统资源占用比较多,这对内存比较紧张的android系统来说,使用dom方法读取xml文档会有很大的限制。
所以使用sax方法读取xml,以减少对内存资源的占用。
使用sax解析xml数据其实很简单,无非就是几个过程,startdocument——startelement——character——endelement——enddocument
startdocument:开始解析xml数据,如果处理的数据很多,在这里实例化一个list对象。
startelement:节点元素数据的处理,获取节点元素的属性值,往往在这里对抽象化的对象进行实例化如一个用户的信息userinfo
user
character:获得杰点元素的内容,在这里专门获得没有属性节点的内容,如<name>cbin</name>
endelement:一个节点的结束,也就相当于一个用户信息的解析完毕,在这里将user添加到list中
enddocument:xml数据解析结束
表示层与sharedpreferences中实现用户登录大同小异,无非是一个登录的逻辑处理
1、加载页面时,加载xml中数据,将用户名列表绑定autocompletetextview
2、假若从act中选定数据,根据用户名查找密码等信息绑定et、ck;
3、登录成功,是新用户直接添加,老用户删除原有记录,重新记录用户信息。