日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
AndroidTouch開(kāi)發(fā)搜索應(yīng)用

一 設(shè)計(jì)相關(guān)界面

成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專(zhuān)業(yè)提供成都服務(wù)器托管,服務(wù)器租用,成都服務(wù)器托管成都服務(wù)器托管,成都多線(xiàn)服務(wù)器托管等服務(wù)器托管服務(wù)。

我們的界面很簡(jiǎn)單,只是一個(gè)文本輸入框,一個(gè)“Search”的檢索按鈕,以及展示檢索結(jié)果的內(nèi)容區(qū)域。下面是相關(guān)代碼:

java代碼:

 
 
 
  1. Ext.setup({   
  2. onReady: function() {   
  3. var topToolbar = new Ext.Toolbar({   
  4. dock : 'top',   
  5. ui: 'dark',   
  6. title: 'Sencha Twitter Search'   
  7. });   
  8. var tpl = new Ext.XTemplate(   
  9. '',   
  10. '',   
  11. '',   
  12. '',   
  13. '',   
  14. '
',   
  • '',   
  • '
  • '{text}',   
  • '
  • ',   
  • '
  • ',   
  • '
  • ',   
  • '',   
  • '
  • '   
  • );   
  • 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   
  • });   
  • }   
  • });  
  •  在這里,首先設(shè)置了topToolbar標(biāo)題欄,標(biāo)題欄的內(nèi)容為Sencha Twitter Search。接著使用EXT的Ext.XTemplate設(shè)計(jì)了一個(gè)模版,模版中的內(nèi)容是按照twitter中的格式設(shè)計(jì)的,即發(fā)微博人的相片、用戶(hù)名以及所發(fā)的言論。而resultPanel中是顯示結(jié)果的面板,searchPanel則是輸入檢索條件的面板,其中請(qǐng)注意handler方法,使用query變量獲得了用戶(hù)的輸入檢索詞,之后使用get的方法,使用ajax的方式發(fā)送到index.php去處理(本例子中把EXTJS代碼和PHP代碼寫(xiě)在同一個(gè)PHP文件中了,當(dāng)然也可以分開(kāi)來(lái)編寫(xiě),那么的話(huà)就使用POST方法了),同時(shí),在success的回調(diào)函數(shù)中,對(duì)AJAX調(diào)用返回的結(jié)果進(jìn)行處理,

    其中,使用var obj = Ext.util.JSON.decode(e.responseText),對(duì)檢索的結(jié)果JSON格式進(jìn)行解碼,將返回的JSON格式字符串轉(zhuǎn)變?yōu)镴SON格式的對(duì)象,并且用tpl.apply(msg),將解析后的結(jié)果應(yīng)用到之前的模版tpl中,***要記得使用resultPanel.update(html);更新一下該區(qū)域。

    二  PHP獲得twitter內(nèi)容的代碼

    在同一個(gè)index.php文件中,通過(guò)使用get的方法,發(fā)送查詢(xún)請(qǐng)求關(guān)鍵字到twitter公開(kāi)的API進(jìn)行查詢(xún),代碼如下:

    java代碼:

     
     
     
    1. if (isset($_GET["act"]) && $_GET["act"] == "search") {   
    2. $url = 'http://search.twitter.com/search.json?q='.$_GET["q"];   
    3. $content = file_get_contents($url);   
    4. $array = json_decode($content);   
    5. $data = array();   
    6. foreach ($array->results as $var => $value) {   
    7. $pattern = '/\b(https?:\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$])/i';   
    8. preg_match_all($pattern, $value->text, $regs);   
    9. $loop = count($regs[0]);   
    10. for ($i = 0; $i < $loop; $i++) {   
    11. $value->text = str_replace($regs[0][$i], ''.$regs[0][$i].'', $value->text);   
    12. }   
    13. $data[] = array(   
    14. "profile_image_url" => $value->profile_image_url,   
    15. "from_user" => $value->from_user,   
    16. "text" => $value->text   
    17. );   
    18. }   
    19. $out = array(   
    20. "success" => true,   
    21. "results" => $data   
    22. );   
    23. echo json_encode($out);   
    24. exit;   
    25. }  

    網(wǎng)站題目:AndroidTouch開(kāi)發(fā)搜索應(yīng)用
    URL分享:http://www.5511xx.com/article/djgicjd.html