我正在努力在我的应用程序上“保持登录状态”状态。我该怎么办?

时间:2011-09-02 05:22:24

标签: java android

这是我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="horizontal"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="#FFFFFF">

    <TextView android:id="@+id/welcome_text"
        android:text = "Log-In"   
        android:textColor="#000000"        
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="40dp"
        android:layout_centerHorizontal="true"/>
     <TextView
        android:id="@+id/username_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="20dip"
        android:layout_marginTop="100dip"
        android:layout_marginLeft="30dip"
        android:text="Username:"
        android:textColor="#000000"/>
    <EditText
        android:id="@+id/txt_username"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:background="@android:drawable/editbox_background"
        android:layout_toRightOf="@id/username_text"
        android:layout_alignTop="@id/username_text"/>
     <TextView
        android:id="@+id/password_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/username_text"
        android:layout_marginRight="20dip"
        android:layout_marginTop="30dip"
        android:layout_marginLeft="30dip"
        android:text="Password:"
        android:textColor="#000000"/>
    <EditText
        android:id="@+id/txt_password"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:background="@android:drawable/editbox_background"
        android:layout_toRightOf="@id/password_text"
        android:layout_alignTop="@id/password_text"
        android:layout_below="@id/txt_username"
        android:layout_marginLeft="5dip"
        android:password="true"        />
    <Button
        android:id="@+id/login_button"
        android:layout_width="100dip"
        android:layout_height="wrap_content"
        android:layout_below="@+id/txt_password"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="35dip"
        android:layout_marginLeft="110dip"
        android:text="Submit" />
     <TextView
        android:id="@+id/tv_error"
        android:layout_width="fill_parent"
        android:layout_height="40dip"
        android:textSize="5pt"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/txt_password"
        android:layout_marginRight="9dip"
        android:layout_marginTop="9dip"
        android:layout_marginLeft="15dip"
        android:textColor="#FF0000"
        android:text=""/>
     <TextView android:id="@+id/tv_login"
        android:text = "@string/Login"   
        android:textColor="#000000"        
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="40dp"
        android:layout_below="@id/login_button"
        android:layout_centerHorizontal="true"/>
     <RadioGroup
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@id/tv_login"
      android:orientation="horizontal"
      android:layout_centerHorizontal="true">
      <RadioButton android:id="@+id/on"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_marginTop="9dip"
          android:text="On" 
          android:textColor="#000000"/>
      <RadioButton android:id="@+id/off"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_marginTop="9dip"
          android:layout_marginLeft="20dip"
          android:text="Off" 
          android:textColor="#000000"/>
    </RadioGroup>
</RelativeLayout>

这是我的java:

public class LogInActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.loginactivity);

        final RadioButton radio_on = (RadioButton) findViewById(R.id.on);
        final RadioButton radio_off = (RadioButton) findViewById(R.id.off);

        Button launch = (Button)findViewById(R.id.login_button);
        launch.setOnClickListener(new OnClickListener()
        {
         public void onClick(View v) {
           EditText usernameEditText = (EditText) findViewById(R.id.txt_username);
           EditText passwordEditText = (EditText) findViewById(R.id.txt_password);
           TextView loginTextView = (TextView)findViewById(R.id.tv_error);

           String sUserName = usernameEditText.getText().toString();
           String sPassword = passwordEditText.getText().toString();

            if(sUserName.equals("numlock") && sPassword.equals("numlock")) {
                Intent intent = new Intent(LogInActivity.this, HomeActivity.class);
                startActivity(intent);
            }
             else {
                loginTextView.setText("Login failed. Username and/or password doesn't match.");
                 }
            }
        }); 
    }
}

我想在单选按钮上指定保持登录状态。有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

您应该在sharedPreferences或Sqlite中保存登录凭据,并在登录活动时检查是否找到任何已保存的数据,然后使用保存的数据登录,否则请询问用户凭据..

答案 1 :(得分:2)

您可以使用 SharedPreference 静态变量应用类来帮助您保持用户的状态< / p>