2013-04-28 206 views
1

我刚刚试图获得一个简单的登录脚本工作,我的PHP是过时的蹩脚,但我有一个iOS版本的这个相同的应用程序,工作正常登录,我知道nothings与我的PHP脚本错误,我需要他们保持不变,或者我想我可以创建一个新的名为android_login.php但让我工作与我现在得到。java.net.unknownhostexception无法解析主机

我的错误很常见,但我尝试了所有的常见修复,包括重新创建VDM设备,甚至现在使用我的物理电话进行测试。我的手机输出java.net.unknownhostexception unable to resolve host到我et_un文本编辑我的继承人代码

我包括以下到AndroidManifest.xml

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

我的继承人LoginActivity.java 修订

package com.example.atmebeta; 


import com.loopj.android.http.AsyncHttpClient; 
import com.loopj.android.http.AsyncHttpResponseHandler; 
import com.loopj.android.http.RequestParams; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class LoginActivity extends Activity { 
    EditText un,pw; 
    TextView error; 
    Button ok; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.login); 
     un=(EditText)findViewById(R.id.et_un); 
     pw=(EditText)findViewById(R.id.et_pw); 
     ok=(Button)findViewById(R.id.btn_login); 
     error=(TextView)findViewById(R.id.tv_error); 

     ok.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       AsyncHttpClient client = new AsyncHttpClient(); 
       RequestParams parameters = new RequestParams(); 
       parameters.put("email", un.getText().toString()); 
       parameters.put("password", pw.getText().toString()); 
       client.get("http://www.thatonewebsite.com/login.php", parameters, new AsyncHttpResponseHandler() { 
        public final void onSuccess(String response) { 
         error.setText("Correct Username or Password"); 
        } 

        public void onFailure(Throwable e, String response) { 
         error.setText("Sorry!! Incorrect Username or Password"); 
        } 
       }); 

      } 
     }); 
    } 
} 

登录。 xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#DDDDDD" 
    tools:context=".LoginActivity"> 

    <TextView 
     android:id="@+id/tv_un" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="62dp" 
     android:text="User Name:" 
     android:textColor="#444444" 
     android:textSize="10pt" /> 

    <EditText 
     android:id="@+id/et_un" 
     android:layout_width="150dip" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/et_pw" 
     android:layout_below="@+id/tv_un" 
     android:background="@android:drawable/editbox_background" 
     android:ems="10" /> 

    <EditText 
     android:id="@+id/et_pw" 
     android:layout_width="150dip" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/tv_pw" 
     android:layout_centerHorizontal="true" 
     android:background="@android:drawable/editbox_background" 
     android:ems="10" 
     android:password="true" /> 

    <TextView 
     android:id="@+id/tv_pw" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/et_un" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="14dp" 
     android:text="Password:" 
     android:textColor="#444444" 
     android:textSize="10pt" /> 

    <Button 
     android:id="@+id/btn_login" 
     android:layout_width="100dip" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:text="Login" /> 

    <TextView 
     android:id="@+id/tv_error" 
     android:layout_width="fill_parent" 
     android:layout_height="40dip" 
     android:layout_below="@+id/btn_login" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="40dp" 
     android:textColor="#AA0000" 
     android:textSize="7pt" /> 

</RelativeLayout> 

,如果它需要的login.php

<?php 

if (isset($_GET["email"]) && isset($_GET["password"])){ 
       $email = $_GET["email"]; 
       $password = $_GET["password"]; 
       $result = login($email, $password); 
       echo $result; 
       } 

function makeSqlConnection() 
{ 
$DB_Host = "localhost"; 
$DB_Name = "bdname"; 
$DB_User = "dbuser"; 
$DB_Pass = "dbpass"; 

    $con = mysql_connect($DB_Host,$DB_User,$DB_Pass) or die(mysql_error()); 

     mysql_select_db($DB_Name,$con) or die(mysql_error()); 

    return $con; 
} 

function disconnectSqlConnection($con) 
{ 
    mysql_close($con); 
} 

function login($eMail, $password) 
{ 
    //require (FILE); 
    $con = makeSqlConnection(); 

    $sql = "SELECT * FROM user WHERE email = '$eMail' AND password = '$password'"; 
    $res = mysql_query($sql,$con) or die(mysql_error()); 
    $fetch = mysql_fetch_array($res); 
    $res1 = mysql_num_rows($res); 

    disconnectSqlConnection($con); 

    if ($res1 != 0) { 
     return $fetch['email']; 
    }else{ 
     return 0; 
    }// end else 


} 

?> 

回答

1

这似乎激进,但抛开你CustomHttpClient.java并开始使用库如Android Asynchronous Http Client。如果您在切换到为您处理所有这些内容的库后仍然遇到问题,我将感到非常惊讶。例如:

AsyncHttpClient client = new AsyncHttpClient(); 
RequestParams rp = new RequestParams(); 
rp.put("email", un.getText().toString()); 
rp.put("password", pw.getText().toString()); 
client.post("http://www.mywebsite.com/thatoneloginscript.php", rp, new AsyncHttpResponseHandler() { 
    @Override 
    public final void onSuccess(String response) { 
     // handle your response here 
    } 

    @Override 
    public void onFailure(Throwable e, String response) { 
     // something went wrong 
    }    
}); 
+0

感谢您的建议我会试一试 – 2013-04-28 23:24:18

+0

我试着去寻找无JSON – 2013-04-29 01:33:23

+1

Android的异步HTTP客户端的解决方案可以使用JSON,如果你想,但你不必。我会用一个简单的例子进行更新。 – britzl 2013-04-29 05:51:40

相关问题