新手小白學生想弄一個有註冊和登入頁面的app,但是一按登入就出錯

[复制链接]
查看11 | 回复6 | 2021-1-27 05:31:18 | 显示全部楼层 |阅读模式
主要就是在註冊Activity輸入資料(賬號和密碼10組,外加一個i表示當前註冊到第幾個空位,註冊了就1++),
然後傳送到登錄Activity把賬號密碼賦予object,
最後再配對賬號和密碼,
如果賬號和密碼不等於null,
並且可以配對,
就跳去遊戲頁面
求各位大神提點下,我現在完全一頭霧水

這是登錄Activity
packagecom.example.user.eee3457_mini_project;
importandroid.content.Intent;
importandroid.content.SharedPreferences;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.EditText;
importandroid.widget.Toast;
publicclassMainActivityextendsAppCompatActivity{
privateButtonloginbtn,signupbtn,aboutgamebtn;
privateEditTextloginid,loginpw;
privateStringgetid,getpw;
privateString[]takeid;
privateString[]takepw;
privateintidi,pwi;
privateintgetidpwi;
privateStringesignid,esignpw;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loginbtn=(Button)findViewById(R.id.loginbtn);
signupbtn=(Button)findViewById(R.id.signupbtn);
aboutgamebtn=(Button)findViewById(R.id.aboutgamebtn);
loginid=(EditText)findViewById(R.id.loginid);
loginpw=(EditText)findViewById(R.id.loginpw);
}
publicvoidaboutgamepage(Viewv){
Intentitaboutgame=newIntent(MainActivity.this,aboutgame.class);
startActivity(itaboutgame);
}
publicvoidsignuppage(Viewv){
Intentitsignup=newIntent(MainActivity.this,Signup.class);
startActivity(itsignup);
}
publicvoidgameindexpage(Viewv){
BundlebundleIDPW=getIntent().getExtras();
esignid=bundleIDPW.getString("bID",null);
esignpw=bundleIDPW.getString("bPW",null);
SharedPreferencesuserID=
getSharedPreferences("User_ID",MODE_PRIVATE);
SharedPreferencesuserPW=
getSharedPreferences("User_PW",MODE_PRIVATE);
Intentitnum=getIntent();
getidpwi=itnum.getIntExtra("num",0);
switch(getidpwi){
case1:
userID.edit()
.putString("ID1",esignid.toString())
.commit();
userPW.edit()
.putString("PW1",esignpw.toString())
.commit();
break;
case2:
userID.edit()
.putString("ID2",esignid.toString())
.commit();
userPW.edit()
.putString("PW2",esignpw.toString())
.commit();
break;
case3:
userID.edit()
.putString("ID3",esignid.toString())
.commit();
userPW.edit()
.putString("PW3",esignpw.toString())
.commit();
break;
case4:
userID.edit()
.putString("ID4",esignid.toString())
.commit();
userPW.edit()
.putString("PW4",esignpw.toString())
.commit();
break;
case5:
userID.edit()
.putString("ID5",esignid.toString())
.commit();
userPW.edit()
.putString("PW5",esignpw.toString())
.commit();
break;
case6:
userID.edit()
.putString("ID6",esignid.toString())
.commit();
userPW.edit()
.putString("PW6",esignpw.toString())
.commit();
break;
case7:
userID.edit()
.putString("ID7",esignid.toString())
.commit();
userPW.edit()
.putString("PW7",esignpw.toString())
.commit();
break;
case8:
userID.edit()
.putString("ID8",esignid.toString())
.commit();
userPW.edit()
.putString("PW8",esignpw.toString())
.commit();
break;
case9:
userID.edit()
.putString("ID9",esignid.toString())
.commit();
userPW.edit()
.putString("PW9",esignpw.toString())
.commit();
break;
case10:
userID.edit()
.putString("ID10",esignid.toString())
.commit();
userPW.edit()
.putString("PW10",esignpw.toString())
.commit();
break;
}
takeid[1]=userID.getString("ID1","NULL");
takepw[1]=userPW.getString("PW1","NULL");
takeid[2]=userID.getString("ID2","NULL");
takepw[2]=userPW.getString("PW2","NULL");
takeid[3]=userID.getString("ID3","NULL");
takepw[3]=userPW.getString("PW3","NULL");
takeid[4]=userID.getString("ID4","NULL");
takepw[4]=userPW.getString("PW4","NULL");
takeid[5]=userID.getString("ID5","NULL");
takepw[5]=userPW.getString("PW5","NULL");
takeid[6]=userID.getString("ID6","NULL");
takepw[6]=userPW.getString("PW6","NULL");
takeid[7]=userID.getString("ID7","NULL");
takepw[7]=userPW.getString("PW7","NULL");
takeid[8]=userID.getString("ID8","NULL");
takepw[8]=userPW.getString("PW8","NULL");
takeid[9]=userID.getString("ID9","NULL");
takepw[9]=userPW.getString("PW9","NULL");
takeid[10]=userID.getString("ID10","NULL");
takepw[10]=userPW.getString("PW10","NULL");
getid=loginid.getText().toString();
getpw=loginpw.getText().toString();
for(inti=1;i

這是註冊Activity
packagecom.example.user.eee3457_mini_project;
importandroid.content.Intent;
importandroid.content.SharedPreferences;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.EditText;
importandroid.widget.TextView;
importandroid.widget.Toast;
publicclassSignupextendsAppCompatActivity{
privateButtonesignupbtn,ebackloginmenu;
privateEditTextesignid,esignpw,esignpw2;
privateTextViewesignmessage;
privateStringsignidstring,signpwstring,signpw2string;
privateintidpwi;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
esignupbtn=(Button)findViewById(R.id.esignupbtn);
ebackloginmenu=(Button)findViewById(R.id.ebackloginmenu);
esignid=(EditText)findViewById(R.id.esignid);
esignpw=(EditText)findViewById(R.id.esignpw);
esignpw2=(EditText)findViewById(R.id.esignpw2);
esignmessage=(TextView)findViewById(R.id.esignmessage);
}
publicvoidbackmain(Viewv){
Intentitbackmain=newIntent(Signup.this,MainActivity.class);
startActivity(itbackmain);
}
publicvoidesignup(Viewv){
signidstring=esignid.getText().toString();
signpwstring=esignpw.getText().toString();
signpw2string=esignpw2.getText().toString();
if(signidstring!=null&&signpwstring!=null&&signpw2string!=null&&signpwstring==signpw2string){
idpwi++;
BundlebundleIDPW=newBundle();
bundleIDPW.putString("bID",esignid.getText().toString());
bundleIDPW.putString("bPW",esignpw.getText().toString());
Intentitbundle=newIntent(this,MainActivity.class);
Intentitnum=newIntent(this,MainActivity.class);
itbundle.putExtras(bundleIDPW);
itnum.putExtra("num",idpwi);
startActivity(itbundle);
startActivity(itnum);
Toastt=Toast.makeText(Signup.this,"已成功註冊",Toast.LENGTH_LONG);
t.show();
}else{
Toastf=Toast.makeText(Signup.this,"註冊失敗,輸入錯誤",Toast.LENGTH_LONG);
f.show();
}
}
}

分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:31:18 | 显示全部楼层
报啥错呀,大佬,没人会去看代码的,把你的错误日志发出来
回复

使用道具 举报

千问 | 2021-1-27 05:31:18 | 显示全部楼层
引用1楼six周的回复:报啥错呀,大佬,没人会去看代码的,把你的错误日志发出来
也是哦0.0
錯誤日誌:
04/1816:32:12:Launchingapp
$adbinstall-multiple-r-tC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\slices\slice_3.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\slices\slice_8.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\slices\slice_4.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\slices\slice_2.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\slices\slice_1.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\slices\slice_0.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\resources\instant-run\debug\resources-debug.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\dep\dependencies.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\slices\slice_5.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\slices\slice_6.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\slices\slice_7.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\split-apk\debug\slices\slice_9.apkC:\EEE3457\EEE3457_mini_project\app\build\intermediates\instant-run-apk\debug\app-debug.apk
SplitAPKsinstalledin2s397ms
$adbshellamstart-n"com.example.user.eee3457_mini_project/com.example.user.eee3457_mini_project.MainActivity"-aandroid.intent.action.MAIN-candroid.intent.category.LAUNCHER
Clientnotreadyyet..Waitingforprocesstocomeonline
Waitingforprocesstocomeonline
Connectedtoprocess4392ondeviceNexus_4_API_28[emulator-5554]
Capturinganddisplayinglogcatmessagesfromapplication.Thisbehaviorcanbedisabledinthe"Logcatoutput"sectionofthe"Debugger"settingspage.
I/57_mini_projec:Notlate-enabling-Xcheck:jni(alreadyon)
W/57_mini_projec:UnexpectedCPUvariantforX86usingdefaults:x86
E/57_mini_projec:Failedtosendjdwp-handshakeresponse.:Brokenpipe
W/57_mini_projec:JITprofileinformationwillnotberecorded:profilefiledoesnotexits.
I/chatty:uid=10100(com.example.user.eee3457_mini_project)identical10lines
W/57_mini_projec:JITprofileinformationwillnotberecorded:profilefiledoesnotexits.
I/InstantRun:startinginstantrunserver:ismainprocess
W/57_mini_projec:AccessinghiddenmethodLandroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z(lightgreylist,reflection)
W/57_mini_projec:AccessinghiddenmethodLandroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V(lightgreylist,reflection)
D/OpenGLRenderer:SkiaGLPipeline
D/HostConnection:HostConnection::get()NewHostConnectionestablished0xe2429240,tid4428
D/HostConnection:HostCompositionextANDROID_EMU_CHECKSUM_HELPER_v1ANDROID_EMU_native_sync_v2ANDROID_EMU_native_sync_v3ANDROID_EMU_native_sync_v4ANDROID_EMU_dma_v1ANDROID_EMU_YUV420_888_to_NV21ANDROID_EMU_YUV_CacheANDROID_EMU_async_unmap_bufferGL_OES_EGL_image_external_essl3GL_OES_vertex_array_objectGL_KHR_texture_compression_astc_ldrANDROID_EMU_gles_max_version_3_1
I/ConfigStore:android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplayretrieved:0
android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplayretrieved:0
I/OpenGLRenderer:InitializedEGL,version1.4
D/OpenGLRenderer:Swapbehavior1
W/OpenGLRenderer:FailedtochooseconfigwithEGL_SWAP_BEHAVIOR_PRESERVED,retryingwithout...
D/OpenGLRenderer:Swapbehavior0
D/eglCodecCommon:setVertexArrayObject:setvaoto0(0)00
D/EGL_emulation:eglCreateContext:0xea0e6e20:maj3min1rcv4
D/EGL_emulation:eglMakeCurrent:0xea0e6e20:ver31(tinfo0xea031d50)
E/eglCodecCommon:glUtilsParamSize:unknowparam0x000082da
E/eglCodecCommon:glUtilsParamSize:unknowparam0x000082da
D/HostConnection:createUnique:call
HostConnection::get()NewHostConnectionestablished0xe24297e0,tid4428
D/HostConnection:HostCompositionextANDROID_EMU_CHECKSUM_HELPER_v1ANDROID_EMU_native_sync_v2ANDROID_EMU_native_sync_v3ANDROID_EMU_native_sync_v4ANDROID_EMU_dma_v1ANDROID_EMU_YUV420_888_to_NV21ANDROID_EMU_YUV_CacheANDROID_EMU_async_unmap_bufferGL_OES_EGL_image_external_essl3GL_OES_vertex_array_objectGL_KHR_texture_compression_astc_ldrANDROID_EMU_gles_max_version_3_1
E/eglCodecCommon:GoldfishAddressSpaceHostMemoryAllocator:ioctl_pingfailedfordevice_type=5,ret=-1
D/EGL_emulation:eglMakeCurrent:0xea0e6e20:ver31(tinfo0xea031d50)
D/eglCodecCommon:setVertexArrayObject:setvaoto0(0)32
D/AndroidRuntime:ShuttingdownVM
E/AndroidRuntime:FATALEXCEPTION:main
Process:com.example.user.eee3457_mini_project,PID:4392
java.lang.IllegalStateException:Couldnotexecutemethodforandroid:onClick
atandroid.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:390)
atandroid.view.View.performClick(View.java:6597)
atandroid.view.View.performClickInternal(View.java:6574)
atandroid.view.View.access$3100(View.java:778)
atandroid.view.View$PerformClick.run(View.java:25885)
atandroid.os.Handler.handleCallback(Handler.java:873)
atandroid.os.Handler.dispatchMessage(Handler.java:99)
atandroid.os.Looper.loop(Looper.java:193)
atandroid.app.ActivityThread.main(ActivityThread.java:6669)
atjava.lang.reflect.Method.invoke(NativeMethod)
atcom.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Causedby:java.lang.reflect.InvocationTargetException
atjava.lang.reflect.Method.invoke(NativeMethod)
atandroid.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
atandroid.view.View.performClick(View.java:6597)
atandroid.view.View.performClickInternal(View.java:6574)
atandroid.view.View.access$3100(View.java:778)
atandroid.view.View$PerformClick.run(View.java:25885)
atandroid.os.Handler.handleCallback(Handler.java:873)
atandroid.os.Handler.dispatchMessage(Handler.java:99)
atandroid.os.Looper.loop(Looper.java:193)
atandroid.app.ActivityThread.main(ActivityThread.java:6669)
atjava.lang.reflect.Method.invoke(NativeMethod)
atcom.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Causedby:java.lang.NullPointerException:Attempttoinvokevirtualmethod'java.lang.Stringandroid.os.Bundle.getString(java.lang.String,java.lang.String)'onanullobjectreference
atcom.example.user.eee3457_mini_project.MainActivity.gameindexpage(MainActivity.java:44)
atjava.lang.reflect.Method.invoke(NativeMethod)
atandroid.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:385)
atandroid.view.View.performClick(View.java:6597)
atandroid.view.View.performClickInternal(View.java:6574)
atandroid.view.View.access$3100(View.java:778)
atandroid.view.View$PerformClick.run(View.java:25885)
atandroid.os.Handler.handleCallback(Handler.java:873)
atandroid.os.Handler.dispatchMessage(Handler.java:99)
atandroid.os.Looper.loop(Looper.java:193)
atandroid.app.ActivityThread.main(ActivityThread.java:6669)
atjava.lang.reflect.Method.invoke(NativeMethod)
atcom.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Applicationterminated.
回复

使用道具 举报

千问 | 2021-1-27 05:31:18 | 显示全部楼层
引用1楼six周的回复:报啥错呀,大佬,没人会去看代码的,把你的错误日志发出来
可是裡面也有其他頁面的,我看看能不能直接把檔案放上來
回复

使用道具 举报

千问 | 2021-1-27 05:31:18 | 显示全部楼层
那,空指针异常,你看你点击的哪个按钮,那么这个按钮里面的值为啥不给赋值
回复

使用道具 举报

千问 | 2021-1-27 05:31:18 | 显示全部楼层
引用4楼six周的回复:那,空指针异常,你看你点击的哪个按钮,那么这个按钮里面的值为啥不给赋值
按鈕是這個:
publicvoidgameindexpage(Viewv){
可能是因為一開始的頁面就是登陸頁面,沒在註冊頁面把資料傳進登陸頁面先,
所以沒值
文件下載:
https://drive.google.com/file/d/1d-ygG8QdAiBp0wUTxkXNrxpDHEo0JrhM/view
回复

使用道具 举报

千问 | 2021-1-27 05:31:18 | 显示全部楼层
看logcat日志,翻到属于你代码的错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行