我想检查用户是否已经登录到应用程序中,所以如果用户没有登录,他将被定向到Login.class
,如果用户已经登录,他将被定向到他的Profile.class
。
我看了一本关于使用SplashActivity.class
登录互联网的用户的教程,但是我试过了,但是没有对我起作用,我不知道也许我只是不明白它是如何工作的,因为我是编程的新手
我的密码:
登录类
public class DocLogin extends Fragment {
ImageView ivIcon;
TextView tvItemName, tvRegister;
EditText user, pass;
Button btnLogin;
String username, password;
SQLController dbcon;
SharedPreferences sh_Pref;
Editor editor;
private static final String IS_LOGIN = "IsLoggedIn";
int PRIVATE_MODE = 0;
public DocLogin() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.doc_log_in, container, false);
dbcon = new SQLController(getActivity());
dbcon.open();
// Log in
user = (EditText) view.findViewById(R.id.etUser);
pass = (EditText) view.findViewById(R.id.etPassword);
btnLogin = (Button) view.findViewById(R.id.btnLogin);
// Sign up
tvRegister = (TextView) view.findViewById(R.id.tvRegDoc);
tvRegister.setMovementMethod(LinkMovementMethod.getInstance());
tvRegister.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.content_frame, new DocReg());
ft.commit();
return false;
}
});
// btnLogin onClickListener
btnLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
dbcon = new SQLController(getActivity());
dbcon.open();
username = user.getText().toString();
password = pass.getText().toString();
sharedPreferences();
Toast.makeText(getActivity(), "Login Successful", 20).show();
Log.v("LoginDetails", user.getText().toString() + "../.."
+ pass.getText().toString());
Cursor cur = dbcon.getuser_information(user.getText()
.toString(), pass.getText().toString());
if (cur.getCount() != 0) {
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.content_frame, new DocProfile());
ft.commit();
} else {
AlertDialog alertDialog = new AlertDialog.Builder(
getActivity()).create();
alertDialog.setTitle("Login Error");
alertDialog
.setMessage("Doctor Code and Password does not match");
alertDialog.setButton("OK",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
// dismiss dialog
}
});
alertDialog.show();
}
}
});
return view;
}
public void sharedPreferences() {
sh_Pref = getActivity().getSharedPreferences("Login Credentials", PRIVATE_MODE);
editor = sh_Pref.edit();
editor.putBoolean(IS_LOGIN, true);
editor.putString("Username", username);
editor.putString("Password", password);
editor.commit();
}
}
请引导我正确地实现我的目标。
发布于 2014-06-28 07:14:29
您需要在database.if用户首次登录中的可登录项中添加已登录字段,将已经登录字段设置为true,否则默认情况下,false.Each时间必须检查已经登录的field.if字段为true,必须重定向。
https://stackoverflow.com/questions/24464446
复制相似问题