Android网络无法访问

编程入门 行业动态 更新时间:2024-10-25 19:25:37
本文介绍了Android网络无法访问-ENETUNREACH的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我的android应用程序出现了一个奇怪的错误.我正在使用Xampp在本地服务器上进行测试.该应用程序将从数据库中检索记录并将其存储在手机中.

I'm having a weird error on my android application. I'm testing with a local server using Xampp. The App is to retrieve records from a Database and store them in the phone.

问题是,我已经在Android 2.3.6的Motorola XT550和Android 4.0.4的Sony Xperia S中测试了该应用程序,并且该应用程序运行良好.但是,当我用带有Android 4.1.2的Samsung Fame(我的客户的手机)对其进行测试时,它不起作用.

The thing is I have tested the app in a Motorola XT550 with Android 2.3.6 and in my Sony Xperia S with Android 4.0.4 and the app works just fine. But when I test it with a Samsung Fame with Android 4.1.2 (my client's phone) it doesn't work.

这是LogCat:

02-22 04:48:33.001 3961-3976/com.sistel.manantiales W/System.err﹕ at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:183) 02-22 04:48:33.001 3961-3976/com.sistel.manantiales W/System.err﹕ at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 02-22 04:48:33.001 3961-3976/com.sistel.manantiales W/System.err﹕ at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 02-22 04:48:33.011 3961-3976/com.sistel.manantiales W/System.err﹕ at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360) 02-22 04:48:33.011 3961-3976/com.sistel.manantiales W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:670) 02-22 04:48:33.011 3961-3976/com.sistel.manantiales W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:509) 02-22 04:48:33.011 3961-3976/com.sistel.manantiales W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 02-22 04:48:33.011 3961-3976/com.sistel.manantiales W/System.err﹕ at com.sistel.manantiales.SyncActivity$DatabaseSync.updateDatabase(SyncActivity.java:198) 02-22 04:48:33.011 3961-3976/com.sistel.manantiales W/System.err﹕ at com.sistel.manantiales.SyncActivity$DatabaseSync.doInBackground(SyncActivity.java:165) 02-22 04:48:33.011 3961-3976/com.sistel.manantiales W/System.err﹕ at com.sistel.manantiales.SyncActivity$DatabaseSync.doInBackground(SyncActivity.java:147) 02-22 04:48:33.011 3961-3976/com.sistel.manantiales W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:287) 02-22 04:48:33.011 3961-3976/com.sistel.manantiales W/System.err﹕ at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 02-22 04:48:33.011 3961-3976/com.sistel.manantiales W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:137) 02-22 04:48:33.021 3961-3976/com.sistel.manantiales W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 02-22 04:48:33.021 3961-3976/com.sistel.manantiales W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 02-22 04:48:33.021 3961-3976/com.sistel.manantiales W/System.err﹕ at java.lang.Thread.run(Thread.java:856) 02-22 04:48:33.021 3961-3976/com.sistel.manantiales W/System.err﹕ Caused by: java.ConnectException: failed to connect to /10.0.0.7 (port 80) after 15000ms: connect failed: ENETUNREACH (Network is unreachable) 02-22 04:48:33.021 3961-3976/com.sistel.manantiales W/System.err﹕ at libcore.io.IoBridge.connect(IoBridge.java:114) 02-22 04:48:33.031 3961-3976/com.sistel.manantiales W/System.err﹕ at java.PlainSocketImpl.connect(PlainSocketImpl.java:192) 02-22 04:48:33.031 3961-3976/com.sistel.manantiales W/System.err﹕ at java.PlainSocketImpl.connect(PlainSocketImpl.java:459) 02-22 04:48:33.031 3961-3976/com.sistel.manantiales W/System.err﹕ at java.Socket.connect(Socket.java:842) 02-22 04:48:33.031 3961-3976/com.sistel.manantiales W/System.err﹕ at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119) 02-22 04:48:33.031 3961-3976/com.sistel.manantiales W/System.err﹕ at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144) 02-22 04:48:33.031 3961-3976/com.sistel.manantiales W/System.err﹕ ... 15 more 02-22 04:48:33.041 3961-3976/com.sistel.manantiales W/System.err﹕ Caused by: libcore.io.ErrnoException: connect failed: ENETUNREACH (Network is unreachable) 02-22 04:48:33.081 1216-1467/? V/AudioFlinger﹕ presentationComplete() session 35 complete: framesWritten 940032 02-22 04:48:33.081 1216-1467/? V/AudioFlinger﹕ TrackBase::reset 02-22 04:48:33.091 3961-3976/com.sistel.manantiales W/System.err﹕ at libcore.io.Posix.connect(Native Method) 02-22 04:48:33.091 3961-3964/com.sistel.manantiales D/dalvikvm﹕ GC_CONCURRENT freed 197K, 13% free 7645K/8775K, paused 16ms+16ms, total 54ms 02-22 04:48:33.091 3961-3976/com.sistel.manantiales W/System.err﹕ at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:85) 02-22 04:48:33.091 3961-3976/com.sistel.manantiales W/System.err﹕ at libcore.io.IoBridge.connectErrno(IoBridge.java:144) 02-22 04:48:33.101 3961-3976/com.sistel.manantiales W/System.err﹕ at libcore.io.IoBridge.connect(IoBridge.java:112) 02-22 04:48:33.101 3961-3976/com.sistel.manantiales W/System.err﹕ ... 20 more 02-22 04:48:33.101 1577-1800/? D/PowerManagerService﹕ acquireDVFSLockLocked : type : DVFS_MIN_LIMIT frequency : 999999 uid : 1000 pid : 1577 tag : ActivityManager 02-22 04:48:33.101 1577-1800/? W/ActivityManager﹕ mDVFSLock.acquire() 02-22 04:48:33.141 1577-1800/? D/BatteryStatsImpl﹕ ++++++xy WakeLock start : pid=1577, name=, type=0, tid=1800, pid=1577, pName=null 02-22 04:48:33.161 1577-1588/? D/WindowManager﹕ PhoneWindowManager: focusChangedLw 02-22 04:48:33.161 1577-1588/? D/WindowManager﹕ updateReadingMode 02-22 04:48:33.161 1577-1588/? D/KeyguardViewMediator﹕ setHidden false 02-22 04:48:33.161 1577-1588/? D/WindowManager﹕ mInputFocus is not null. 02-22 04:48:33.161 1577-1588/? D/WindowManager﹕ mInputFocus is not null. 02-22 04:48:33.161 1577-1588/? D/WindowManager﹕ mInputFocus is not null. 02-22 04:48:33.191 3961-3961/com.sistel.manantiales D/AbsListView﹕ Get MotionRecognitionManager 02-22 04:48:33.211 3961-3976/com.sistel.manantiales W/dalvikvm﹕ threadid=11: thread exiting with uncaught exception (group=0x411ba2a0) 02-22 04:48:33.211 1577-1810/? D/WindowManager﹕ mInputFocus is not null. 02-22 04:48:33.211 3961-3976/com.sistel.manantiales E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1 java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:299) at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) at java.util.concurrent.FutureTask.setException(FutureTask.java:124) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) at java.util.concurrent.FutureTask.run(FutureTask.java:137) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) at java.lang.Thread.run(Thread.java:856) Caused by: java.lang.IllegalArgumentException: HTTP entity may not be null at org.apache.http.util.EntityUtils.toString(EntityUtils.java:110) at org.apache.http.util.EntityUtils.toString(EntityUtils.java:146) at com.sistel.manantiales.SyncActivity$DatabaseSync.updateDatabase(SyncActivity.java:217) at com.sistel.manantiales.SyncActivity$DatabaseSync.doInBackground(SyncActivity.java:165) at com.sistel.manantiales.SyncActivity$DatabaseSync.doInBackground(SyncActivity.java:147) at android.os.AsyncTask$2.call(AsyncTask.java:287) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)

