Php Android总是抛出超时异常

Php Android总是抛出超时异常,php,android,mysql,timeoutexception,Php,Android,Mysql,Timeoutexception,我用本地服务器(wamp)编写了一个Android应用程序,一切都很好。 现在我已经将数据库联机,android开始抛出超时异常(对任何地址)。我试图改变暂停时间,但没用 我可以通过浏览器访问服务器 import android.app.Activity; import android.content.Context; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import an

我用本地服务器(wamp)编写了一个Android应用程序,一切都很好。 现在我已经将数据库联机,android开始抛出超时异常(对任何地址)。我试图改变暂停时间,但没用

我可以通过浏览器访问服务器

import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;

import org.json.JSONArray;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.logging.Logger;

public class MainActivity extends Activity {
    JSONArray json1;
    TextView txt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txt=(TextView) findViewById(R.id.text);
          test ts=new test(getApplicationContext());
         ts.setcityspinner();
        }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    public class test {


        Context cnt;

        public test(Context c) {
            // TODO Auto-generated constructor stub
            cnt=c;
        }

        public void setcityspinner()
        {
            //spin=sp;
            LoadList ll=new LoadList();
            ll.execute("http://smartmope.kz/php/get_all_cities.php");

        }

        public class LoadList extends AsyncTask<String, String, String>
        {
            @Override
            protected String doInBackground(String... params) {
                // TODO Auto-generated method stub
                try {

                    URL u = new URL(params[0]);
                    HttpURLConnection c = (HttpURLConnection) u.openConnection();
                    c.setRequestMethod("GET");
                    c.setRequestProperty("Content-length", "0");
                    c.setUseCaches(false);
                    c.setAllowUserInteraction(false);
                    c.setConnectTimeout(20000);
                    c.setReadTimeout(20000);
                    c.connect();
                    int status = c.getResponseCode();
                    publishProgress(" "+status);
                   // Toast.makeText(cnt, "   "+status, Toast.LENGTH_LONG).show();
                    switch (status) {
                        case 200:
                        case 201:
                            BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
                            StringBuilder sb = new StringBuilder();
                            String line;
                            while ((line = br.readLine()) != null) {
                                sb.append(line+"\n");
                            }
                            br.close();
                            publishProgress(sb.toString());
                            return sb.toString();
                    }

                } catch (MalformedURLException ex) {

                   //txt.setText(ex.toString());
                    Log.d("mylog", ex.toString());
                     publishProgress(ex.toString());
                     //Toast.makeText(cnt, ex.toString(), Toast.LENGTH_LONG).show();
                } catch (IOException ex) {
                   // txt.setText(ex.toString());
                     publishProgress(ex.toString());
                    Log.d("mylog", ex.toString());
                    // Toast.makeText(cnt, ex.toString(), Toast.LENGTH_LONG).show();
                }
                return null;
            }
            @Override
            protected void onProgressUpdate(String... values) {
                // TODO Auto-generated method stub
                super.onProgressUpdate(values);
                Toast.makeText(cnt, values[0], Toast.LENGTH_LONG).show();
            }
            @Override
            protected void onPostExecute(String result) {
                // TODO Auto-generated method stub
                // Toast.makeText(cnt, result, Toast.LENGTH_LONG).show();
                if (result!=null){
                txt.setText(result.toString());
                }
                super.onPostExecute(result);

            }

        }



    }
}
导入android.app.Activity;
导入android.content.Context;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.Menu;
导入android.widget.TextView;
导入android.widget.Toast;
导入org.json.JSONArray;
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.net.HttpURLConnection;
导入java.net.MalformedURLException;
导入java.net.URL;
导入java.util.List;
导入java.util.logging.Logger;
公共类MainActivity扩展了活动{
JSONArray json1;
文本视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt=(TextView)findViewById(R.id.text);
测试ts=新测试(getApplicationContext());
t.setcityspinner();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
公开课考试{
上下文cnt;
公共测试(上下文c){
//TODO自动生成的构造函数存根
cnt=c;
}
public void setcityspinner()
{
//自旋=sp;
LoadList ll=新的LoadList();
ll.execute(“http://smartmope.kz/php/get_all_cities.php");
}
公共类LoadList扩展了异步任务
{
@凌驾
受保护的字符串doInBackground(字符串…参数){
//TODO自动生成的方法存根
试一试{
URL u=新URL(参数[0]);
HttpURLConnection c=(HttpURLConnection)u.openConnection();
c、 setRequestMethod(“GET”);
c、 setRequestProperty(“内容长度”、“0”);
c、 setUseCaches(假);
c、 setAllowUserInteraction(假);
c、 设置连接超时(20000);
c、 设置读取超时(20000);
c、 connect();
int status=c.getResponseCode();
出版进度(“+状态);
//Toast.makeText(cnt,“+状态,Toast.LENGTH_LONG.show();
开关(状态){
案例200:
案例201:
BufferedReader br=新的BufferedReader(新的InputStreamReader(c.getInputStream());
StringBuilder sb=新的StringBuilder();
弦线;
而((line=br.readLine())!=null){
sb.追加(第+行“\n”);
}
br.close();
出版进展(某人出版);
使某人返回字符串();
}
}捕获(格式错误){
//txt.setText(例如toString());
Log.d(“mylog”,例如toString());
出版进度(例如toString());
//Toast.makeText(cnt,例如toString(),Toast.LENGTH_LONG).show();
}捕获(IOEX异常){
//txt.setText(例如toString());
出版进度(例如toString());
Log.d(“mylog”,例如toString());
//Toast.makeText(cnt,例如toString(),Toast.LENGTH_LONG).show();
}
返回null;
}
@凌驾
受保护的void onProgressUpdate(字符串…值){
//TODO自动生成的方法存根
super.onProgressUpdate(值);
Toast.makeText(cnt,值[0],Toast.LENGTH_LONG.show();
}
@凌驾
受保护的void onPostExecute(字符串结果){
//TODO自动生成的方法存根
//Toast.makeText(cnt,result,Toast.LENGTH_LONG).show();
如果(结果!=null){
txt.setText(result.toString());
}
super.onPostExecute(结果);
}
}
}
}

可能是您的本地wamp未配置为从远程服务器加载数据。

增加setConnectTimeout值。或者删除一次timeconnection并尝试执行它,可能会对您有所帮助

我不再使用wamp,一切都是通过联机方式ping服务器