Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Android-web请求不工作,应用程序停止工作_Android_Url_Web_Get_Request - Fatal编程技术网

Android-web请求不工作,应用程序停止工作

Android-web请求不工作,应用程序停止工作,android,url,web,get,request,Android,Url,Web,Get,Request,我有一个android应用程序,我想从服务器获取一个请求,并将其显示给用户,但它不工作,应用程序停止工作。这是我的密码: URL url; try { url = new URL("http://accounting.hamyar.net/IBSng/user/index.php?normal_username=7325238658&normal_password=hamidreza3329"); URLConnection conn = url

我有一个android应用程序,我想从服务器获取一个请求,并将其显示给用户,但它不工作,应用程序停止工作。这是我的密码:

 URL url;
    try {
        url = new URL("http://accounting.hamyar.net/IBSng/user/index.php?normal_username=7325238658&normal_password=hamidreza3329");
        URLConnection conn = url.openConnection();
        conn.setRequestProperty("Cookie", "IBS_SESSID=hlpjpnm8hdrf84n7igk0m5n9v6; session_id=f49f028f0c3b87719638136ce5cd5f23090eca5e");
        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

        String inputLine;

        while ((inputLine = br.readLine()) != null) {
            if (inputLine.contains("<td class=") && inputLine.contains("Middle") && inputLine.contains("<sub>"))
            {
                String chargenum =  getBetween(inputLine, "<td class=\"List_Col\" valign=\"Middle\" >", "<sub>").trim();

                String chargeunit = getBetween(inputLine, "<sub>", "</sub>");
                String gig = chargenum.trim() + chargeunit.trim();
                System.out.println("Your gig is "+gig);
            }
        }
        br.close();



    } catch (IOException e) {
    }
}
public static String getBetween(String str, String open, String close) {
    if (str == null || open == null || close == null) {
        return null;
    }
    int start = str.indexOf(open);
    if (start != -1) {
        int end = str.indexOf(close, start + open.length());
        if (end != -1) {
            return str.substring(start + open.length(), end);
        }
    }
    return null;
}
URL;
试一试{
url=新url(“http://accounting.hamyar.net/IBSng/user/index.php?normal_username=7325238658&normal_password=hamidreza3329");
URLConnection conn=url.openConnection();
conn.setRequestProperty(“Cookie”,“IBS_sessiond=hlpjpnm8hdrf84n7igk0m5n9v6;session_id=f49f028f0c3b87719638136ce5cd5f23090eca5e”);
BufferedReader br=新的BufferedReader(新的InputStreamReader(conn.getInputStream());
字符串输入线;
而((inputLine=br.readLine())!=null){

如果(inputLine.contains(“您必须在
AndroidManifest.xml
外部
应用程序
标记中添加
Internet
权限,如下所示:

<uses-permission android:name="android.permission.INTERNET" /> 

您是否在线程中运行此代码,因为它看起来不像。请尝试在异步任务中运行它。尝试将以下代码作为类添加到项目中:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

import android.os.AsyncTask;

public class MyBackgroundTask extends AsyncTask<Void, Void, String> {

    @Override
    protected String doInBackground(Void... params) {
        URL url;
        try {
            url = new URL(
                    "http://accounting.hamyar.net/IBSng/user/index.php?normal_username=7325238658&normal_password=hamidreza3329");
            URLConnection conn = url.openConnection();
            conn.setRequestProperty(
                    "Cookie",
                    "IBS_SESSID=hlpjpnm8hdrf84n7igk0m5n9v6; session_id=f49f028f0c3b87719638136ce5cd5f23090eca5e");
            BufferedReader br = new BufferedReader(new InputStreamReader(
                    conn.getInputStream()));

            String inputLine;

            while ((inputLine = br.readLine()) != null) {
                if (inputLine.contains("<td class=")
                        && inputLine.contains("Middle")
                        && inputLine.contains("<sub>")) {
                    String chargenum = getBetween(inputLine,
                            "<td class=\"List_Col\" valign=\"Middle\" >",
                            "<sub>").trim();

                    String chargeunit = getBetween(inputLine, "<sub>", "</sub>");
                    String gig = chargenum.trim() + chargeunit.trim();
                    System.out.println("Your gig is " + gig);
                }
            }
            br.close();

        } catch (IOException e) {
        }

        return "";
    }

    public static String getBetween(String str, String open, String close) {
        if (str == null || open == null || close == null) {
            return null;
        }
        int start = str.indexOf(open);
        if (start != -1) {
            int end = str.indexOf(close, start + open.length());
            if (end != -1) {
                return str.substring(start + open.length(), end);
            }
        }
        return null;
    }

}
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.net.URL;
导入java.net.URLConnection;
导入android.os.AsyncTask;
公共类MyBackgroundTask扩展了AsyncTask{
@凌驾
受保护字符串doInBackground(无效…参数){
网址;
试一试{
url=新url(
"http://accounting.hamyar.net/IBSng/user/index.php?normal_username=7325238658&normal_password=hamidreza3329");
URLConnection conn=url.openConnection();
conn.setRequestProperty(
“饼干”,
“IBS_sessiond=hlpjpnm8hdrf84n7igk0m5n9v6;session_id=f49f028f0c3b87719638136ce5cd5f23090eca5e”);
BufferedReader br=新的BufferedReader(新的InputStreamReader(
conn.getInputStream());
字符串输入线;
而((inputLine=br.readLine())!=null){

if(inputLine.contains)(“您是否向清单文件添加了INTERNET权限?在我没有adb之后添加。如何使用logcat?您可以直接从Android Studio或Eclipse IDE查看logcat。如果没有logcat,很难确定确切的问题。我可以运行确切的代码片段(顺便说一句,我从原始问题中挑选了这段代码)很好。从日志中,您似乎遇到了类强制转换异常。那么让我问一下,您是否试图从backgroundTask中检索结果?因为如果是这样,您肯定是走错了路。我想获取网页源代码和进程。@HamidrezaKavehpishghadam尝试使用
字符串backgroundResult=new MyBackgroundT请在onCreate中使用ask().execute().get();
,然后查看backgroundResult字符串的内容。它是空字符串还是仍有异常?