Ich erstelle eine Android-App mit Android Studio. Die Anmeldeseite prüft Benutzer-Benutzername und Kennwortdetails anhand von Details, die in einer MYSQL-Datenbank mit PHP gespeichert sind, und gibt dem Benutzer Informationen darüber, ob die eingegebenen Daten erfolgreich oder nicht erfolgreich sind. Ich kann derzeit keine neue Aktivität öffnen, wenn die Anmeldung erfolgreich ist. Kann mir bitte jemand helfen? Vielen Dank.Öffnen Sie eine neue Aktivität nach erfolgreicher Anmeldung Android Studio-App
public class BackgroundWorker extends AsyncTask<String,Void,String> {
Context context;
AlertDialog alertDialog;
BackgroundWorker (Context ctx) {
context = ctx;
}
@Override
protected String doInBackground(String... params) {
String type = params[0];
String login_url = "http://192.168.1.10/stafflogin.php";
String createAccount_url = "http://192.168.1.10/staffcreateaccount.php";
if(type.equals("login")) {
try {
String user_name = params[1];
String password = params[2];
URL url = new URL(login_url);
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
String post_data = URLEncoder.encode("user_name","UTF-8")+"="+URLEncoder.encode(user_name,"UTF-8")+"&"
+URLEncoder.encode("password","UTF-8")+"="+URLEncoder.encode(password,"UTF-8");
bufferedWriter.write(post_data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
String result="";
String line="";
while((line = bufferedReader.readLine())!= null) {
result += line;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onPreExecute() {
alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle("Login Status");
}
@Override
protected void onPostExecute(String result) {
alertDialog.setMessage(result);
alertDialog.show();
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
}
was ist das Ergebnis, das Sie bekommen? –
Ich bekomme gerade eine Nachricht zu sagen, ob die Anmeldung erfolgreich oder nicht erfolgreich ist. Die Nachricht stammt aus der PHP-Datei. – PeterJenkin
Verwenden Sie Ihre onPostExecute-Methode, um eine neue Aktivität zu starten – user3641702