Java Android web服务连接在应用程序打开一段时间后无法工作

Java Android web服务连接在应用程序打开一段时间后无法工作,java,android,connection,Java,Android,Connection,我正在设计一个需要经常连接到web服务的应用程序。无论何时我使用它,它都可以正常工作,但是如果我让我说,暂时不使用它,煮点咖啡,然后回来尝试转到需要连接到web服务的活动,它就不工作了,我的服务响应返回null 是否有任何代码我可能会错过相当新的android开发,使手机保持连接。然而,我有一个按钮,它可以打开一个web浏览器来打开一个链接,而且似乎在任何时候都能工作。因此,我认为这与互联网连接无关 按要求在此处编码: private String getIndividualProduc

我正在设计一个需要经常连接到web服务的应用程序。无论何时我使用它,它都可以正常工作,但是如果我让我说,暂时不使用它,煮点咖啡,然后回来尝试转到需要连接到web服务的活动,它就不工作了,我的服务响应返回null

是否有任何代码我可能会错过相当新的android开发,使手机保持连接。然而,我有一个按钮,它可以打开一个web浏览器来打开一个链接,而且似乎在任何时候都能工作。因此,我认为这与互联网连接无关

按要求在此处编码:

    private String getIndividualProduct() throws IOException, XmlPullParserException {
    String data = null;
    String methodname = "getProductById";

    SoapObject request = new SoapObject(NAMESPACE, methodname);

    request.addProperty("id", id);
    request.addProperty("shopId", shopId);

    SoapSerializationEnvelope envelope = getSoapSerializationEnvelope(request);

    HttpTransportSE ht = getHttpTransportSE();

    MarshallDouble marshall = new MarshallDouble();
    marshall.register(envelope);

    ht.call(SOAP_ACTION, envelope);

    Object resultsString = (Object)envelope.getResponse();

    data = resultsString.toString();

    return data;
}

private static SoapSerializationEnvelope getSoapSerializationEnvelope(SoapObject request) {

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.implicitTypes = true;
    envelope.setAddAdornments(false);
    envelope.setOutputSoapObject(request);

    return envelope;

}
private static HttpTransportSE getHttpTransportSE() throws IOException {

    HttpTransportSE ht = new HttpTransportSE(Proxy.NO_PROXY, MAIN_REQUEST_URL, 60000);
    ht.debug = true;
    ht.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

    return ht;

}
这是我的活动代码:

    private ArrayList<Product> readFile() throws Exception {

    ArrayList<Product> products = new ArrayList<Product>();

    FileReader in = new FileReader(cart);
    BufferedReader reader = new BufferedReader(in);

    String temp;
    String data = null;

    while ((temp = reader.readLine()) != null) {

        try {

            WebService service = new WebService(temp, true);
            data = service.getValue();

        } catch (Exception e) {
            this.runOnUiThread(new Runnable() {
                public void run() {
                    Toast no_cnx = Toast.makeText(
                            Winkelwagen_activity.this,
                            "Error Connecting. Try again.",
                            Toast.LENGTH_SHORT);
                    no_cnx.setGravity(Gravity.CENTER, 0, 0);
                    no_cnx.show();

                    Intent back = new Intent(Winkelwagen_activity.this,
                            Main_activity.class);

                    startActivity(back);
                    Winkelwagen_activity.this.finish();

                }
            });
        }

        JsonParser parser = new JsonParser(data, shopId, true);

        Product product = parser.getSingleProduct();
        if (product != null) {
            products.add(product);

        }

    }

    reader.close();
    in.close();

    return products;
}

我认为这与互联网连接无关,很可能与你没有发布的代码有关。。。也许你可以把它贴出来让我们看看;安卓一直在清理资源,没有长时间运行的网络活动/连接,所以最有可能的猜测是看反斜杠的评论是它只是安卓在做它的事情如果这是真的,那么我怎么能让我的facebook应用程序打开10分钟,它仍然工作?还有@反斜杠,这是一段相当长的代码。让我看看我能不能把它砍掉来帮你。但似乎没有什么听起来不骄傲的地方是错误的,因为即使我在活动之间来回切换,它也能正常工作。就在我开了几分钟的时候minutes@BackSlash见编辑后的文章