1

Hello World! の背後にある Android アプリの開発に関しては、私は初心者です。だから、私のアプリのどこが悪いのか教えてくれる人が本当に必要なのです。私のアプリは非常にシンプルです。ユーザーが に質問を入力しeditTextてボタンを押すと、アプリは から情報を取得しますYahoo Answers API。しかし、ボタンを押すと、「エラー」メッセージが表示されるだけTextViewです。自分のコードを見て、何が問題なのかを教えてくれる別の目が本当に必要です。私のエミュレータはAndroid 4.2.2を実行しています。この「エラー」メッセージが表示されるのは私のURLなのか、それとも日食の何かなのか、私のコードの何かなのかはわかりません。
誰か助けてください!!

主な活動

import java.net.URL;




import javax.xml.parsers.SAXParser;

import javax.xml.parsers.SAXParserFactory;




import org.xml.sax.InputSource;

import org.xml.sax.XMLReader;




import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;







public class WhatsYourQuestion extends Activity implements OnClickListener {



    static final String baseURL = "http://answer.yahooapis.com/AnswerService/V1/questionSearh?appid=example&query=";

    EditText et; 

    TextView answer; 





    @Override

    protected void onCreate(Bundle icicle) {

        super.onCreate(icicle);

        setContentView(R.layout.main);



        et = (EditText) findViewById(R.id.editText1);




        answer = (TextView) findViewById(R.id.stockAnswerOuput);



        Button myButton = (Button) findViewById(R.id.button1);

        myButton.setOnClickListener(new OnClickListener()  {







            @Override

            public void onClick(View v) {

            String a = et.getText().toString(); 

           StringBuilder URL = new StringBuilder(baseURL);

            URL.append(a + "");

            String fullUrl = URL.toString();

            try{

                URL website = new URL(fullUrl);

                SAXParserFactory spf = SAXParserFactory.newInstance();

                SAXParser sp = spf.newSAXParser();

                XMLReader xr = sp.getXMLReader();

                HandlingXMLProperties doingWork = new HandlingXMLProperties();

                xr.setContentHandler(doingWork);

                xr.parse(new InputSource(website.openStream()));

                String information = doingWork.getInformation();

                et.setText(information);

                           }catch (Exception e){

                et.setText("error");

XMLCollectedData クラス

public class XMLCollectedData {



    private int answer = 0;

    public void setAnswer(int a){
        answer = a;
    }

    public String dataToString(){
        return "Here is your answer" + answer;
    }

xml プロパティ クラスの処理

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class HandlingXMLProperties extends DefaultHandler{

    XMLCollectedData info = new XMLCollectedData();

    public String getInformation() {
        return info.dataToString();
    }
    @Override
    public void startElement(String uri, String localName, String qName,
            Attributes attributes) throws SAXException {
        // TODO Auto-generated method stub

        if(localName.equals("ChosenAnswer")){
            String a = attributes.getValue("type");
            int answer = Integer.parseInt(a);
            info.setAnswer(answer);
        }

また、qName を定義できるように、使用する必要のある santax の行を知る必要もあります。誰か助けて

4

0 に答える 0