현재 앱을 개발 중이며 간단한 인증 프로세스를 만들었습니다. 사용자가 로그인과 패스워드를 주면 서버에 데이터를 보내고 MySql 데이터베이스를 체크합니다. 계정 관리자라는 것을 알고있는 안전한 장소에 사용자 자격 증명을 저장하려고합니다. 어떻게 작동하는지 그리고 어떻게 내 코드에 적용하는지 생각할 수 없습니다. 많은 튜토리얼은 2010 년이나 그 이상입니다.Android 계정 관리자 및 로그인 성공시 다른 작업 시작
이 코드는 제대로 작동하지만 변경 사항을 추가해야합니다. 사용자가 성공적으로 로그인 한 것처럼 MainPanel.class 활동으로 리디렉션하는 활동을 시작하려고합니다. 이런 식으로 코드를 SingnInActivity에 넣으려고했지만 startActivity 메서드를 인식 할 수 없다고합니다. 어떤 아이디어로 작동 시키는가?
public void login(View view){
Intent intent = new Intent(this, loginActivity.class);
startActivity(intent);
}
아무도 도와 줄 수 있습니까? 난 어떤 도움을 주셔서 감사합니다
내 loginActivity은 다음과 같습니다. 이것은 어떤 방법 startActivity
이 AsyncTask에 없다 SignInActivity
public class SignInActivity extends AsyncTask<String,Void,String>{
private TextView statusField,roleField;
private Context context;
String d;
public SignInActivity(Context context, TextView statusField, TextView roleField) {
this.context = context;
this.statusField = statusField;
this.roleField = roleField;
}
protected void onPreExecute(){
}
@Override
protected String doInBackground(String... arg0) {
try{
String username = (String)arg0[0];
String password = (String)arg0[1];
String link="http://myserver/index.php";
String data = URLEncoder.encode("username", "UTF-8")
+ "=" + URLEncoder.encode(username, "UTF-8");
data += "&" + URLEncoder.encode("password", "UTF-8")
+ "=" + URLEncoder.encode(password, "UTF-8");
URL url = new URL(link);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter
(conn.getOutputStream());
wr.write(data);
wr.flush();
BufferedReader reader = new BufferedReader
(new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
// Read Server Response
while((line = reader.readLine()) != null)
{
sb.append(line);
break;
}
d=sb.toString();
return d;
}catch(Exception e){
return new String("Exception: " + e.getMessage());
}
}
protected void onPostExecute(String result){
if(result.equals("adminstrator")){
this.statusField.setText("Yes");
//if user is in my database it changes statusfield to 'yes'
}
else{
this.statusField.setText("No");
}
this.roleField.setText(result);
}
}
감사합니다! 그것은 내 문제 중 하나를 해결 :) Intent intent = 새로운 의도 (this.context, MainPanel.class); context.startActivity (intent); 독립 실행 형이 아니라 this.context를 사용했으며 작동 중입니다. AccountManager를 추가하는 방법에 대해 알고 있습니까? – pawisoon
아니요 - 귀하의 질문이 무엇인지 알지 못합니다. – Divers