Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
为什么不是';t android连接到我的web服务器 package com.mohd.tryapp; 导入android.os.AsyncTask; 导入android.os.Bundle; 导入android.support.v7.app.ActionBarActivity; 导入android.widget.TextView; 导入java.net.URL; 导入java.net.URLConnection; 公共类MainActivity扩展了ActionBarActivity{ 公共静态int标志; 文本视图; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.layout); 视图=(TextView)findViewById(R.id.textvi); getFlag var=new getFlag(); 变量execute(); 如果(标志==1) view.setText(“true”); 其他的 view.setText(“false”); } 类getFlag扩展了异步任务{ 私人例外; @凌驾 受保护的Void doInBackground(Void…参数){ 试一试{ 字符串url=”http://mohdgadi.netai.net/Register.php"; int超时=15*1000; URL myUrl=新URL(URL); URLConnection=myUrl.openConnection(); connection.setConnectTimeout(超时); connection.connect(); flag=1; }捕获(例外e){ e、 printStackTrace(); flag=0; } 返回null; } } }_Android_Http_Url - Fatal编程技术网

为什么不是';t android连接到我的web服务器 package com.mohd.tryapp; 导入android.os.AsyncTask; 导入android.os.Bundle; 导入android.support.v7.app.ActionBarActivity; 导入android.widget.TextView; 导入java.net.URL; 导入java.net.URLConnection; 公共类MainActivity扩展了ActionBarActivity{ 公共静态int标志; 文本视图; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.layout); 视图=(TextView)findViewById(R.id.textvi); getFlag var=new getFlag(); 变量execute(); 如果(标志==1) view.setText(“true”); 其他的 view.setText(“false”); } 类getFlag扩展了异步任务{ 私人例外; @凌驾 受保护的Void doInBackground(Void…参数){ 试一试{ 字符串url=”http://mohdgadi.netai.net/Register.php"; int超时=15*1000; URL myUrl=新URL(URL); URLConnection=myUrl.openConnection(); connection.setConnectTimeout(超时); connection.connect(); flag=1; }捕获(例外e){ e、 printStackTrace(); flag=0; } 返回null; } } }

为什么不是';t android连接到我的web服务器 package com.mohd.tryapp; 导入android.os.AsyncTask; 导入android.os.Bundle; 导入android.support.v7.app.ActionBarActivity; 导入android.widget.TextView; 导入java.net.URL; 导入java.net.URLConnection; 公共类MainActivity扩展了ActionBarActivity{ 公共静态int标志; 文本视图; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.layout); 视图=(TextView)findViewById(R.id.textvi); getFlag var=new getFlag(); 变量execute(); 如果(标志==1) view.setText(“true”); 其他的 view.setText(“false”); } 类getFlag扩展了异步任务{ 私人例外; @凌驾 受保护的Void doInBackground(Void…参数){ 试一试{ 字符串url=”http://mohdgadi.netai.net/Register.php"; int超时=15*1000; URL myUrl=新URL(URL); URLConnection=myUrl.openConnection(); connection.setConnectTimeout(超时); connection.connect(); flag=1; }捕获(例外e){ e、 printStackTrace(); flag=0; } 返回null; } } },android,http,url,Android,Http,Url,这是我主要活动的代码,我想连接到我的000webhost网站,但连接总是显示为false。我甚至尝试将url更改为,但似乎不起作用。问题可能在于,结果总是显示为false,这是因为,如果您看到日志,您将注意到,您的代码将抛出一个。这意味着Android不允许您在主线程上进行网络调用。因此,将您的代码移动到一个应用程序中 你可以看到一个例子 您应该使用get()等待填充结果,但最好在doInBackground返回后使用onPostExecute执行代码 package com.mohd.t

这是我主要活动的代码,我想连接到我的000webhost网站,但连接总是显示为false。我甚至尝试将url更改为,但似乎不起作用。问题可能在于,结果总是显示为false,这是因为,如果您看到日志,您将注意到,您的代码将抛出一个。这意味着Android不允许您在主线程上进行网络调用。因此,将您的代码移动到一个应用程序中

你可以看到一个例子

您应该使用
get()
等待填充结果,但最好在
doInBackground
返回后使用
onPostExecute
执行代码

   package com.mohd.tryapp;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.TextView;

import java.net.URL;
import java.net.URLConnection;


public class MainActivity extends ActionBarActivity {

    public static int flag;
    TextView view;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);
        view=(TextView)findViewById(R.id.textvi);
        getFlag var=new getFlag();
        var.execute();
        if(flag==1)
            view.setText("true");
        else
            view.setText("false");


    }
    class getFlag extends AsyncTask<Void, Void, Void> {

        private Exception exception;


        @Override
        protected Void doInBackground(Void... params) {
            try{
                String url="http://mohdgadi.netai.net/Register.php";
                int timeout=15*1000;
                URL myUrl = new URL(url);
                URLConnection connection = myUrl.openConnection();
                connection.setConnectTimeout(timeout);
                connection.connect();
                flag=1;
            } catch (Exception e) {
                e.printStackTrace();
                flag=0;
            }

            return null;

        }

    }
}

好的,我对我的代码做了更改,正如你说的,看看我编辑的代码,但它仍然给我错误的信息,这是因为你在设置标志之前访问了这个值。我已经编辑了我的答案,看到了吗?仍然是假的为什么我不能连接:(你在清单文件中包含了
互联网
权限吗?是的,我已经包含了,我需要帮忙你能写一个简单的代码来连接到google.com吗
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);
        view=(TextView)findViewById(R.id.textvi);
        getFlag var=new getFlag();
        var.execute();
        var.get();
        if(flag==1)
            view.setText("true");
        else
            view.setText("false");


    }