Android 程序之在线词典

来源:互联网 发布:js向json对象添加元素 编辑:程序博客网 时间:2024/05/01 09:18
 

利用开源的词典API,开发了一款Android的词典,采用的是Dict.cn的Open 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这样的大平台。 这样才能保持竞争力。

转载出自这里:

http://blog.csdn.net/ostrichmyself/article/details/4633838