栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

etimedout 运行

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910460.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号