本篇文章给大家分享的是有关Android中怎么利用Touch实现搜索,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
一 设计相关界面
java代码:
Ext.setup({ onReady: function() { var topToolbar = new Ext.Toolbar({ dock : 'top', ui: 'dark', title: 'Sencha Twitter Search' }); var tpl = new Ext.XTemplate( '<div id="tweet_container">', '<tpl for=".">', '<div class="tweet_data">', '<div class="tweet_avatar">', '<img width="30" height="30" src="{profile_image_url}"/>', '</div>', '<div class="tweet_content">', '<a class="user" href="http://twitter.com/{from_user}">{from_user}</a> ', '{text}', '</div>', '<div class="clear"></div>', '</div>', '</tpl>', '</div>' ); var resultPanel = new Ext.Panel({ layout: 'fit', style: 'padding-bottom: 10px;', tpl: tpl }); var searchPanel = new Ext.Panel({ padding: 10, layout: { type: 'hbox', align: 'stretch' }, items: [{ flex: 4, xtype: 'textfield', style: 'margin-right: 10px;', id: 'textquery' },{ flex: 2, xtype: 'button', text: 'Search', handler: function() { var query = Ext.getCmp("textquery").getValue(); Ext.Ajax.request({ url: 'index.php?act=search&q='+query, success: function(e) { var obj = Ext.util.JSON.decode(e.responseText); var msg = obj.results; var html = tpl.apply(msg); resultPanel.update(html); } }); } }] }); var myPanel = new Ext.Panel({ dockedItems: [topToolbar], items: [searchPanel, resultPanel], scroll: 'vertical', style: 'background: #DDEEF6;', fullscreen : true }); } });
在这里,首先设置了topToolbar标题栏,标题栏的内容为Sencha Twitter Search。接着使用EXT的Ext.XTemplate设计了一个模版,模版中的内容是按照twitter中的格式设计的,即发微博人的相片、用户名以及所发的言论。而resultPanel中是显示结果的面板,searchPanel则是输入检索条件的面板,其中请注意handler方法,使用query变量获得了用户的输入检索词,之后使用get的方法,使用ajax的方式发送到index.php去处理(本例子中把EXTJS代码和PHP代码写在同一个PHP文件中了,当然也可以分开来编写,那么的话就使用POST方法了),同时,在success的回调函数中,对AJAX调用返回的结果进行处理,
其中,使用var obj = Ext.util.JSON.decode(e.responseText),对检索的结果JSON格式进行解码,将返回的JSON格式字符串转变为JSON格式的对象,并且用tpl.apply(msg),将解析后的结果应用到之前的模版tpl中,***要记得使用resultPanel.update(html);更新一下该区域。
二 PHP获得twitter内容的代码
在同一个index.php文件中,通过使用get的方法,发送查询请求关键字到twitter公开的API进行查询,代码如下:
java代码:
if (isset($_GET["act"]) && $_GET["act"] == "search") { $url = 'http://search.twitter.com/search.json?q='.$_GET["q"]; $content = file_get_contents($url); $array = json_decode($content); $data = array(); foreach ($array->results as $var => $value) { $pattern = '/\b(https?:\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$])/i'; preg_match_all($pattern, $value->text, $regs); $loop = count($regs[0]); for ($i = 0; $i < $loop; $i++) { $value->text = str_replace($regs[0][$i], '<a class="outlink" href="'.$regs[0][$i].'">'.$regs[0][$i].'</a>', $value->text); } $data[] = array( "profile_image_url" => $value->profile_image_url, "from_user" => $value->from_user, "text" => $value->text ); } $out = array( "success" => true, "results" => $data ); echo json_encode($out); exit; }
以上就是Android中怎么利用Touch实现搜索,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。