Android 小应用 - "Smart Help" 之模块介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android 小应用 - "Smart Help" 之模块介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1557字,纯文字阅读大概需要3分钟。
内容图文
前面介绍了整个应用的框架,下面接着继续介绍各模块设计的细节。
一.“交通篇”
上面三幅图基本上就是交通版块所包含的内容了,其中,图二、三只涉及 Android 基本的控件 ExpandableListView 的使用,这里不作具体的讲解,我们重点来看图一的实现。
1. 输入框是什么控件?
为了达到提示用户输入的效果,这里不能使用最普遍的 EditText 作为输入框,Android 为我们提供了一个自动展示下拉提示列表的输入控件 "AutoCompleteTextView",在这里使用最好不过了。
2. 控件有了,那么我们需要显示什么数据内容到控件的列表呢?当然是匹配到用户输入地点的上车点的名称集合。
3. 接着上面的疑问,我们下面讲解匹配用户输入地点名称的规则和算法。
- 首先,一个地方,比如“东圃镇”,往往有不同的几个上车地点(如图一所示),考虑到用户输入的时候第一反应是输入一个地名,所以这里的匹配规则是按照地名,如“天河区东圃镇”来进行模糊匹配该地方存在的所有上车点,然后以 Adapter 的形式传递给输入框,展示给用户看。
- 其次,关于模糊匹配的算法实现,学过数据库就知道,有根据一个字符串来模糊查询数据库的命令,关键字是 "where *** like ****":
<span style="font-size:14px;">Cursor mCursor = db.rawQuery("select * from " + tableName + " where " + "stop_name" + " like '%" + shortName + "%' and first=1 " + "or location like '%" + shortName + "%' and first=1 ",null);</span>
那么问题就来了,我需要将查询结果以 Adapter 的形式传递给 "AutoCompleteTextView",但一个普通的 Adapter,要怎么跟查询数据库所返回的 Cursor 来进行关联呢?
Android 给我们提供了一个Adapter类,叫 "SimpleCursorAdapter ",专用于数据绑定,也就是说用它可以跟数据库的 Cursor 进行直接的关联。
4. 上面我们解决了用户从输入地名,到接收到自动提示上下车地点,再到选取需要的地点,这几个问题,那么,用户选取到指定地点后,点击班车搜索,又是如何进行班车路线匹配的呢?
我想,如果仔细看明白了第3点关于数据库模糊匹配的方法后,这个就已然不是问题了,因为模糊匹配都有了,自然也有精确匹配。在此就不赘述了。
5. 关于加入“公交”线路查询的功能,当初也进行了一些思想的挣扎,比较现在绝大多数人的手机都有安装百度地图等查询工具,会不会多次一举?
最后考虑到毕竟有时候用户打开了这个应用,如果突然想搜索公交的线路,此时提供这么个入口,岂不就不用再麻烦的退出,再进入百度地图?万一用户的手机刚好没安装百度地图呢?带着这样的想法,于是就添加了这个功能。
话又说回来,其实“公交”查询的入口,就是调用了百度Map开放平台提供的第三方接口,具体的实现比较简单,有兴趣的朋友可以直接百度一下,也不赘述。
至此,就把“交通篇”的一些技术实现方法简要的介绍完了,其实回过头来看,并不会那么的困难,很多都是一些现成的基本的技术点,只是把他们结合在一起使用罢了。
下一篇,将介绍“美食篇”的内容。
Android 小应用 - "Smart Help" 之模块介绍
原文:http://blog.csdn.net/cao_tao199612/article/details/42497879
内容总结
以上是互联网集市为您收集整理的Android 小应用 - "Smart Help" 之模块介绍全部内容,希望文章能够帮你解决Android 小应用 - "Smart Help" 之模块介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。