4
내 앱에 로그인 화면을 구현하고 모범 사례를 찾고 싶습니다. 이 코드 가정 :로그인 (인증) 화면을 구현하는 가장 좋은 방법은 무엇입니까?
public class LoginActivity extends Activity {
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.activity_login);
Button btnLogin=(Button)findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
startActivity(new Intent(getApplicationContext(), MainActivity.class));
}
});
}
}
public class MainActivity extends Activity {
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.activity_main);
Button btnLogout=(Button)findViewById(R.id.btnLogout);
btnLogout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
startActivity(new Intent(getApplicationContext(), LoginActivity.class));
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".LoginActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
최초의 응용 프로그램 실행을 위해 작동합니다, 난 비밀 번호를 기억합니다. 하지만 다음에 앱 스토어에 비밀번호가 이미 존재하는 경우 LoginActivity를 표시하고 싶지 않습니다. 그래서, 내가 가진 유일한 해결책은 :
public class LoginActivity extends Activity {
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.activity_login);
Button btnLogin=(Button)findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
startActivity(new Intent(getApplicationContext(), MainActivity.class));
}
});
//consider that passwodExists() looks for credentials
if(passwodExists()){
finish();
startActivity(new Intent(getApplicationContext(), MainActivity.class));
}
}
}
이게 맞나요?
- 이러한 문제에 대해 무엇을 사용 하시겠습니까?
- onCreate()에서 Activity 또는 show dialog를 시작하는 것이 안전합니까?
뒤로 버튼에 대해 무엇을 의미합니까? –
글쎄, 누군가가 자신의 장치에서 뒤로 버튼을 사용한다면, (기본적으로) 이전 활동 인 MainActivity로 이동하게됩니다. http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html –
다음 활동을 시작하기 전에 현재 활동에서 finish()를 호출하므로 '활동 스택'에 없습니다. 나는 모든 것이 괜찮다고 생각 했나, 아니면 뭔가 빠졌어? –