安卓studio实现登录功能 我单独开一个项目时可以登陆成功然后跳转到主页面,但是放在整个项目里就无法跳转 会闪退

解决方案 »

  1.   

    看看你放到新项目里面的AndroidManifest.xml清单文件有没有注册对应的登录Activity
      

  2.   


    //MainActivitypackage com.example.a.movie;import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentTransaction;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;import butterknife.ButterKnife;
    import fragment.menufragment;
    public class MainActivity extends AppCompatActivity {    public static final String MAIN_CONTENT_TAG = "main_content_tag";    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    //        设置主页面
            setContentView(R.layout.activity_main);
            ButterKnife.bind(this);
    //        初始化fragment
            initFragment();    }    private void initFragment() {
    //        得到fragment
            FragmentManager fm = getSupportFragmentManager();
    //        开启事务
            FragmentTransaction ft = fm.beginTransaction();
    //        替换
            ft.replace(R.id.f1_main_content,new menufragment(),MAIN_CONTENT_TAG);  //主页
    //        提交
            ft.commit();
        }
    }
    //RegisterActivitypackage com.example.a.movie;import android.content.Intent;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.text.TextUtils;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.RelativeLayout;
    import android.widget.Toast;
    import db.DBOpenHelper;
    import butterknife.BindView;
    import butterknife.ButterKnife;
    import butterknife.OnClick;/**
     * Created by littlecurl 2018/6/24
     */
    public class RegisterActivity extends AppCompatActivity{    private String realCode;
        private DBOpenHelper mDBOpenHelper;    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_register);
            ButterKnife.bind(this);
            mDBOpenHelper = new DBOpenHelper(this);        //将验证码用图片的形式显示出来
            mIvRegisteractivityShowcode.setImageBitmap(Code.getInstance().createBitmap());
            realCode = Code.getInstance().getCode().toLowerCase();
        }    @BindView(R.id.rl_registeractivity_top)
        RelativeLayout mRlRegisteractivityTop;
        @BindView(R.id.iv_registeractivity_back)
        ImageView mIvRegisteractivityBack;
        @BindView(R.id.ll_registeractivity_body)
        LinearLayout mLlRegisteractivityBody;
        @BindView(R.id.et_registeractivity_username)
        EditText mEtRegisteractivityUsername;
        @BindView(R.id.et_registeractivity_password1)
        EditText mEtRegisteractivityPassword1;
        @BindView(R.id.et_registeractivity_password2)
        EditText mEtRegisteractivityPassword2;
        @BindView(R.id.et_registeractivity_phoneCodes)
        EditText mEtRegisteractivityPhonecodes;
        @BindView(R.id.iv_registeractivity_showCode)
        ImageView mIvRegisteractivityShowcode;
        @BindView(R.id.rl_registeractivity_bottom)
        RelativeLayout mRlRegisteractivityBottom;    /**
         * 注册页面能点击的就三个地方
         * top处返回箭头、刷新验证码图片、注册按钮
         */
        @OnClick({
                R.id.iv_registeractivity_back,
                R.id.iv_registeractivity_showCode,
                R.id.bt_registeractivity_register
        })
        public void onClick(View view) {
            switch (view.getId()) {
                case R.id.iv_registeractivity_back: //返回登录页面
                    Intent intent1 = new Intent(this, loginActivity.class);
                    startActivity(intent1);
                    finish();
                    break;
                case R.id.iv_registeractivity_showCode:    //改变随机验证码的生成
                    mIvRegisteractivityShowcode.setImageBitmap(Code.getInstance().createBitmap());
                    realCode = Code.getInstance().getCode().toLowerCase();
                    break;
                case R.id.bt_registeractivity_register:    //注册按钮
                    //获取用户输入的用户名、密码、验证码
                    String username = mEtRegisteractivityUsername.getText().toString().trim();
                    String password = mEtRegisteractivityPassword2.getText().toString().trim();
                    String phoneCode = mEtRegisteractivityPhonecodes.getText().toString().toLowerCase();
                    //注册验证
                    if (!TextUtils.isEmpty(username) && !TextUtils.isEmpty(password) && !TextUtils.isEmpty(phoneCode) ) {
                        if (phoneCode.equals(realCode)) {
                            //将用户名和密码加入到数据库中
                            mDBOpenHelper.add(username, password);
                            Intent intent2 = new Intent(this, MainActivity.class);
                            startActivity(intent2);
                            finish();
                            Toast.makeText(this,  "验证通过,注册成功", Toast.LENGTH_SHORT).show();
                        } else {
                            Toast.makeText(this, "验证码错误,注册失败", Toast.LENGTH_SHORT).show();
                        }
                    }else {
                        Toast.makeText(this, "未完善信息,注册失败", Toast.LENGTH_SHORT).show();
                    }
                    break;
            }
        }
    }
      

  3.   

    日志贴出来,查看日志见新手博客:https://blog.csdn.net/weimingjue/article/details/87921494