Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android中的错误连接超时_Java_Android_Xml_Eclipse - Fatal编程技术网

Java android中的错误连接超时

Java android中的错误连接超时,java,android,xml,eclipse,Java,Android,Xml,Eclipse,我的应用程序启动。。荷载。。加载完成后,只显示一个空白页。它不会崩溃,只是显示一个空白页。 我注意到在logcat中有一个错误:异常localhost/127.0.0.1:8080连接被拒绝 我正在另一台设备上玩我的应用程序,而不是在模拟器中。 所以我认为它在url“localhost:8080/lab/lab1.xml”上有一个错误 或者我的代码有错误 下面是MainActivity.java import android.app.Activity; import android.app.Pr

我的应用程序启动。。荷载。。加载完成后,只显示一个空白页。它不会崩溃,只是显示一个空白页。 我注意到在logcat中有一个错误:异常localhost/127.0.0.1:8080连接被拒绝 我正在另一台设备上玩我的应用程序,而不是在模拟器中。 所以我认为它在url“localhost:8080/lab/lab1.xml”上有一个错误 或者我的代码有错误

下面是MainActivity.java

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity {

    TextView tvResponse;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tvResponse = (TextView) findViewById(R.id.tvResponse);
        new PostAsync().execute();
    }

    class PostAsync extends AsyncTask<Void, Void, Void> {
        ProgressDialog pd;
        XMLHelper helper;


        @Override
        protected void onPreExecute() {
            pd = ProgressDialog.show(MainActivity.this, "by Es", "Loading", true, false);
        }
        @Override
        protected Void doInBackground(Void... arg0) {
            helper = new XMLHelper();
            helper.get();
            return null;
        }


        @Override
        protected void onPostExecute(Void result) {
            StringBuilder builder = new StringBuilder();
            for(EventValue event : helper.events) {
                builder.append("\nWhat: " + event.getWhat());
                builder.append("\nWhen: " + event.getWhen());
                builder.append("\nWhere: " + event.getWhere());
                builder.append("\n");
            }
            tvResponse.setText(builder.toString());
            pd.dismiss();
        }

    }

}
以下是xml文件lab1.xml(localhost:8080/lab/lab1.xml)


夏天
三月一日
--
阿斯达斯达斯
三月二日
阿萨萨
asdasdq
asdasdx
asdasdf
请看一下代码。谢谢 编辑- 它现在工作,我使用计算机IP地址,但现在的问题是有这个新的例外
异常:连接超时您的错误与XML解析无关。您有连接错误。您使用的是
localhost
,这是手机本身,当然它会返回连接错误。你可能是指你开发的机器


如果您想引用运行Android模拟器的计算机,请使用IP地址10.0.2.2。您可以从中阅读更多信息。

实际上它在另一台设备上,因此我使用了IP地址。但现在的问题是它显示hello world和加载,但在这之后它仍然是一个空白page@spoderman69同样,与XML解析(您的原始问题)无关的错误是更改标题。有一个新的问题例外:连接Timeout@spoderman69您确定1)可以从您的模拟器访问其他设备吗?2) 该设备侦听所有传入连接的端口(不仅仅是本地主机)。我没有使用模拟器,我使用的是真实设备。通过USB端口连接。这就是我使用IP地址的原因。现在,“本地主机连接被拒绝”的原始问题已经解决了。但有一个新问题。例外:连接超时实际上在另一个设备上,所以我使用了IP地址。但现在的问题是它显示hello world并加载,但之后它仍然是一个空白页面,现在它有一个连接超时错误
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

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

import android.util.Log;

public class XMLHelper extends DefaultHandler {
    /** 
     * The URL to be parsed
     */
    private String URL_MAIN = "http://localhost:8080/lab/lab1.xml";
    String TAG = "XMLHelper";

    Boolean currTag = false;
    String currTagVal = "";
    public EventValue event = null;
    public ArrayList<EventValue> events = new ArrayList<EventValue>();


    public void get() {
        try {
            SAXParserFactory factory = SAXParserFactory.newInstance();
            SAXParser mSaxParser = factory.newSAXParser();
            XMLReader mXmlReader = mSaxParser.getXMLReader();
            mXmlReader.setContentHandler(this);
            InputStream mInputStream = new URL(URL_MAIN).openStream();
            mXmlReader.parse(new InputSource(mInputStream));
        } catch(Exception e) {
            // Exceptions can be handled for different types
            // But, this is about XML Parsing not about Exception Handling
            Log.e(TAG, "Exception: " + e.getMessage());
        }
    }


    @Override
    public void characters(char[] ch, int start, int length)
            throws SAXException {
        if(currTag) {
            currTagVal = currTagVal + new String(ch, start, length);
            currTag = false;
        }
    }


    @Override
    public void endElement(String uri, String localName, String qName)
            throws SAXException {
        currTag = false;

        if(localName.equalsIgnoreCase("what"))
            event.setWhat(currTagVal);

        else if(localName.equalsIgnoreCase("when"))
            event.setWhen(currTagVal);

        else if(localName.equalsIgnoreCase("where"))
            event.setWhere(currTagVal);

        else if(localName.equalsIgnoreCase("event"))
            events.add(event);
    }


    @Override
    public void startElement(String uri, String localName, String qName,
            Attributes attributes) throws SAXException {
        Log.i(TAG, "TAG: " + localName);

        currTag = true;
        currTagVal = "";

        if(localName.equals("event"))
            event = new EventValue();
    }
}
public class EventValue {
    String what, when, where;

    public String getWhat() {
        return what;
    }

    public void setWhat(String what) {
        this.what = what;
    }

    public String getWhen() {
        return when;
    }

    public void setWhen(String when) {
        this.when = when;
    }

    public String getWhere() {
        return where;
    }

    public void setWhere(String where) {
        this.where = where;
    }



}
<?xml version="1.0" encoding="utf-8"?>
<events>

     <event>
        <what>Summer</what>
        <when>March1</when>
        <where>--</where>
    </event>

     <event>
        <what>asdasdas</what>
        <when>March 2</when>
        <where>asasas</where>
    </event>

     <event>
        <what>asdasdq</what>
        <when>asdasdx</when>
        <where>asdasdf</where>
    </event>

</events>