利用开源的词典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

更多相关文章

  1. Android开发指南目录
  2. Android(安卓)SDK下的各目录介绍
  3. 4、Android(安卓)SDK命令行工具AAPT2
  4. Android(安卓)Device中添加busybox
  5. Android程序员指南(12)
  6. Android(安卓)篡改apk文件的可行性分析
  7. Tab-Menu
  8. Android利用ant将多个jar包合并成一个jar包
  9. VS2015 Android(安卓)SDK 下载和更新失败的解决方法

随机推荐

  1. android 双击事件监听
  2. Android(安卓)手机设置CMWAP 接入点
  3. android_对话框
  4. Android———Layout:LinearLayout
  5. Android手机应用开发(三) | Intent、Bundle
  6. Android(安卓)按键事件响应
  7. [原] Android上使用native IO
  8. 踩坑之硬件加速
  9. Android(安卓)-------- BouncingJellyVie
  10. Android(安卓)ApiDemos示例解析(46):App->