gpt4 book ai didi

java - Android 致命信号 11 (SIGSEGV) 轮盘教程

转载 作者:行者123 更新时间:2023-12-01 16:28:34 26 4
gpt4 key购买 nike

我实际上是 Android 方面的新手,我按照本教程 This Roulette 进行操作。我按照它做的一切都与教程完全相同...但是该教程已有一年了..现在我使用基于 JDK Java 8 的 Android Studio 最新版本..

这是我的 gradle 构建

apply plugin: 'com.android.application'

android {
compileSdkVersion 28


defaultConfig {
applicationId "com.example.sixgroup"
minSdkVersion 26
targetSdkVersion 28
versionCode 1
versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

implementation 'com.jakewharton:butterknife:10.2.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
}

我的代码:

*************

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.RotateAnimation;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.Random;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class MainActivity extends AppCompatActivity {

// sectors of our wheel (look at the image to see the sectors)
private static final String[] sectors = { "32 red", "15 black",
"19 red", "4 black", "21 red", "2 black", "25 red", "17 black", "34 red",
"6 black", "27 red","13 black", "36 red", "11 black", "30 red", "8 black",
"23 red", "10 black", "5 red", "24 black", "16 red", "33 black",
"1 red", "20 black", "14 red", "31 black", "9 red", "22 black",
"18 red", "29 black", "7 red", "28 black", "12 red", "35 black",
"3 red", "26 black", "zero"
};
@BindView(R.id.spinBtn)
Button spinBtn;
@BindView(R.id.resultTv)
TextView resultTv;
@BindView(R.id.wheel)
ImageView wheel;
// We create a Random instance to make our wheel spin randomly
private static final Random RANDOM = new Random();
private int degree = 0;
// We have 37 sectors on the wheel, we divide 360 by this value to have angle for each sector
// we divide by 2 to have a half sector
private static final float HALF_SECTOR = 360f / 37f / 2f;

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

@OnClick(R.id.spinBtn)
public void spin(View v) {


// we calculate random angle for rotation of our wheel
degree = RANDOM.nextInt(360) + 720;
int degreeOld = degree % 360;
// rotation effect on the center of the wheel
RotateAnimation rotateAnim = new RotateAnimation(degreeOld, degree,
RotateAnimation.RELATIVE_TO_SELF, 0.5f, RotateAnimation.RELATIVE_TO_SELF, 0.5f);
rotateAnim.setDuration(3600);
rotateAnim.setFillAfter(true);
rotateAnim.setInterpolator(new DecelerateInterpolator());
rotateAnim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// we empty the result text view when the animation start
resultTv.setText("");
}

@Override
public void onAnimationEnd(Animation animation) {
// we display the correct sector pointed by the triangle at the end of the rotate animation
resultTv.setText(getSector(360 - (degree % 360)));
}

@Override
public void onAnimationRepeat(Animation animation) {

}
});

// we start the animation
wheel.startAnimation(rotateAnim);
}

private String getSector(int degrees) {
int i = 0;
String text = null;

do {
// start and end of each sector on the wheel
float start = HALF_SECTOR * ((i * 2) + 1);
float end = HALF_SECTOR * ((i * 2) + 3);

if (degrees >= start && degrees < end) {
// degrees is in [start;end[
// so text is equals to sectors[i];
text = sectors[i];
}

i++;
// now we can test our Android Roulette Game :)
// That's all !
// In the second part, you will learn how to add some bets on the table to play to the Roulette Game :)
// Subscribe and stay tuned !

} while (text == null && i < sectors.length);
return text;
}
}
**************

一切都更新了..所以我不确定为什么会这样

A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x68 in tid 12075 (xample.sixgroup)

日志:

2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64:     at void com.example.sixgroup.MainActivity.onCreate(android.os.Bundle) (MainActivity.java:46)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7183)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1220)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2910)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3032)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1696)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:105)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at void android.os.Looper.loop() (Looper.java:164)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6944)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at void com.android.internal.os.Zygote$MethodAndArgsCaller.run() (Zygote.java:327)
2020-05-30 18:02:43.851 25578-25578/com.example.sixgroup I/zygote64: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1374)
2020-05-30 18:02:44.048 25578-25578/com.example.sixgroup A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x68 in tid 25578 (xample.sixgroup)

最佳答案

哦,伙计们,我不知道也不确定实际上是什么问题...但是我所做的是删除依赖项(ButterKnife)并在 OnCreate 中添加我自己的代码..这使它工作? !!!首先在日志中它是相同的,但给出 [-2] 这对于字符串区域来说是不可能的。这可能是可能的问题。

谢谢

关于java - Android 致命信号 11 (SIGSEGV) 轮盘教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62103733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com