Я новичок в android и создаю страницу регистрации. Поскольку андроид не поддерживает mysql, я создал скрипт на основе php, который выдает целочисленные значения для разных запросов.Android: Если оператор выскакивает, даже если условие верное
2 --> successful insertion in database
-1 --> Email already used
0--> username used
В зависимости от целочисленного значения ответа, которое я получаю из сценария php, выполняю последующие задачи. Несмотря на то, что успешная вставка значений в базу данных и первый печатный элемент показывают значения Regresult как «2», оператор if не работает, а операторы if else работают нормально.
/* Getting the response back from the PHPAPI and storing it in a variable */
HttpEntity entity = Response.getEntity();
String Regresult = EntityUtils.toString(entity);
/* printing value of Regresult to verify if the condition is right or wrong */
System.out.println(Regresult);
/* Registration depending upon response from Http post call */
/* Email used works fine when Regresult = -1 */
if(Regresult.equals("-1"))
{
Context text = getApplicationContext();
CharSequence message = "Email already in use.";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(text, message, duration);
toast.show();
}
/* Username used work fine when Regresult = 0 */
else if(Regresult.equals("0"))
{
Context text = getApplicationContext();
CharSequence message = "Username already in use.";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(text, message, duration);
toast.show();
}
/* Here is the problem when Regresult= 2 , even though consition is correct the statement don't get executed */
else if(Regresult.equals("2"))
{
Context text = getApplicationContext();
CharSequence message = "Registration Successful.";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(text, message, duration);
toast.show();
System.out.println(Regresult);
}
Спасибо, что работает! –