My LogCat reads:
08-19 09:29:01.964: WARN/System.err(311): java.net.SocketException: Permission denied 08-19 09:29:02.204: WARN/System.err(311): at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocketImpl(Native Method) 08-19 09:29:02.214: WARN/System.err(311): at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocket(OSNetworkSystem.java:186) 08-19 09:29:02.214: WARN/System.err(311): at org.apache.harmony.luni.net.PlainSocketImpl.create(PlainSocketImpl.java:265) 08-19 09:29:02.224: WARN/System.err(311): at java.net.Socket.checkClosedAndCreate(Socket.java:873) 08-19 09:29:02.224: WARN/System.err(311): at java.net.Socket.connect(Socket.java:1020) 08-19 09:29:02.224: WARN/System.err(311): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:62) 08-19 09:29:02.224: WARN/System.err(311): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:88) 08-19 09:29:02.224: WARN/System.err(311): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHTTPConnection(HttpURLConnectionImpl.java:927) 08-19 09:29:02.224: WARN/System.err(311): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:909) 08-19 09:29:02.234: WARN/System.err(311): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:1152) 08-19 09:29:02.234: WARN/System.err(311): at java.net.URL.openStream(URL.java:653) 08-19 09:29:02.244: WARN/System.err(311): at around.lowell.Main.onCreate(Main.java:57) 08-19 09:29:02.244: WARN/System.err(311): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 08-19 09:29:02.244: WARN/System.err(311): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 08-19 09:29:02.244: WARN/System.err(311): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 08-19 09:29:02.244: WARN/System.err(311): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 08-19 09:29:02.244: WARN/System.err(311): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 08-19 09:29:02.244: WARN/System.err(311): at android.os.Handler.dispatchMessage(Handler.java:99) 08-19 09:29:02.244: WARN/System.err(311): at android.os.Looper.loop(Looper.java:123) 08-19 09:29:02.244: WARN/System.err(311): at android.app.ActivityThread.main(ActivityThread.java:4627) 08-19 09:29:02.254: WARN/System.err(311): at java.lang.reflect.Method.invokeNative(Native Method) 08-19 09:29:02.254: WARN/System.err(311): at java.lang.reflect.Method.invoke(Method.java:521) 08-19 09:29:02.254: WARN/System.err(311): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 08-19 09:29:02.264: WARN/System.err(311): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 08-19 09:29:02.264: WARN/System.err(311): at dalvik.system.NativeStart.main(Native Method)
The code that I have recently implemented that it is generating this error for in my Android app is:
FileOutputStream fOut = null; try { fOut = this.openFileOutput("employeeInformation.xml", MODE_PRIVATE); try { InputStream is = new URL("http://totheriver.com/learn/xml/code/employees.xml").openStream(); int size = is.available(); byte[] buffer = new byte[size]; is.read(buffer); is.close(); fOut.write(buffer); } catch(Exception e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } finally { try { fOut.close(); } catch (IOException e) { e.printStackTrace(); } }
Does anyone know what the problem is?
The java. net. SocketException: Connection reset error usually comes when one of the parties in TCP connection like client or server is trying to read/write data, but other parties abruptly close the connection like it was crashed, stopped or terminated.
The SocketException is an exception in Java that is thrown to indicate that an error was encountered while creating or accessing a Socket. Since the SocketException is a checked exception, it either needs to be thrown or surrounded by a try-catch block in code.
Add Internet permission to your manifest:
<uses-permission android:name="android.permission.INTERNET"/>
You need to go to your Manifest file in your android application project then above application
section next to other permissions add: android.permission.INTERNET
Your manifest should look something like this:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> .... <uses-permission android:name="android.permission.INTERNET" /> ... <application android:allowBackup="true" ....
keep in mind value (android.permission.INTERNET
) is case sensitive.
Hope this saves you some time.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With