2013-07-25 47 views
0

我想將一個用戶和密碼POST到一個位於遠程服務器上的php文件,並且android給了我一個我不明白的異常。Android post post innexplicable error

我的意思是,我的代碼看起來是這樣的:

String url_connect = "http://myhost.com/mylogin.php"; 
Boolean result_back; 

public boolean loginstatus(String username ,String password) { 
    int logstatus=-1; 
    ArrayList<NameValuePair> postparameters2send= new ArrayList<NameValuePair>(); 
    postparameters2send.add(new BasicNameValuePair("uzer",username)); 
    postparameters2send.add(new BasicNameValuePair("pass",md5(password))); 
    JSONArray jdata=post.getserverdata(postparameters2send, url_connect); 
    ... more code here 
} 

和logcat的

Error in http connection: java.net.UnknownHostException: myhost.com 

但問題是...錯誤。如果我複製上述聲明的,整個url_connect字符串將其粘貼到瀏覽器中......它工作得很好。爲什麼Eclipse會拋出我這個錯誤?

我該如何解決這個問題?

我的AndroidManifest.xml是:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.mysoft.mydualscreenpro" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.mysoft.mydualscreenpro.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.mysoft.mydualscreenpro.MyNewScreen" 
      android:label="@string/title_activity_my_new_screen" > 
     </activity> 
    </application> 

</manifest> 

回答

0

確保在AndroidManifest文件添加INTERNET權限,否則Android將不會讓你的應用程序訪問互聯網,將拋出excception。

+0

謝謝。它解決了我的問題 – user1137313

0

您需要指定您的應用程序有權訪問互聯網。當用戶安裝應用程序時,他們會看到您的應用程序將訪問互聯網,並選擇他們是否仍然希望在此輸入代碼。

<uses-permission android:name="android.permission.INTERNET" /> 

應該去<application>標籤之外,並與您可以使用任何其他權限沿<manifest>標籤內,如下圖所示。

</application> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
</manifest> 

還有一堆更多的權限,你應該瞭解: http://developer.android.com/guide/topics/security/permissions.html