{"id":5408,"date":"2014-03-30T21:39:39","date_gmt":"2014-03-30T21:39:39","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/03\/30\/inputstream-doesnt-run-collection-of-common-programming-errors\/"},"modified":"2014-03-30T21:39:39","modified_gmt":"2014-03-30T21:39:39","slug":"inputstream-doesnt-run-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2014\/03\/30\/inputstream-doesnt-run-collection-of-common-programming-errors\/","title":{"rendered":"InputStream doesn&#39;t run-Collection of common programming errors"},"content":{"rendered":"<p>I&#8217;m doing a small android project, which the first feature is to connect to my server and execute a php parser for take some articles. My on create invoke this method:<\/p>\n<pre><code>private String jsonTaker() throws IOException, JSONException {  \n    \/\/call EventsTaker class -&gt; take the 'articles'\n    JsonReader jsr = new JsonReader();\n\n    JSONObject json =     jsr.readJsonFromUrl(\"http:\/\/jem88.net\/timeSpaceParser.php\");\n    System.out.println(json.toString());\n    System.out.println(json.get(\"id\"));\n\n    return json.toString();\n}\n<\/code><\/pre>\n<p>this is the <code>readJsonFromUrl()<\/code> and <code>readAll()<\/code> method:<\/p>\n<pre><code>public JSONObject readJsonFromUrl(String url) throws IOException, JSONException {\n    InputStream is = new URL (url).openStream();\n    \/\/sia maledetto il creatore di java e tutta la sua genia diojavosogeloso\n    InputStreamReader isr = new InputStreamReader(is, Charset.forName(\"UTF-8\"));\n    BufferedReader rd = new BufferedReader(isr);\n    String jsonText = readAll(rd);\n    JSONObject json = new JSONObject(jsonText);\n    Log.d(\"readJsonFromUrl\", \"String to json transformed!\");\n    is.close();\n    return json;        \n}\n\nprivate static String readAll(Reader rd) throws IOException {\n    StringBuilder sb = new StringBuilder();\n    int cp;\n    while ((cp = rd.read()) != -1) {\n        sb.append((char) cp);\n    }\n    return sb.toString();\n}\n<\/code><\/pre>\n<p>The error appears when on debug mode, the executions arrive to the first line of <code>readJsonFromUrl()<\/code> method, where I try to open the stream. Here the application crashes with &#8216;Source not found&#8217; error. I&#8217;ve tried googling about this, but no one of the suggestion given was good for me! So, any suggestion would be great!<\/p>\n<p>EDIT -&gt; I&#8217;ve edited the exception&#8217;s manage, and now I catch a FATAL Exception. Here is the logcat:<\/p>\n<pre><code>06-04 23:46:56.411: D\/AndroidRuntime(22456): Shutting down VM\n06-04 23:46:56.411: W\/dalvikvm(22456): threadid=1: thread exiting with uncaught exception (group=0x40e312a0)\n06-04 23:46:56.436: E\/AndroidRuntime(22456): FATAL EXCEPTION: main\n06-04 23:46:56.436: E\/AndroidRuntime(22456): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jem88.timespace\/com.jem88.timespace.MainActivity}: android.os.NetworkOnMainThreadException\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.app.ActivityThread.access$700(ActivityThread.java:140)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.os.Handler.dispatchMessage(Handler.java:99)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.os.Looper.loop(Looper.java:137)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.app.ActivityThread.main(ActivityThread.java:4921)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at java.lang.reflect.Method.invokeNative(Native Method)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at java.lang.reflect.Method.invoke(Method.java:511)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at dalvik.system.NativeStart.main(Native Method)\n06-04 23:46:56.436: E\/AndroidRuntime(22456): Caused by: android.os.NetworkOnMainThreadException\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1118)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at java.net.InetAddress.lookupHostByName(InetAddress.java:385)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at java.net.InetAddress.getAllByName(InetAddress.java:214)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpConnection.(HttpConnection.java:70)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpConnection.(HttpConnection.java:50)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpEngine.connect(HttpEngine.java:310)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at java.net.URL.openStream(URL.java:462)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at com.jem88.timespace.JsonReader.readJsonFromUrl(JsonReader.java:44)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at com.jem88.timespace.MainActivity.jsonTaker(MainActivity.java:46)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at com.jem88.timespace.MainActivity.onCreate(MainActivity.java:23)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.app.Activity.performCreate(Activity.java:5206)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)\n06-04 23:46:56.436: E\/AndroidRuntime(22456):    ... 11 more\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m doing a small android project, which the first feature is to connect to my server and execute a php parser for take some articles. My on create invoke this method: private String jsonTaker() throws IOException, JSONException { \/\/call EventsTaker class -&gt; take the &#8216;articles&#8217; JsonReader jsr = new JsonReader(); JSONObject json = jsr.readJsonFromUrl(&#8220;http:\/\/jem88.net\/timeSpaceParser.php&#8221;); System.out.println(json.toString()); [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5408","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/5408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=5408"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/5408\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=5408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=5408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=5408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}