Android 4.1.1 用の YouWave という Android エミュレーターで簡単な小さなテストを作成しようとしています (そうだと思います)。
IntelliJ を使用して、エミュレーターで使用する APK ファイルを生成しています。私は単純に Artifacts に入り、1 つの Artifact を作成して APK ファイルを作成しました。他には何もしませんでした。
アプリのアイデアはシンプルです。いくつかのコードが実行されたら、コードの結果を読み取り可能な小さなボックスに表示し、読み取ったら閉じます。しかし、エミュレータでアプリケーションを起動すると、「Loading 100 %」と表示され、何も起こりません。(ソフトウェアに付属の他の 2 つのアプリケーションで動作したので、別の方法で動作することはわかっています。)
コードは次のとおりです。
package com.example.DalvikTest;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.content.Context;
public class MyActivity extends Activity {
final Context context = this;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
long time = RunTest();
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Results");
builder.setCancelable(true);
String s = "Time: " + time + " ns";
builder
.setMessage(s)
.setCancelable(false)
.setPositiveButton("Yes",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MyActivity.this.finish();
}
})
.setNegativeButton("No",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
public long RunTest() {
long timeStart = System.nanoTime();
long sum = 0;
int[] arr = new int[1000000];
for(int i : arr) {
sum += i;
}
long timeEnd = System.nanoTime();
long result = timeEnd - timeStart;
return result;
}
}
結果のボックスが表示されるようになったのはなぜですか?