该项目已经进一步被优化, 链接在此, 谢谢关注


利用开源的词典API,开发了一款Android的词典,采用的是Dict.cn的Open API接口,


【注意: 这个接口已经被不能使用, 网络搜索:爱词霸 API】

基本的原理: 发送单词请求到dict.cn上. http://dict.cn/ws.php?q=word

word表示你要查询的单词, 比如要查询hello的话,像Dict.cn发送请求http://dict.cn/ws.php?q=hello, 则dict.cn的服务器将

返回一段xml,里面有注释,例句,音标等。 所以,开发起来相当简单。

这里我采用了GAE(Google Application Engine)的服务器, 客户端的请求通过我的GAE服务器,然后再向Dict.cn发出请求。

具体的实现,看代码就行了.

主要难点是:

1. android对xml的解析

2. Layout排布

3. 重力感应事件

不过值得借鉴的思想是,通过向云端发送请求, 得到数据显示到客户机的思想, 应该在以后大行其道。所以这个应用,还是比较

有指导意义的。

顺便唱衰一下b/s端的应用, 觉得Brower很难搞定所有的客户端需求, 向开心农场之类的游戏, 大量的资源文件需要下载到本地,

还能称为纯粹意义上的B/S应用吗?

源代码请到下面下载:

http://download.csdn.net/source/1716487

后期发展成一个开源的项目, 主要实现以下功能:

1. 支持在线搜索, 并保存到数据库,这部分涉及到SQLite的知识, 可以从中窥探到嵌入式数据库的一个小面。

2. 保存到数据库后,单词不需要从网络下载,从而可以支持离线查询。 并可以回顾查询单词。并支持单词记忆等级划分,因为查询的单词,大多是用户感兴趣的单词,工具可以学习用户的记忆模型,从而帮助单词记忆。

3. 支持外部工具的导入,可以通过工具将xml格式的单词,导入数据库,这样根本不需要在线搜索单词。 同时也支持单词从工具中导出。

目前第一个功能已经实现,第二个功能部分实现。 第三个功能正在筹划。

第二个版本的代码下载地址:

http://download.csdn.net/source/2288196

基本功能演示:

输入, 按“查询”按钮查询, 出现“请稍后的查询框”表示在线查询

在线查询的的结果

点击"收藏" 则该此条被收藏起来,下次查询的时候, 直接从本地查询, 这样可以离线了!

回顾工具可以看到目前保存的单词, 仅仅显示十条结果.

输入框中,可以输入,从而查到需要的单词,点击单词则可以看到单词的含义.

弹出框能弹出单词的含义.

后续将实现收藏的单词归类的.

从而形成一个自己需要的自定义词典。 最快捷的找到最需要的单词.

补充: 如果道上的朋友想往APP方面发展, 请关注一下两个方向:

1. Server端的建立, 务必要有自己的Sever端, 很多独立的个人APP, 利用第三方的API建立了自己的应用, 最后当这些第三方推行自己的APP时, 个人应用直接被扼杀。 另外, 当服务端的API更新, 将带来灾难性的后果。

2. 智能终端Client技术, Android的学习成本非常小, 仅仅四个组件需要学习, 很快会被后来的竞争者追上, 所以建议往底层走一点, 如果你还在关注Android平台, 将部分精力放在DVM/JNI上面. 再者, 关注Linux这样的大平台。 这样才能保持竞争力。

更多相关文章

  1. Python3原生编写月份计算工具
  2. 一款常用的 Squid 日志分析工具
  3. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. 如何指定让Android的NDK工具编译出Release版本或Debug版本的Nati
  6. Android百度地图定位多处回调调用问题
  7. Android(安卓)Developers:sqlite3
  8. pc机进入android的shell
  9. 详解如何将android工具链作为独立编译器使用

随机推荐

  1. Android简单音乐播放实例
  2. Android SDK文档如何查找
  3. Android 获取扫码枪的扫描内容
  4. Android常见问题及讨论(41-45)
  5. android studio入坑及解决方案
  6. Android 重写DatePicker------只显示 年-
  7. Android O startForegroundService(前台服
  8. android文件上传到服务器
  9. Android使用httpPost向服务器发送请求的
  10. webrtc native 声音控制