データベースプログラミングで苦労するのが出力先をどう作るかである。
データベース作成して、データの入れ方を学び、その次にデータ取得の仕方を学び、その後出力について学ぶ。すべて完璧でないとうまくいかない。
これを乗り越えるためには、前回説明したタグを使うとそれぞれの段階でうまくいっているか確認ができる。
データベース作成して、データの入れ方を学び、というところまではMayプロジェクトでやったので、今度は、データの取得の仕方についてMay2プロジェクトでやります。その後の出力で、単数はMay3、複数データ出力はMay4プロジェクトということになります。
May2プロジェクトは、
前回と同様、
コードは、MainActivity. javaとDBOpenHelper. javaで構成され、
デザインは、activity_main.xmlで行います。
DBOpenHelper.javaです。ほとんど前回とおなじですが、一部変更あります。(後述)
***************************************************************************

*************************************************************************
7行目だけ 頭の privateがpublicに変更してます。
次にMainActivity.javaです。
activity.xmlで追加したボタンを押すと、
データベース内にある、カラム名 moneyのデータをすべてlog_catに出力してくれるプログラムです。
**************************************************************************

***************************************************************************
package android.example.may2;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
public class MainActivity extends AppCompatActivity {
DBOpenHelper helper;
SQLiteDatabase db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
helper = new DBOpenHelper(getApplicationContext());
db= helper.getWritableDatabase();
}
public void onButtonClick(View view){
Cursor cursor = db.query(helper.TABLE,new String[]{"_id","name","money"},null,null,null,null,"_id DESC");
while(cursor.moveToNext()){
Log.d(helper.TAG,""+cursor.getInt(cursor.getColumnIndex("money")));
}
cursor.close();
}
}
*************************************************************************
activity.xmlです。
*************************************************************************

*********************************************************************
※AndroStudio1.4で、作成時、android 4.0.3(IceCreamSandwich)を選択して作成。
スマホは htc HTV31で動作確認しています。