使用共享首选项帮助登录活动

时间:2011-01-28 02:25:04

标签: android eclipse login passwords sharedpreferences

我不知道我的代码问题。

请帮忙。

Password.java

package com.android.steg;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class Password extends Activity implements OnClickListener
{
Button submitButton;
EditText passwordEditText;
public static final String PREFS_PRIVATE = "PREFS_PRIVATE";
public static final String KEY_PRIVATE = "KEY_PRIVATE";
public static final String PREFS_READ = "PREFS_READ";
public static final String KEY_READ = "KEY_READ";
public static final String PREFS_WRITE = "PREFS_WRITE";
public static final String KEY_WRITE = "KEY_WRITE";
public static final String PREFS_READ_WRITE = "PREFS_READ_WRITE";
public static final String KEY_READ_WRITE = "KEY_READ_WRITE";



public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.pass);
    Button submitButton = (Button) findViewById(R.id.submitButton);
    submitButton.setOnClickListener(this);
}

public void onClick(View v)
{ 
    EditText passwordEditText = (EditText) findViewById(R.id.passwordEditText);
    SharedPreferences prefs = this.getApplicationContext().getSharedPreferences("prefs_file",MODE_PRIVATE);
    String password = prefs.getString("password","");
    if("".equals(password))
    {
        Editor edit = prefs.edit();
        edit.putString("password",passwordEditText.getText().toString());
        edit.commit();
        StartMain();
    }
    else
    {
        if(passwordEditText.getText().toString().equals(password))
        {
             StartMain();
        }
    }

}

public void StartMain()
{
     Intent intent = new Intent(this, MainActivity.class);
     startActivity(intent);
}
}

的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.android.steg"
  android:versionCode="1"
  android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="false" android:testOnly="false" android:killAfterRestore="true">
    <activity  android:name=".Password" android:label="@string/app_name" android:clearTaskOnLaunch="true">
    <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:exported="true" android:name=".EncodeActivity" android:label="@string/app_name">

    </activity>
    <activity android:exported="true" android:name=".DecodeActivity" android:label="@string/app_name">

    </activity>

</application>
<uses-sdk android:targetSdkVersion="7" android:minSdkVersion="5"/>
<uses-permission android:name="android.permission.READ_CONTACTS" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_OWNER_DATA"></uses-permission>
    <uses-permission android:name="android.permission.READ_OWNER_DATA"></uses-permission>

    <uses-permission android:name="android.permission.CLEAR_APP_CACHE"></uses-permission>
    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA"></uses-permission>

   </manifest> 

Pass.xml

enter image description here

按下提交按钮后,应打开MainActivity.java

我的问题是,每当我按下提交按钮时,应用程序强制关闭。它应该切换到另一个活动(MainActivity)。

1 个答案:

答案 0 :(得分:3)

您尚未在名为MainActivity的清单中声明一个活动。另外,检查eclipse的ddms选项卡中的logcat输出,它会给出导致崩溃的行号。

相关问题