victor-强 2016-12-08 00:46 采纳率: 7.7%
浏览 1136
已采纳

做了一个android的登陆程序运行到ActivityManager:就结束了

manifest:
<?xml version="1.0" encoding="utf-8"?>
package="com.example.manage"
android:versionCode="1"
android:versionName="1.0" >
android:minSdkVersion="8"
android:targetSdkVersion="17" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
            <uses-library android:name="android.test.runner" />
    <activity
        android:name="my"
        android:label="mine" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

mainactivity:

package com.example.manage;

import java.util.Map;

import com.example.manage.Utils;

import android.os.Bundle;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
private EditText etNumber;
private EditText etPassword;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
MapuserInfo=Utils.getUserInfo(this);
if(userInfo!=null){
etNumber.setText(userInfo.get("number"));
etPassword.setText(userInfo.get("password"));
}
}
private void initView(){
etNumber=(EditText) findViewById(R.id.et_number);
etPassword=(EditText) findViewById(R.id.et_password);
findViewById(R.id.btn_login).setOnClickListener((android.view.View.OnClickListener) this);
}
public void onClick(View v) {
// TODO Auto-generated method stub
String number=etNumber.getText().toString().trim();
String password=etPassword.getText().toString();
if(TextUtils.isEmpty(number)){
Toast.makeText(this,"请输入QQ号码",Toast.LENGTH_SHORT).show();
return;
}
if(TextUtils.isEmpty(password)){
Toast.makeText(this,"请输入密码",Toast.LENGTH_SHORT).show();
return;
}
Toast.makeText(this, "登陆成功", Toast.LENGTH_SHORT).show();
Log.i("MainActivity","记住密码:"+number+","+password);
boolean isSaveSuccess=Utils.saveUserInfo(this,number,password);
if(isSaveSuccess){
Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub

}

}

utils:

package com.example.manage;

import java.util.HashMap;
import java.util.Map;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;

public class Utils {
public static boolean saveUserInfo(Context context,String number,String password){
SharedPreferences sp=context.getSharedPreferences("data", Context.MODE_PRIVATE);
Editor edit=sp.edit();
edit.putString("username", number);
edit.putString("pwd",password);
edit.commit();
return true;
}
public static MapgetUserInfo(Context context) {
SharedPreferences sp=context.getSharedPreferences("data", Context.MODE_PRIVATE);
String number=sp.getString("userName", null);
String password=sp.getString("pwd",null);
MapuserMap=new HashMap();
userMap.put("number",number);
userMap.put("password", password);
return userMap;
}
}
这个是书上sharedpreferences的例子,不知道哪里错了,书上说utils类要创建在新的一个包里面,不知道到放在哪就跟mainactivity放在一个里面了。

  • 写回答

5条回答 默认 最新

  • YXTS122 2016-12-08 10:06
    关注

    MainActivity.java

     package com.example.manage;
    
    import java.util.Map;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.text.TextUtils;
    import android.util.Log;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class MainActivity extends  Activity implements OnClickListener{
        private EditText etNumber;
        private EditText etPassword;
        private Button etButton;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initView();
            Map<String,String> userInfo=Utils.getUserInfo(this);
            if(userInfo!=null){
            etNumber.setText((String)userInfo.get("number"));
            etPassword.setText((String)userInfo.get("password"));
            }
        }
    
            private void initView(){
                etNumber=(EditText) findViewById(R.id.et_number);
                etPassword=(EditText) findViewById(R.id.et_password);
                etButton=(Button)findViewById(R.id.btn_login);
                etButton.setOnClickListener((android.view.View.OnClickListener) this);
                }
    
                public void onClick(View v) {
                // TODO Auto-generated method stub
                String number=etNumber.getText().toString().trim();
                String password=etPassword.getText().toString();
                if(TextUtils.isEmpty(number)){
                Toast.makeText(this,"请输入QQ号码",Toast.LENGTH_SHORT).show();
                return;
                }
                if(TextUtils.isEmpty(password)){
                Toast.makeText(this,"请输入密码",Toast.LENGTH_SHORT).show();
                return;
                }
                Toast.makeText(this, "登陆成功", Toast.LENGTH_SHORT).show();
                Log.i("MainActivity","记住密码:"+number+","+password);
                boolean isSaveSuccess=Utils.saveUserInfo(this,number,password);
                if(isSaveSuccess){
                Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show();
                }
                else{
                Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show();
                }
                }
    
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
            if (id == R.id.action_settings) {
                return true;
            }
            return super.onOptionsItemSelected(item);
        }
    }
    
    

    Utils.java

     package com.example.manage;
    
    import java.util.HashMap;
    import java.util.Map;
    
    import android.content.Context;
    import android.content.SharedPreferences;
    import android.content.SharedPreferences.Editor;
    
    public class Utils {
    
        public static boolean saveUserInfo(Context context,String number,String password){
            SharedPreferences sp=context.getSharedPreferences("data", Context.MODE_PRIVATE);
            Editor edit=sp.edit();
            edit.putString("username", number);
            edit.putString("pwd",password);
            edit.commit();
            return true;
            }
    
            public static Map<String,String> getUserInfo(Context context) {
            SharedPreferences sp=context.getSharedPreferences("data", Context.MODE_PRIVATE);
            String number=sp.getString("userName", null);
            String password=sp.getString("pwd",null);
            Map<String,String> userMap=new HashMap<String,String>();
            userMap.put("number",number);
            userMap.put("password", password);
            return userMap;
            }
    
    }
    
    

    改为这样试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档