2013-08-25 4 views
0

하나의 EditText, 두 개의 버튼 (Google 및 Yahoo), 하나의 WebView로 프로그램을 만들려고합니다. 내가 만들고자하는 것은 EditText에 입력 된 단어를 검색하는 것입니다. 사용자가 Google을 클릭하면 EditText의 텍스트가 Google.com에서 자동으로 검색되고 사용자가 Yahoo를 클릭하면 EditText의 텍스트가 Yahoo.com에서 자동으로 검색됩니다. 지금까지 구글은 이미 일하고있다. 누구든지 야후를 도와 줄 수 있습니까? 당신이 "=/검색? P"는 글고의 텍스트와 앞에 추가를 URL 인코딩이 필요합니다, 당신이 그것을하고있는 방법으로 당신에게Android EditText의 Google 및 Yahoo 검색

package com.example.webbrowser3; 

import android.app.Activity; 
import android.app.SearchManager; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.webkit.WebView; 
import android.widget.Button; 
import android.widget.EditText; 

public class WebBrowser3 extends Activity implements OnClickListener { 
    Button google; 
    Button yahoo; 
    WebView WebView; 
    EditText search; 
    String url; 
    Intent intent; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_web_browser3); 
     WebView = (WebView)findViewById(R.id.webview); 
     search = (EditText)findViewById(R.id.search); 
     google = (Button)findViewById(R.id.google); 
     google.setOnClickListener(this); 
     yahoo = (Button)findViewById(R.id.yahoo); 
     yahoo.setOnClickListener(this); 
    } 


    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     if (v.getId()==R.id.google) 
     { 
      intent = new Intent(Intent.ACTION_WEB_SEARCH); 
      url=search.getText().toString(); 
      intent.putExtra(SearchManager.QUERY, url); 
      startActivity(intent); 
     } 
     else if (v.getId()==R.id.yahoo) 
     { 
      url=search.getText().toString(); 
      WebView.loadUrl("http://www.yahoo.com" + url); 
     } 


    } 

} 

답변

1

감사드립니다. http://meyerweb.com/eric/tools/dencoder/

당신은 야후가 검색하고 검색 쿼리하게하고 그래서 당신의 URL를 구축 URL의 종류를 참고해야한다 : 여기

는 URL 인코더입니다. Bing 검색을 수행하는 방법을 결정하기 위해 Bing이 검색 쿼리에 대해 수행하는 작업을 확인하고 해당 URL을 다시 작성하려고 시도합니다.