import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.net.URLEncoder;
import com.google.gson.Gson;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
public class SampleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageButton button = (ImageButton) findViewById(R.id.imageButton1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
doSomething();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
public void doSomething() throws Exception {
EditText search2 = (EditText)findViewById(R.id.editText1);
TextView urltext = (TextView)findViewById(R.id.textView1);
String google = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=";
String search = search2.toString() + "site:mysite.com";
String charset = "UTF-8";
URL url = new URL(google + URLEncoder.encode(search, charset));
Reader reader = new InputStreamReader(url.openStream(), charset);
GoogleResults results = new Gson().fromJson(reader, GoogleResults.class);
String voidurlresult = results.getResponseData().getResults().get(0).getUrl().toString();
urltext.setText(voidurlresult);
}
}
コードを見てください.....コードに間違いがありますか?ボタンをクリックすると何も得られません。私はボタンをクリックすると、私は最初のGoogleの結果のURLを取得したい...もし誰かが私にそれを感謝することができますOnClickListener.onClickメソッドからメソッドを呼び出す方法は?
ログメッセージやトースト通知メッセージを 'doSomething'メソッドに追加して、' doSomething'メソッドが確実に呼び出されるようにしてください。 – slayton
@slaytonが言ったことは、良いテストか、単にurltext.setTextを設定しようとしていると言いました( "Hey、my click worked!");ページからのデータを取得する方法が意図したとおりに機能しない可能性があります – dymmeh
urltext.setTextをテストするものに変更しますが、表示されません。 – androiddevs78