Android 如果用户登录成功,则启动mainActivity
这是一个用户凭证检查的模拟,大部分代码是由AndroidStudio生成的。如果user:pass不存在,它将转到注册,但我不确定应该将用户发送到主活动的何处。请看Android 如果用户登录成功,则启动mainActivity,android,Android,这是一个用户凭证检查的模拟,大部分代码是由AndroidStudio生成的。如果user:pass不存在,它将转到注册,但我不确定应该将用户发送到主活动的何处。请看检查邮件和通行证部分 /** * Represents an asynchronous login/registration task used to authenticate * the user. */ public class UserLoginTask extends AsyncTask<Void, Void, B
检查邮件和通行证
部分
/**
* Represents an asynchronous login/registration task used to authenticate
* the user.
*/
public class UserLoginTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
// TODO: attempt authentication against a network service.
try {
// Simulate network access.
Thread.sleep(1000);
} catch (InterruptedException e) {
return false;
}
// checking mail & pass
for (String credential : DUMMY_CREDENTIALS) {
String[] pieces = credential.split(":");
if (pieces[0].equals(mEmail)) {
// Account exists, return true if the password matches.
return pieces[1].equals(mPassword);
}
}
// TODO: register the new account here.
Intent i = new Intent(LoginActivity.this, RegisterActivity.class);
startActivity(i);
return true;
}
@Override
protected void onPostExecute(final Boolean success) {
mAuthTask = null;
showProgress(false);
if (success) {
finish();
} else {
mPasswordView.setError(getString(R.string.error_incorrect_password));
mPasswordView.requestFocus();
}
}
@Override
protected void onCancelled() {
mAuthTask = null;
showProgress(false);
}
}
/**
*表示用于身份验证的异步登录/注册任务
*用户。
*/
公共类UserLoginTask扩展异步任务{
@凌驾
受保护的布尔doInBackground(Void…params){
//TODO:尝试对网络服务进行身份验证。
试一试{
//模拟网络访问。
睡眠(1000);
}捕捉(中断异常e){
返回false;
}
//检查邮件和通行证
用于(字符串凭据:虚拟\u凭据){
字符串[]个=凭证。拆分(“:”);
如果(件[0]。等于(mEmail)){
//帐户存在,如果密码匹配,则返回true。
返回件[1]。等于(mPassword);
}
}
//TODO:在此处注册新帐户。
Intent i=新Intent(LoginActivity.this、RegisterActivity.class);
星触觉(i);
返回true;
}
@凌驾
受保护的void onPostExecute(最终布尔值成功){
mAuthTask=null;
显示进度(假);
如果(成功){
完成();
}否则{
mPasswordView.setError(getString(R.string.error\u密码不正确));
mPasswordView.requestFocus();
}
}
@凌驾
受保护的void onCancelled(){
mAuthTask=null;
显示进度(假);
}
}
在user:pass正确后,我在哪里开始主要活动?我现在找到了它。
内部if(成功)
/**
*表示用于身份验证的异步登录/注册任务
*用户。
*/
公共类UserLoginTask扩展异步任务{
@凌驾
受保护的布尔doInBackground(Void…params){
//TODO:尝试对网络服务进行身份验证。
试一试{
//模拟网络访问。
睡眠(1000);
}捕捉(中断异常e){
返回false;
}
//检查邮件和通行证
用于(字符串凭据:虚拟\u凭据){
字符串[]个=凭证。拆分(“:”);
如果(件[0]。等于(mEmail)){
//帐户存在,如果密码匹配,则返回true。
返回件[1]。等于(mPassword);
}
}
返回false;
}
@凌驾
受保护的void onPostExecute(最终布尔值成功){
mAuthTask=null;
显示进度(假);
如果(成功){
//TODO:在此处注册新帐户。
Intent i=新Intent(LoginActivity.this、RegisterActivity.class);
星触觉(i);
完成();
}否则{
mPasswordView.setError(getString(R.string.error\u密码不正确));
mPasswordView.requestFocus();
}
}
@凌驾
受保护的void onCancelled(){
mAuthTask=null;
显示进度(假);
}
}
试试这个。。。。
这肯定会奏效的
/**
*表示用于身份验证的异步登录/注册任务
*用户。
*/
public类UserLoginTask扩展异步任务{
@凌驾
受保护的布尔doInBackground(Void…params){
//TODO:尝试对网络服务进行身份验证。
试一试{
//模拟网络访问。
睡眠(1000);
}捕捉(中断异常e){
返回false;
}
//检查邮件和通行证
用于(字符串凭据:虚拟\u凭据){
字符串[]个=凭证。拆分(“:”);
如果(件[0]。等于(mEmail)){
//帐户存在,如果密码匹配,则返回true。
返回件[1]。等于(mPassword);
}
}
返回false;
}
@凌驾
受保护的void onPostExecute(最终布尔值成功){
mAuthTask=null;
显示进度(假);
如果(成功){
意图i=新意图(LoginActivity.this,MainHomePageActivity.class);
星触觉(i);
}否则{
Intent i=新Intent(LoginActivity.this、RegisterActivity.class);
星触觉(i);
}
}
@凌驾
受保护的void onCancelled(){
mAuthTask=null;
显示进度(假);
}
}
是,如果(成功)在此处开始新活动
但我现在发现,即使凭据错误,成功也是正确的。为什么不去注册活动呢?我看不出你在哪里设置成功的值谢谢,但我需要mPasswordView.requestFocus()
如果电子邮件为true&pass Error,则返回并允许用户重试
/**
* Represents an asynchronous login/registration task used to authenticate
* the user.
*/
public class UserLoginTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
// TODO: attempt authentication against a network service.
try {
// Simulate network access.
Thread.sleep(1000);
} catch (InterruptedException e) {
return false;
}
// checking mail & pass
for (String credential : DUMMY_CREDENTIALS) {
String[] pieces = credential.split(":");
if (pieces[0].equals(mEmail)) {
// Account exists, return true if the password matches.
return pieces[1].equals(mPassword);
}
}
return false;
}
@Override
protected void onPostExecute(final Boolean success) {
mAuthTask = null;
showProgress(false);
if (success) {
// TODO: register the new account here.
Intent i = new Intent(LoginActivity.this, RegisterActivity.class);
startActivity(i);
finish();
} else {
mPasswordView.setError(getString(R.string.error_incorrect_password));
mPasswordView.requestFocus();
}
}
@Override
protected void onCancelled() {
mAuthTask = null;
showProgress(false);
}
}
public class UserLoginTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
// TODO: attempt authentication against a network service.
try {
// Simulate network access.
Thread.sleep(1000);
} catch (InterruptedException e) {
return false;
}
// checking mail & pass
for (String credential : DUMMY_CREDENTIALS) {
String[] pieces = credential.split(":");
if (pieces[0].equals(mEmail)) {
// Account exists, return true if the password matches.
return pieces[1].equals(mPassword);
}
}
return false;
}
@Override
protected void onPostExecute(final Boolean success) {
mAuthTask = null;
showProgress(false);
if (success) {
Intent i = new Intent(LoginActivity.this, MainHomePageActivity.class);
startActivity(i);
} else {
Intent i = new Intent(LoginActivity.this, RegisterActivity.class);
startActivity(i);
}
}
@Override
protected void onCancelled() {
mAuthTask = null;
showProgress(false);
}
}