这是我的代码:

public class DatabaseSync extends AsyncTask<String, Void, Boolean> { @Override protected Boolean doInBackground(String... url) { try { clientDataSource.open(); } catch (SQLException e) { e.printStackTrace(); } try { movementDataSource.open(); } catch (SQLException e) { e.printStackTrace(); } clientDataSource.deleteAllClients(); updateDatabase(url[0]); return null; } @Override protected void onPostExecute(Boolean bool) { super.onPostExecute(bool); } public void updateDatabase(String url) { ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("Operation", "Download")); nameValuePairs.add(new BasicNameValuePair("Value", "Download")); HttpParams httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParams, 15000); HttpConnectionParams.setSoTimeout(httpParams, 15000); HttpClient httpClient = new DefaultHttpClient(httpParams); HttpPost httpPost = new HttpPost(url); try { httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } HttpResponse httpResponse = null; try { httpResponse = httpClient.execute(httpPost); } catch (IOException e) { e.printStackTrace(); } HttpEntity httpEntity = null; try { httpEntity = httpResponse.getEntity(); }catch (NullPointerException e) { Intent intent = new Intent(getApplicationContext(), MainActivity.class); startActivity(intent); } String result = "empty"; try { result = EntityUtils.toString(httpEntity); } catch (IOException e) { e.printStackTrace(); } JSONObject jsonObject = null; try { jsonObject = new JSONObject(result); } catch (JSONException e) { e.printStackTrace(); } JSONArray jsonClients = null; try { jsonClients = jsonObject.getJSONArray("clients"); } catch (JSONException e) { e.printStackTrace(); } long id = 0; String name; String address; String locality; long bonus = 0; double price = 0.0; double prev_balance = 0.0; double balance = 0.0; long prev_bottles = 0; long bottles = 0; String update_date; String sync_date; for(int i = 0; i < jsonClients.length(); i++) { JSONObject json = null; try { json = jsonClients.getJSONObject(i); String s_id = new String(Base64.decode(json.get("id").toString(),Base64.DEFAULT)); name = new String(Base64.decode(json.get("name").toString(),Base64.DEFAULT)); address = new String(Base64.decode(json.get("address").toString(), Base64.DEFAULT)); locality = new String(Base64.decode(json.get("locality").toString(), Base64.DEFAULT)); String s_bonus = new String(Base64.decode(json.get("bonus").toString(), Base64.DEFAULT)); String s_price = new String(Base64.decode(json.get("price").toString(), Base64.DEFAULT)); String s_prev_balance = new String(Base64.decode(json.get("prev_balance").toString(), Base64.DEFAULT)); String s_balance = new String(Base64.decode(json.get("balance").toString(), Base64.DEFAULT)); String s_prev_bottles = new String(Base64.decode(json.get("prev_bottles").toString(), Base64.DEFAULT)); String s_bottles = new String(Base64.decode(json.get("bottles").toString(), Base64.DEFAULT)); update_date = new String(Base64.decode(json.get("update_date").toString(), Base64.DEFAULT)); sync_date = new String(Base64.decode(json.get("sync_date").toString(), Base64.DEFAULT)); id = Long.parseLong(s_id); bonus = Long.parseLong(s_bonus); price = Double.parseDouble(s_price); prev_balance = Double.parseDouble(s_prev_balance); balance = Double.parseDouble(s_balance); prev_bottles = Long.parseLong(s_prev_bottles); bottles = Long.parseLong(s_bottles); Client client = new Client(id, name, address, locality, bonus, price, prev_balance, balance, prev_bottles, bottles, update_date, sync_date); clientDataSource.insertClient(client); } catch (JSONException e) { e.printStackTrace(); } } Intent intent = new Intent(getApplicationContext(), MainActivity.class); startActivity(intent); } }

推荐答案

我发现了问题所在!三星名人堂未连接到Wi-Fi.它没有互联网.

I've figured out what was the problem! The Samsung Fame wasn't connected to the Wi-Fi. It had no internet.

更多推荐

Android网络无法访问

本文发布于:2023-11-23 10:15:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1621079.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:无法访问   网络   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!