2014-02-12 83 views
0

好的,我想這個召喚:Android的URL IOException異常

ArrayList<NameValuePair> httpParams; 

    httpParams = new ArrayList<NameValuePair>(); 
    httpParams.add(new BasicNameValuePair("name", name)); 
    httpParams.add(new BasicNameValuePair("username", username)); 
    httpParams.add(new BasicNameValuePair("password", password)); 
    httpParams.add(new BasicNameValuePair("email", email)); 
    httpParams.add(new BasicNameValuePair("gender", gender)); 

    try { 
     SERVICE_URL = new URL("http://idea-app.net/android/com/ProjectCaruso/Idea/SaveUser.php"); 

    } catch (MalformedURLException e) { 
     Log.i(Utils.TAG, "Login Async: MalformedURLException: " + e.toString()); 
     e.printStackTrace(); 
    } 


    String response = doUrlPost(SERVICE_URL, httpParams); 

這裏是它調用的代碼:

public String doUrlPost(URL url, ArrayList<NameValuePair> httpParams) { 

    if (url != null) { 
     String response = ""; 

     try { 
      HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
      conn.setReadTimeout(10000); 
      conn.setConnectTimeout(15000); 
      conn.setRequestMethod("POST"); 
      conn.setDoInput(true); 
      conn.setDoOutput(true); 

      OutputStream os = conn.getOutputStream(); 
      BufferedWriter writer = new BufferedWriter(
        new OutputStreamWriter(os, "UTF-8")); 
      writer.write(getQuery(httpParams)); 
      writer.close(); 
      os.close(); 

      conn.connect(); 

      //start listening to the stream 
      Scanner inStream = new Scanner(conn.getInputStream()); 

      //process the stream and store it in StringBuilder 
      while(inStream.hasNextLine()) 
      response+=(inStream.nextLine()); 

     } catch (ProtocolException e) { 
      Log.i(Utils.TAG, "Login Async: ProtocolException: " + e.toString()); 
     } 
     catch (IOException e) { 
      Log.i(Utils.TAG, "Login Async: IOException: " + e.toString()); 
     } 

     return response; 
    } else { 
     return null; 
    } 

} 

public String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException { 
    StringBuilder result = new StringBuilder(); 
    boolean first = true; 

    for (NameValuePair pair : params) 
    { 
     if (pair.getValue() == null) { 
      Log.i(Utils.TAG, "Push Data: Null value pair for: " + pair.getName()); 
     } else { 

      if (first) 
       first = false; 
      else 
       result.append("&"); 
       result.append(URLEncoder.encode(pair.getName(), "UTF-8")); 
       result.append("="); 
       result.append(URLEncoder.encode(pair.getValue(), "UTF-8")); 
       } 
    } 

    return result.toString(); 
} 

這裏的錯誤:

02-12 09:37:49.366: I/PROJECTCARUSO(29457): Login Async: IOException: java.io.FileNotFoundException: http://idea-app.net/android/com/ProjectCaruso/Idea/SaveUser.php 
02-12 09:37:49.366: W/System.err(29457): java.io.FileNotFoundException: http://idea-app.net/android/com/ProjectCaruso/Idea/SaveUser.php 
02-12 09:37:49.366: W/System.err(29457): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186) 
02-12 09:37:49.366: W/System.err(29457): at com.projectCaruso.idea.LoginAsyncTask.doUrlPost(LoginAsyncTask.java:108) 
02-12 09:37:49.366: W/System.err(29457): at com.projectCaruso.idea.LoginAsyncTask.doInBackground(LoginAsyncTask.java:69) 
02-12 09:37:49.366: W/System.err(29457): at com.projectCaruso.idea.LoginAsyncTask.doInBackground(LoginAsyncTask.java:1) 
02-12 09:37:49.366: W/System.err(29457): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
02-12 09:37:49.366: W/System.err(29457): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
02-12 09:37:49.366: W/System.err(29457): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
02-12 09:37:49.366: W/System.err(29457): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
02-12 09:37:49.376: W/System.err(29457): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
02-12 09:37:49.376: W/System.err(29457): at java.lang.Thread.run(Thread.java:841) 
+1

java.io.FileNotFoundException:http://idea-app.net/android/com/ProjectCaruso/Idea/SaveUser.php –

+0

謝謝你,這是公然明顯,這是錯誤的投擲,但URL不存在。 – jcaruso

+0

你有互聯網許可? – LordT

回答

0

查看您的logcat :

java.io.FileNotFoundException: http://idea-app.net/android/com/ProjectCaruso/Idea/SaveUser.php 

這個網址真的存在嗎? http://idea-app.net/android/com/ProjectCaruso/Idea/SaveUser.php

+0

好吧,我沒有看到評論,這個問題解決了。 – Jorgesys

+0

我認爲你誤解了Elenasys,這個url存在,但是當你去它時它不會做任何事情,因爲它的php並且如果你沒有傳入它所需要的值,就會死掉。因此是空白頁面。我告訴泰勒,因爲他所做的一切都是引用日誌貓,它既沒有幫助也沒有解釋。正如我害怕他......毫無價值。 – jcaruso