当前位置: 首页 > 面试题库 >

Android应用程序在AVD中不断崩溃,但在Gradle中已正确构建

呼延升
2023-03-14
问题内容

我制作了这个带有两个按钮和一个textview的小型android应用程序,非常基本。但是它不是从模拟器开始的。没有任何构建错误。

这是activity_main.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">

<Button
    android:id="@+id/toast_button"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:layout_marginTop="20dp"
    android:text="@string/toast_text"
    android:background="@color/colorPrimary"
    android:textColor="@color/white"
    android:onClick="showToast"/>

<TextView
    android:id="@+id/text_view_counter"
    android:layout_width="match_parent"
    android:layout_height="370dp"
    android:background="@color/yellow"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:text="@string/counter_initial_value"
    android:textSize="160sp"
    android:gravity="center"
    android:textStyle="bold"
    android:textColor="@color/colorPrimary"
    />


<Button
    android:id="@+id/count_button"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:text="@string/count"
    android:background="@color/colorPrimary"
    android:textColor="@color/white"
    android:onClick="counterUp"/>
    </LinearLayout>

这是MainActivity.java文件

package com.example.android.testapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

final TextView mShowCounter = (TextView) findViewById(R.id.text_view_counter);
final Button button = (Button) findViewById(R.id.toast_button);
private int mCount = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


public void showToast(View view) {
    Toast toast = Toast.makeText(this, 
R.string.toast_popup,Toast.LENGTH_LONG);
    toast.show();
}

public void counterUp(View view) {
    mCount++;
    if(mShowCounter != null) {
        mShowCounter.setText(Integer.toString(mCount));
    }
}
}

我曾尝试进行多个项目,但这无法正常工作。在第一个项目中,它在显示第一个版本后开始显示错误,提示“无法解析符号R”,并以红色突出显示R的所有实例。但是,在此版本中,即使在模拟器中,应用程序也没有启动,也没有错误。


问题答案:

您正在尝试**xml**创建实例之前访问实例,这会使应用程序崩溃。

要检查由于您的应用崩溃而引起的故障,您可以参考检 Logcat 入您的IDE。

将您的实例化代码放入onCreate()回调中:-

package com.example.android.testapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

final TextView mShowCounter;
final Button button;
private int mCount = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mShowCounter = (TextView) findViewById(R.id.text_view_counter);
    button = (Button) findViewById(R.id.toast_button);
}


public void showToast(View view) {
    Toast toast = Toast.makeText(this, 
R.string.toast_popup,Toast.LENGTH_LONG);
    toast.show();
}

public void counterUp(View view) {
    mCount++;
    if(mShowCounter != null) {
        mShowCounter.setText(Integer.toString(mCount));
    }
}
}


 类似资料:
  • 我有一个制作android应用程序的学校项目。但当我运行应用程序时,它会在logcat中不断显示类似的内容。我是android studio的新手。请帮帮我。

  • 当我打开我的android应用程序时,我总是会收到一个错误 应用程序app_name(进程com.random.stuff)意外停止。请再试一次 logcat 起始点: DDMS线路:

  • 问题内容: 就像我在标题中说的那样,我正在为iPhone编写一个应用程序,该应用程序可以在调试模式下完美运行,但是当我将其构建为发行版并通过TestFlight安装时,它会崩溃。由于崩溃日志,它可能必须使用以下代码行: 我使用的是Brother的框架而不使用AirPrint进行打印,但是我认为这不是问题,因为应用程序在对框架执行某些操作之前便崩溃了。它仅在我执行这些行的ViewController

  • 我是一个java初学者,但我试图构建练习,我遇到了这个问题。用户输入捐赠,按下按钮,捐赠的值就会增加。我写了整个代码,但当我点击按钮添加捐款计数时,应用程序崩溃了。我遵循老师的所有教诲。我在活动中创建了一个方法,在ui构建器中,我转到单击按钮属性并将其设置为该方法。它应该很顺利,但每当我点击按钮时,它就崩溃了。这是我的活动,我将onClick属性设置为ComputeDoniversity。 这是模

  • 在构建我的应用程序时,当运行任务作为应用程序程序集的一部分时,Gradle调用失败,并出现以下错误。我不知道为什么会这样。我怎么修好它? 我用的是Gradle5.1.1。

  • 我开发的应用程序在使用Android Studio进行测试时效果很好。但是在谷歌Play商店发布后遇到了问题。 该应用程序具有多个页面。其中一个页面使用Unity启动AR图像跟踪功能,只需单击一个按钮即可。从Android Studio将应用程序添加到我的手机时完全没有问题,一切正常。但是,当从谷歌Play商店下载时,当单击按钮启动unity时,它会立即崩溃。 我是一个新的Android开发者。任