次に
1、ユーザが取得した得点の最高得点を表示すること、
2.スマートフォンのディスプレイのスイッチを切り、再度電源を入れるとエラーダイアログが
出るので、
2−1、onResume()メソッドをinit()メソッドに変更
2−2onPause()メソッドの中にインテントによりNinjaActivityにリンクするようにしました。
3、戻るボタンとゲーム開始のボタンを追加しました。ゲーム開始のボタンはタップしても今のところ何も
起こりません。
record.xmlに追加コード
//ここから追加
//ここまで
strings.xmlには次の3行を追加コーディングします。
Your highest score
Game Start
戻る(To Top)
RecordActivityは次のようになります。
package kureishi.example.nationaldefence;
import kureishi.example.nationaldefence.R;
import kureishi.example.nationaldefence.DatabaseHelper;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.app.ListActivity;
import android.content.ContentValues;
import java.util.Calendar;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.View.OnClickListener;
import android.widget.*;
public class RecordActivity extends ListActivity implements OnClickListener{
private boolean mIsNew=true;
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;
private SimpleCursorAdapter mAdapter;
private Cursor c;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.record);
Button btnSave=(Button)findViewById(R.id.button_save);
Button btnDelete=(Button)findViewById(R.id.button_delete);
btnSave.setOnClickListener(this);
btnDelete.setOnClickListener(this);
//新しいボタンの追加処理
Button btnStart=(Button)findViewById(R.id.button_start);
Button btnReturn=(Button)findViewById(R.id.button_return);
btnStart.setOnClickListener(this);
btnReturn.setOnClickListener(this);
init();//onResume()からinit()に変更したので実行命令が必要
}
public void init(){
mDbHelper =new DatabaseHelper(this);
//追加処理:必要ないかも??
if(mDb==null){
mDb=mDbHelper.getWritableDatabase();
}
//データの読み込み
c=fetchAll();
//読み取ったデータをrecord_row.xmlファイルへセット
startManagingCursor(c);
String[] from=new String[]{"_id","_date","point"};
int[] to=new int[]{R.id._id,R.id._date,R.id.point};
mAdapter=new SimpleCursorAdapter(this,R.layout.record_row,c,from,to);
//record.xmlファイルに表示
setListAdapter(mAdapter);
//最高得点を取得する処理:これは難しかった(半日地獄での戦いでした)
c.moveToFirst(); //ポインタの初期設定これが無いと駄目
int ii=c.getCount();
int max_point=0;
for(int i=0;i=0){
if(max_point