Error:(82, 13) error: cannot find symbol method startActivity(Intent)
Java
package com.test.mysql;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import static android.support.v4.app.ActivityCompat.startActivity;
/**
* Created by Lars on 04.02.2016.
*/
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://mensaorga.esy.es/login.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);
}
}
Alles anzeigen
Hallo,
oben ist mein Code, der es mir erlaubt einen Anmeldescreen mit meiner mysql Datenbank zu verbinden.
Das funktioniert auch.
Jetzt möchte ich bei erfolgreichem Login, dass eine neue Activity aufgerufen wird.
Ich dachte dabei an folgendes in der onPostExecute Funktion nach dem .show()
Code
if(result.equals("Login Success")){
Intent intent = new Intent ("com.test.mysql.Startbildschirm");
startActivity (intent);
}
Allerdings meckert er, wenn ich "startActivity" machen will.
Fehler:
Error:(82, 13) error: cannot find symbol method startActivity(Intent)
Wie kann ich das umgehen?
Bekommt er irgendwas nicht in die Funktion mit übergeben oder woran liegt das?
Ich hoffe es ist verständlich, grüße