一 设计相关界面
成都创新互联公司专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,成都服务器托管,成都服务器托管,成都多线服务器托管等服务器托管服务。
我们的界面很简单,只是一个文本输入框,一个“Search”的检索按钮,以及展示检索结果的内容区域。下面是相关代码:
java代码:
- Ext.setup({
- onReady: function() {
- var topToolbar = new Ext.Toolbar({
- dock : 'top',
- ui: 'dark',
- title: 'Sencha Twitter Search'
- });
- var tpl = new Ext.XTemplate(
- ''
- );
- 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], ''.$regs[0][$i].'', $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;
- }
本文题目:AndroidTouch开发搜索应用
转载来源:http://www.csdahua.cn/qtweb/news42/267242.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网