etimedout 运行_java.net.ConnectException:无法连接到/10.0.0.2(端口80):连接失败:ETIMEDOUT(连接超时)...

Trying obtain JSON data from XAMPP server running on my laptop,this is just a test application no important data on it,i Have a main activity,an HttpManager class that am using to obtain the data,a UserdataJson am using to parse the data,I have a UserData POJO, code Below.

MainActivity:

public class MainActivity extends AppCompatActivity {

TextView output;

ProgressBar pb;

Button btn;

List userDataList;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

output=(TextView) findViewById(R.id.textView);

output.setMovementMethod(new ScrollingMovementMethod());

pb= (ProgressBar) findViewById(R.id.progressBar);

pb.setVisibility(View.INVISIBLE);

btn= (Button) findViewById(R.id.button);

onClicked();

}

public void onClicked(){

btn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

if (isOnline()) {

requestData("http://10.0.0.2/database/getInfoDroid.php");

} else {

Toast.makeText(MainActivity.this, "Network Unavailable", Toast.LENGTH_LONG).show();

}

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.menu_main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

int id = item.getItemId();

if (id == R.id.action_settings) {

}

return super.onOptionsItemSelected(item);

}

private void requestData(String uri) {

MyTask task=new MyTask();

task.execute(uri);

}

protected void updateDisplay(){

if (userDataList!=null)

{

for (UserData userdata:userDataList

) {

output.append(userdata.getName() + "\n");

}

}

}

protected boolean isOnline(){

ConnectivityManager cm= (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);

NetworkInfo netinfo= cm.getActiveNetworkInfo();

if(netinfo!= null && netinfo.isConnectedOrConnecting()){

return true;

}

else {

return false;

}

}

private class MyTask extends AsyncTask {

@Override

protected void onPreExecute() {

// updateDisplay("Background Task Started");

pb.setVisibility(View.VISIBLE);

}

@Override

protected Object doInBackground(Object[] objects) {

String content =HttpManager.getData(objects[0].toString());

return content;

}

@Override

protected void onPostExecute(Object o) {

userDataList= UserDataJsonParser.parseFeed(o.toString());

updateDisplay();

pb.setVisibility(View.INVISIBLE);

}

@Override

protected void onProgressUpdate(Object[] values) {

//updateDisplay(values[0].toString());

}

}

}

HttpManager:

public class HttpManager {

public static String getData(String uri){

StringBuilder sb=new StringBuilder();

BufferedReader reader=null;

try {

URL url=new URL(uri);

HttpURLConnection con= (HttpURLConnection) url.openConnection();

reader=new BufferedReader(new InputStreamReader(con.getInputStream()));

String line;

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

sb.append(line+ "\n");

}

return sb.toString();

}

catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

finally {

if (reader!=null){

try {

reader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

return sb.toString();

}

}

JsonParser class:

public class UserDataJsonParser {

public static List parseFeed(String content){

System.out.println(content);

try {

JSONArray array = new JSONArray(content);

List dataList= new ArrayList<>();

JSONObject obj=null;

for (int i=0;i

obj = array.getJSONObject(i);

UserData userData = new UserData();

userData.setId(obj.getInt("id"));

userData.setName(obj.getString("name"));

userData.setSurname(obj.getString("surname"));

userData.setUsername(obj.getString("username"));

userData.setPassword(obj.getString("password"));

dataList.add(userData);

}

return dataList;

} catch (JSONException e) {

e.printStackTrace();

return null;

}

}

}

JSon data am trying to parse:

[{"id":"1","name":"Hilary","surname":"Mwape","username":"Hilz","password":"milan"},{"id":"2","name":"John","surname":"Kalyondo","username":"jk","password":"jk92"},{"id":"3","name":"Sipiwe","surname":"Tembo","username":"ST","password":"ST91"}]

LOGCAT:

java.net.ConnectException: failed to connect to /10.0.0.2 (port 80): connect failed: ETIMEDOUT (Connection timed out)

10-05 17:19:38.770 12022-14516/hilz.myapplication W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:124)

10-05 17:19:38.770 12022-14516/hilz.myapplication W/System.err: at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)

10-05 17:19:38.770 12022-14516/hilz.myapplication W/System.err: at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:452)

