Я пытаюсь сделать это приложение, которое вычисляет ваш средний балл (на основе шведской системы оценок), и я сделал графический макет и написал код Java в Eclipse, который я считаю правильным, но когда я пытаюсь запустить егов эмуляторе это не сработает.Приложение запускается, но его только черный экран.Это мое первое приложение и мой первый проект по программированию, так что я действительно не знаю, что я сделал неправильно.
Предполагается, что это три этапа редактирования, в которые вы кладете количество баллов, которое вы получили, с определенной оценкой (у нас есть три оценки), а затем следует умножить баллы на 10, 15 или 20 в зависимости от того, какая это оценка, а затем разделить на общее количество баллов.Я не знаю, имеет ли это смысл, но максимальная оценка должна быть 20 (все mvgs).Я сделал похожее приложение на C #, и оно работает, но я предполагаю, что дела обстоят немного иначе, когда дело доходит до Android и Java.
package com.dlol.gradeaverage;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class GradeaverageActivity extends Activity {
EditText editText1, editText2, editText3;
String gtext, vgtext, mvgtext, str;
Double gpoäng, vgpoäng, mvgpoäng;
Double gvärde, vgvärde, mvgvärde;
Double allapoäng, allavärde;
Double snittbetyg;
Button button1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editText1 = (EditText)findViewById(R.id.editText1);
editText2 = (EditText)findViewById(R.id.editText2);
editText3 = (EditText)findViewById(R.id.editText3);
gtext = editText1.getText().toString();
vgtext = editText2.getText().toString();
mvgtext = editText3.getText().toString();
gpoäng = Double.parseDouble(gtext);
vgpoäng = Double.parseDouble(vgtext);
mvgpoäng = Double.parseDouble(mvgtext);
gvärde = gpoäng*10;
vgvärde = vgpoäng*15;
mvgvärde = mvgpoäng*20;
allapoäng = (gpoäng + vgpoäng + mvgpoäng);
allavärde = (gvärde + vgvärde + mvgvärde);
snittbetyg = (allavärde / allapoäng);
str = "Ditt snitt är " + snittbetyg;
button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(getBaseContext(), str,
Toast.LENGTH_SHORT).show();
}
});
}}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/info_text_G"
android:textSize="16sp">
</TextView>
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text">
</EditText>/
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/info_text_VG"
android:textSize="16sp" />
<EditText
android:id="@+id/editText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text">
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/info_text_MVG"
android:textSize="16sp">
</TextView>
<EditText
android:id="@+id/editText3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text">
</EditText>
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/Button" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, GradeaverageActivity!</string>
<string name="app_name">Gradeaverage</string>
<string name="info_text_G">Skriv in antal G-poäng</string>
<string name="info_text_VG">Skriv in antal VG-poäng</string>
<string name="info_text_MVG">Skriv in antal MVG-poäng</string>
<string name="Button">Räkna ut snitt!</string>
</resources>
02-05 17: 07: 06.184: D / AndroidRuntime (1230): завершение работы VM 02-05 17: 07: 06.184: W / dalvikvm (1230): threadid = 3: выход из потока за исключением необработанного исключения (группа = 0x4000fe70) 02-05 17: 07: 06.184: E / AndroidRuntime (1230): Обработчик Uncaught: выход основного потока из-за непредвиденного исключения 02-05 17: 07: 06.194: E / AndroidRuntime (1230): java.lang.RuntimeException: невозможно запустить действие ComponentInfo {com.dlol.gradeaverage / com.dlol.gradeaverage.GradeaverageActivity}: java.lang.NumberFormatException: 02-05 17: 07: 06.194: E / AndroidRuntime (1230): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2268) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2284) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): на android.app.ActivityThread.access $ 1800 (ActivityThread.java: 112) 02-05 17:07:06.194: E / AndroidRuntime (1230): на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1692) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): на android.os.Handler.dispatchMessage(Handler.java:99) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): на android.os.Looper.loop (Looper.java:123) 02-05 17: 07: 06.194: E / AndroidRuntime(1230): в android.app.ActivityThread.main (ActivityThread.java:3948) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): в java.lang.reflect.Method.invokeNative (собственный метод) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): по адресу java.lang.reflect.Method.invoke (Method.java:521) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): по адресу.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:782) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): на com.android.internal.os.ZygoteInit.main (ZygoteInit.Java: 540) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): at dalvik.system.NativeStart.main (собственный метод) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): вызвано: java.lang.NumberFormatException: 02-05 17: 07: 06.194: E / AndroidRuntime (1230): в org.apache.harmony.luni.util.FloatingPointParser.parseDouble (FloatingPointParser.java:258) 02-05 17: 07: 06.194: E /AndroidRuntime (1230): в java.lang.Double.parseDouble (Double.java:323) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): в com.dlol.gradeaverage.GradeaverageActivity.onCreate (GradeaverageActivity.java: 37) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1123) 02-05 17: 07: 06.194: E / AndroidRuntime (1230):atroid.app.ActivityThread.performLaunchActivity (ActivityThread.java:2231) 02-05 17: 07: 06.194: E / AndroidRuntime (1230): ... еще 11 02-05 17: 07: 06.225: I / dalvikvm (1230): threadid = 7: реагирование на сигнал 3 02-05 17: 07: 06.244: I / dalvikvm (1230): записал трассировку стека в '/data/anr/traces.txt' 02-05 17: 07: 06.344: I/ jdwp (1230): получен дескриптор файла 24 от АБР 02-05 17: 07: 06.354: W / System.err (1230): не удается отправить блок DDM 46454154: не определен обработчик 02-05 17:07:06.354: W / System.err (1230): не удается отправить блок DDM 4d505251: не определен обработчик