Я новичок в разработке Android и в настоящее время я работаю над своим проектом, который включает в себя вход из моего приложения на облачный сервер. И у меня есть очень большая проблема при входе из моего Android-приложения в облако. Сервер запускает PHP-скрипт для поиска в базе данных идентификатора и пароля. Код PHP ниже:
<?php
$myConnection = mysql_connect("mysql.hostinger.ph","xxxxx_user","xxxx_password");
mysql_select_db("xxxx_dbname",$myConnection);
$driverID = $_POST['driverID'];
$password = $_POST['password'];
$query_search = "select * from users where driverID = '".$driverID."' AND password = '".$password. "'";
$query_exec = mysql_query($query_search) or die(mysql_error());
$rows = mysql_num_rows($query_exec);
if($rows --> 0) { echo "Y"; }
else {echo "N"; }
?>
Мой код Android не содержит ошибок, и я уже могу скомпилировать проект, и он работает без сбоев, поэтому у него нет проблем. Но когда я запускаю приложение в своем телефоне, оно говорит: «К сожалению, имя приложения остановилось»
Мой код Java ниже:
public class DriverLogin extends Activity {
Button login;
String driver="",pass="";
EditText driverID,password;
byte[] data;
HttpPost httppost;
StringBuffer buffer;
HttpResponse response;
HttpClient httpclient;
InputStream inputStream;
List<NameValuePair> nameValuePairs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.driver_login);
// get action bar
ActionBar actionBar = getActionBar();
//showing action bar
actionBar.show();driverID = (EditText) findViewById(R.id.txtDriverID);
password = (EditText) findViewById(R.id.txtPassword);
login = (Button) findViewById(R.id.btnDriverLogin);login.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
driver = driverID.getText().toString();
pass = password.getText().toString();
if(driver.equals("") || pass.equals(""))
{
Toast.makeText(getApplicationContext(), "Please input required field", Toast.LENGTH_LONG).show();
}
else
{try {
httpclient = new DefaultHttpClient();
httppost = new HttpPost("http://example.net/myDBConnectors/signIn.php");
// Add your data
nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("driverID", driver.trim()));
nameValuePairs.add(new BasicNameValuePair("password", pass.trim()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
response = httpclient.execute(httppost);
inputStream = response.getEntity().getContent();
data = new byte[256];
buffer = new StringBuffer();
int len = 0;
while (-1 != (len = inputStream.read(data)) )
{
buffer.append(new String(data, 0, len));
}
inputStream.close();
}
catch (Exception e)
{
Toast.makeText(getApplicationContext(), "error"+e.toString(), Toast.LENGTH_LONG).show();
}
if(buffer.charAt(0)=='Y')
{
Toast.makeText(getApplicationContext(), "Login Successfull", Toast.LENGTH_LONG).show();
proceedToAideLogin();
}
else
{
Toast.makeText(getApplicationContext(), "Invalid Username or Password", Toast.LENGTH_LONG).show();
}
}
}
private void proceedToAideLogin() {
// TODO Auto-generated method stub
Intent i = new Intent(DriverLogin.this, TourAideLogin.class);
startActivity(i);
}
});}
}
Кроме того, я проверил манифест и уже добавил разрешение на использование интернета:<uses-permission android:name="android.permission.INTERNET" />
Пожалуйста, помогите мне. Заранее большое спасибо!
Задача ещё не решена.
Других решений пока нет …