package foo.ndkdemo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class Main extends Activity {
SqrtDemo d = new SqrtDemo();
public double total = 0;
enum Lang {
C,
Java
}
static {
System.loadLibrary("sqrt-demo");
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button cb = (Button) findViewById(R.id.cButton);
final Button jb = (Button) findViewById(R.id.jButton);
OnClickListener handler = new OnClickListener() {
@Override
public void onClick(View v) {
final Lang lang =
jb == v ? Lang.Java : Lang.C;
EditText tf = (EditText) findViewById(R.id.textArea);
String s = tf.getText().toString();
int numReps = Integer.parseInt(s);
total = 0;
long t0 = System.currentTimeMillis();
for (int i = 0; i < numReps; i++) {
switch(lang) {
case C:
total += SqrtDemo.sqrtC(123456789.0);
break;
case Java:
total += SqrtDemo.sqrtJava(123456789.0);
break;
}
}
long t1 = System.currentTimeMillis();
long time = t1 - t0;
EditText log = (EditText) findViewById(R.id.resultLog);
log.append(String.format("Time %d iters in %s was %d msec, avg result %f%n", numReps, lang, time, total / numReps));
}
};
cb.setOnClickListener(handler);
jb.setOnClickListener(handler);
}
}