Android Smart Dict - 单词导入 - 文件浏览器
来源:互联网 发布:php json null 编辑:程序博客网 时间:2024/04/30 03:21
搞定了数据库之后,我要想办法把单词导入进来。怎么做呢?首先找到我要导入的文件,然后导入单词。
我做了一个简单的文件浏览器,可以去sdcard里面找我需要导入的文件。我需要自己定义一种词库的文件格式和后缀名,这个不重要,目前我只需要简单的定义就好,后面再做优化。后缀名就定为“.dict",那么首先需要搞定这个文件浏览器。当然我可以用Grid View来显示文件,就像home界面的桌面一样。用户点击文件夹后进入下一级文件目录,点击文件之后判断是否是".dict"结尾的文件,如果是就加载,否则不予处理,或者显示提示信息。
这里有一个重要的问题就是,我们在读取文件的时候不能在UI主线程里边做,这样有可能会阻塞进而导致讨厌的ANR被弹出来。我们可以自定义新的线程,当然也可以使用AsyncTask来做。我这里就用android系统的AsyncTask来做,定义一个task名叫LoadFileInfoTask,主要就是用来读取文件,取得文件信息,封装成一个定义好的FileInfo类,里面只有三个属性,文件名,路径和图片,如果是我们的词库文件就显示词库图片,依次类推。最后要注意一点,execute这个AsyncTask需要在UI线程里边来做,否则会抛异常。
具体代码如下:
有了这个task,我们就可以在每次点击文件夹以后运行这个task取得下一级路径的文件信息。
然后,定义一个grid view,用来显示文件信息。还有相应的Adapter,每次显示的时候更新数据。
代码如下:
好了,今天主要的两个东西就是:
LoadFileInfoTask:主要用来取得文件信息。
GridView:主要用来显示文件信息,获得用户的点击之后判断是否显示下一级目录,或者加载文件。
来看看运行效果:
- Android Smart Dict - 单词导入 - 文件浏览器
- Android Smart Dict - 单词导入 - 词汇表解析
- Android Smart Dict - 显示单词详细内容
- Android Smart Dict - 开篇
- Android Smart-Dict - 创建工程
- Android Smart Dict - 数据库设计
- Android Smart Dict - 查询界面
- Android Smart Dict - 关于功能的思考
- 超越浏览器 迎接Smart Client
- 根据浏览器导入不同css文件
- Android文件浏览器
- android文件浏览器
- 自制Android 文件浏览器
- Android之文件浏览器
- android 文件浏览器实现
- Android文件浏览器
- Android 编写文件浏览器
- android文件导入错误
- VS 使用swig 教程
- VS(2008、2010)添加INCLUDE和lib
- Linux基础(1)-RPM命令
- java做一个电子商城 想用strut技术 求开发配置文件
- C语言实例 爱因斯坦的数学题
- Android Smart Dict - 单词导入 - 文件浏览器
- UDP传输文件总结1
- 在socket中用http代理访问网页的关键问题
- 使用cnvcl中的TCnIp提取IP段
- Visual Studio使用小技巧2 – 使用任务列表(task list) - 补充
- jqGrid分页技术学习(一)jqGrid环境准备
- jqGrid分页技术学习(二)spring环境准备
- C++中的强制类型转换
- jqGrid分页技术学习(三)spring jdbc 通用DAO——添加一条记录