10-05 17:19:38.770 12022-14516/hilz.myapplication W/System.err: at java.net.Socket.connect(Socket.java:884)

10-05 17:19:38.770 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.internal.Platform.connectSocket(Platform.java:117)

10-05 17:19:38.770 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.internal.http.SocketConnector.connectRawSocket(SocketConnector.java:160)

10-05 17:19:38.770 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.internal.http.SocketConnector.connectCleartext(SocketConnector.java:67)

10-05 17:19:38.770 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.Connection.connect(Connection.java:152)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:185)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:128)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:341)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:433)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:384)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:231)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at hilz.myapplication.HttpManager.getData(HttpManager.java:22)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at hilz.myapplication.MainActivity$MyTask.doInBackground(MainActivity.java:122)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:295)

10-05 17:19:38.771 12022-14516/hilz.myapplication W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)

10-05 17:19:38.772 12022-14516/hilz.myapplication W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)

10-05 17:19:38.772 12022-14516/hilz.myapplication W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)

10-05 17:19:38.772 12022-14516/hilz.myapplication W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)

10-05 17:19:38.772 12022-14516/hilz.myapplication W/System.err: at java.lang.Thread.run(Thread.java:818)

10-05 17:19:38.772 12022-14516/hilz.myapplication W/System.err: Caused by: android.system.ErrnoException: connect failed: ETIMEDOUT (Connection timed out)

10-05 17:19:38.772 12022-14516/hilz.myapplication W/System.err: at libcore.io.Posix.connect(Native Method)

10-05 17:19:38.772 12022-14516/hilz.myapplication W/System.err: at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:111)

10-05 17:19:38.772 12022-14516/hilz.myapplication W/System.err: at libcore.io.IoBridge.connectErrno(IoBridge.java:137)

10-05 17:19:38.772 12022-14516/hilz.myapplication W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:122)

10-05 17:19:38.773 12022-14516/hilz.myapplication W/System.err: ... 23 more

10-05 17:19:38.810 12022-12022/hilz.myapplication W/System.err: org.json.JSONException: End of input at character 0 of

10-05 17:19:38.811 12022-12022/hilz.myapplication W/System.err: at org.json.JSONTokener.syntaxError(JSONTokener.java:449)

10-05 17:19:38.811 12022-12022/hilz.myapplication W/System.err: at org.json.JSONTokener.nextValue(JSONTokener.java:97)

10-05 17:19:38.811 12022-12022/hilz.myapplication W/System.err: at org.json.JSONArray.(JSONArray.java:92)

10-05 17:19:38.811 12022-12022/hilz.myapplication W/System.err: at org.json.JSONArray.(JSONArray.java:108)

10-05 17:19:38.811 12022-12022/hilz.myapplication W/System.err: at hilz.myapplication.UserDataJsonParser.parseFeed(UserDataJsonParser.java:15)

10-05 17:19:38.811 12022-12022/hilz.myapplication W/System.err: at hilz.myapplication.MainActivity$MyTask.onPostExecute(MainActivity.java:133)

10-05 17:19:38.811 12022-12022/hilz.myapplication W/System.err: at android.os.AsyncTask.finish(AsyncTask.java:651)

10-05 17:19:38.811 12022-12022/hilz.myapplication W/System.err: at android.os.AsyncTask.-wrap1(AsyncTask.java)

10-05 17:19:38.811 12022-12022/hilz.myapplication W/System.err: at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668)

10-05 17:19:38.812 12022-12022/hilz.myapplication W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)

10-05 17:19:38.812 12022-12022/hilz.myapplication W/System.err: at android.os.Looper.loop(Looper.java:148)

10-05 17:19:38.812 12022-12022/hilz.myapplication W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5417)

10-05 17:19:38.812 12022-12022/hilz.myapplication W/System.err: at java.lang.reflect.Method.invoke(Native Method)

10-05 17:19:38.812 12022-12022/hilz.myapplication W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)

10-05 17:19:38.812 12022-12022/hilz.myapplication W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

10-05 19:04:43.849 12022-12030/? I/art: Ignoring second debugger -- accepting and dropping

解决方案

Finally found a solution,Everyone says use 10.0.0.2 but that gives the above error in my URL but used my Pc actual ip n worked like a charm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值