新手学习Android Studio真机运行闪退,没有报错,求大佬

按照书上写的一个登录欢迎界面,但是真机调试会闪退
WelcomeActivity.java代码
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

import com.easybooks.android.loginpage.MainActivity;
import com.easybooks.android.loginpage.R;

public class WelcomeActivity extends AppCompatActivity {
private TextView myWelcome;
private TextView myTime;
private String name,pass;
private int resultCode;

@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.welcome);
    findViews();
    showWelcome();
}
private void findViews(){
    myWelcome= (TextView)findViewById(R.id.myLabelWelcome);
    myTime = (TextView)findViewById(R.id.myLabelTime);
}
private void showWelcome(){
    Bundle bundle = getIntent().getExtras();
    name = bundle.getString("name");
    pass = bundle.getString("pass");
    if (pass.equals(123456)){
        myWelcome.setText("\n"+name+"您好!\n     欢迎光临");
        int year,month,day,hour,minute;
        year = bundle.getInt("year");
        month = bundle.getInt("month");
        day = bundle.getInt("day");
        hour = bundle.getInt("hour");
        minute = bundle.getInt("minute");
        myTime.setText("登录时间: "+year+"-"+month+"-"+day+""+hour+":"+minute);
        resultCode = 404;
    }
    Intent data = new Intent(this,MainActivity.class);
    data.putExtras(bundle);
    setResult(resultCode,data);
}
public void onBackClick(View view){
    finish();
}

}
LoginActivity.java代码
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;

import com.easybooks.android.loginpage.R;

public class LoginActivity extends AppCompatActivity {
private EditText myName;
private EditText myPwd;
private Button myOk;
private TimePicker myTime;
private DatePicker myDate;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
findViews();
}
private void findViews(){
myName = (EditText)findViewById(R.id.myTextName);
myPwd = (EditText)findViewById(R.id.myTextPwd);
myOk= (Button)findViewById(R.id.myButtonOk);
myTime = (TimePicker)findViewById(R.id.myTimePicker);
myDate = (DatePicker)findViewById(R.id.myDtePicker);
myTime.setIs24HourView(true);
}
public void onLodginClick(View view){
String name = myName.getText().toString();
String pass = myPwd.getText().toString();
int year,month,day,hour,minute;
year = myDate.getYear();
month =myDate.getMonth()+1;
day = myDate.getDayOfMonth();
hour = myTime.getCurrentHour();
minute = myTime.getCurrentMinute();
Intent intent=new Intent(this,WelcomeActivity.class);
Bundle bundle = new Bundle();
bundle.putString(“name”,name);
bundle.putString(“pass”,pass);
bundle.putInt(“year”,year);
bundle.putInt(“month”,month);
bundle.putInt(“hour”,hour);
bundle.putInt(“minute”,minute);
intent.putExtras(bundle);
startActivityForResult(intent,200);

}
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    if(requestCode == 101)Toast.makeText(this,"重新登录",Toast.LENGTH_LONG).show();
    else if(requestCode == 404){
        Toast.makeText(this,"此前输入"+data.getStringExtra("pass")+"密码错误!\n请重输",Toast.LENGTH_LONG).show();
        myPwd.setText("");
    }
}

}

### 回答1: Android Studio真机调试闪退可能是由于多种原因引起的,以下是一些可能的解决方法: 1. 检查USB连接:确保您的设备已正确连接到计算机,并且USB调试已启用。您可以在设备设置中找到此选项。 2. 清除应用缓存:有时候应用程序缓存可能会导致闪退。您可以尝试清除应用程序缓存并重新启动应用程序。 3. 更新应用程序:如果您的应用程序版本过旧,则可能会出现闪退问题。请确保您的应用程序已更新到最新版本。 4. 检查日志:您可以在Android Studio中查看设备日志,以查找可能的错误和异常。这可以帮助您确定问题的根本原因。 5. 禁用Instant Run:Instant Run是一种加速应用程序构建和部署的功能,但有时会导致闪退。您可以尝试禁用它并重新构建应用程序。 6. 检查代码:最后,如果以上方法都无法解决问题,则可能是代码中的错误导致了闪退。请检查您的代码并修复任何错误。 希望这些方法可以帮助您解决Android Studio真机调试闪退问题。 ### 回答2: 在 Android Studio 中进行真机调试时,有时会出现应用程序闪退的问题。当应用程序在启动过程中或在使用时崩溃,可能是由于多种原因导致的。下面是一些可能导致应用程序闪退的常见原因和相应的解决方法。 1. 内存不足 当应用程序中使用的内存超过了设备的可用内存,应用程序就会崩溃。这种情况下,可以通过进行内存分析、减少应用程序内存使用并进行内存泄漏检查来降低内存使用。 2. 线程阻塞 当应用程序中的某个线程阻塞时,应用程序就会崩溃。这通常是由于网络请、数据库访问或长时间运行的操作等原因造成的。建议使用异步任务或后台服务来避免线程阻塞。 3. 代码错误 当应用程序中存在代码错误时,应用程序也会崩溃。这种情况下,需要进行代码审查、调试和测试以找出代码错误。 4. 资源不可用 当应用程序使用的资源不可用时,如未找到所需的布局文件或图片,应用程序也会崩溃。这时需要确保资源文件存在于正确的位置,并且正确命名和拼写。 总之,要解决 Android Studio 真机调试闪退的问题,需要仔细分析问题并进行逐步排查。可以通过使用 Android Studio 提供的调试工具和界面来帮助定位和修复问题。另外,还可以通过参考 Android 开发者文档或在 Stack Overflow 等社区上搜索相关问题,找到解决方案。 ### 回答3: 在进行 Android Studio 真机调试时,有时可能会因为程序闪退而失败。这是一个常见问题。 造成这种问题的原因很多,这里概括以下几点: 1.OutOfMemoryError:可能会在使用中出现内存不足的情况,这可能导致应用程序闪退。在这种情况下,需要检查您的开发计算机的内存,以确保它足够大。 2.代码错误:可能在代码中存在开发错误,可能会导致闪退。可以通过调试应用程序并查找错误来解决这个问题。 3.设备兼容性:当与具有不同版本的操作系统或不同硬件配置的设备进行通信时,可能会发生一些不兼容的问题,可能导致应用程序崩溃。 那么如何解决这个问题呢? 1.检查程序代码:通常情况下,应用程序闪退是由于代码错误造成的。因此,可以尝试仔细阅读代码,找出错误并修复它。可以调试程序并寻找错误,或者对代码进行重构和优化,以确保它更稳定且更高效。 2.修改内存设置:内存问题是应用程序崩溃的另一个常见原因。可以尝试增加 Android Studio JVM 的最大内存限制,并将应用程序的内存管理配置为更合理的值。 3.设备兼容性:对于设备兼容性问题,可以尝试将应用程序进行更新,并进行更全面的测试,以确保其在不同版本的操作系统和不同的硬件配置中运行良好。 要在 Android Studio 中更好地进行调试,建议您前往官方网站进行更多了解和学习,以获得更多的技术和经验。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值