イメージファイル書き込み
diskutil list
diskutil eraseDisk FAT32 RPI /dev/disk3
diskutil unmountDisk /dev/disk3
sudo dd if=*****.img of=/dev/rdisk3 bs=1m
進捗確認はCtrl+t
CreateProductHelper
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class CreateProductHelper extends SQLiteOpenHelper {
// コンストラクタ定義
public CreateProductHelper(Context con){
// SQLiteOpenHelperのコンストラクタ呼び出し
super(con,"dbsample",null,1);
}
// onCreateメソッド
@Override
public void onCreate(SQLiteDatabase db) {
}
// onUpgradeメソッド
@Override
public void onUpgrade(SQLiteDatabase db, int oldversion, int newversion) {
}
}
MainActivity
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
CreateProductHelper helper = null;
SQLiteDatabase db = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 登録ボタンのクリックリスナー設定
Button insertBtn = (Button)findViewById(R.id.bt_insert);
insertBtn.setTag("insert");
insertBtn.setOnClickListener(new ButtonClickListener());
// 更新ボタンのクリックリスナー設定
Button updatetBtn = (Button)findViewById(R.id.bt_update);
updatetBtn.setTag("update");
updatetBtn.setOnClickListener(new ButtonClickListener());
// 削除ボタンのクリックリスナー設定
Button delBtn = (Button)findViewById(R.id.bt_delete);
delBtn.setTag("delete");
delBtn.setOnClickListener(new ButtonClickListener());
// 表示ボタンのクリックリスナー設定
Button selectBtn = (Button)findViewById(R.id.bt_display);
selectBtn.setTag("display");
selectBtn.setOnClickListener(new ButtonClickListener());
// DB作成
helper = new CreateProductHelper(MainActivity.this);
}
// クリックリスナー定義
private class ButtonClickListener implements OnClickListener {
// onClickメソッド(ボタンクリック時イベントハンドラ)
public void onClick(View v){
// タグの取得
String tag = (String)v.getTag();
// メッセージ表示用
String message = "";
TextView label = (TextView)findViewById(R.id.tv_message);
// 入力情報取得
EditText productid = (EditText)findViewById(R.id.et_id);
EditText name = (EditText)findViewById(R.id.et_name);
EditText price = (EditText)findViewById(R.id.et_price);
// テーブルレイアウトオブジェクト取得
TableLayout tablelayout = (TableLayout)findViewById(R.id.tl_list);
// テーブルレイアウトのクリア
tablelayout.removeAllViews();
// 該当DBオブジェクト取得
db = helper.getWritableDatabase();
// 登録ボタンが押された場合
if(tag.equals("insert")){
// テーブル作成
try{
// SQL文定義
String sql
= "create table product (" +
"_id integer primary key autoincrement," +
"productid text not null," +
"name text not null," +
"price integer default 0)";
// SQL実行
db.execSQL(sql);
// メッセージ設定
message = "テーブルを作成しました!n";
}catch(Exception e){
message = "テーブルは作成されています!¥n";
Log.e("ERROR", e.toString());
}
// データ登録
try{
// トランザクション制御開始
db.beginTransaction();
// 登録データ設定
ContentValues val = new ContentValues();
val.put("productid", productid.getText().toString());
val.put("name", name.getText().toString());
val.put("price", price.getText().toString());
// データ登録
db.insert("product", null, val);
// コミット
db.setTransactionSuccessful();
// トランザクション制御終了
db.endTransaction();
// メッセージ設定
message += "データを登録しました!";
}catch(Exception e){
message = "データ登録に失敗しました!";
Log.e("ERROR",e.toString());
}
// 更新ボタンが押された場合
}else if(tag.endsWith("update")){
// ファイルのデータ削除
try{
// 更新条件
String condition = null;
if(productid != null && !productid.equals("")){
condition = "productid = '" + productid.getText().toString() + "'";
}
// トランザクション制御開始
db.beginTransaction();
// 更新データ設定
ContentValues val = new ContentValues();
val.put("name", name.getText().toString());
val.put("price", price.getText().toString());
// データ更新
db.update("product", val, condition, null);
// コミット
db.setTransactionSuccessful();
// トランザクション制御終了
db.endTransaction();
// メッセージ設定
message = "データを更新しました!";
}catch(Exception e){
// メッセージ設定
message = "データ更新に失敗しました!";
Log.e("ERROR",e.toString());
}
// 削除ボタンが押された場合
}else if(tag.endsWith("delete")){
// ファイルのデータ削除
try{
// 削除条件
String condition = null;
if(productid != null && !productid.equals("")){
condition = "productid = '" + productid.getText().toString() + "'";
}
// トランザクション制御開始
db.beginTransaction();
// データ削除
db.delete("product", condition, null);
// コミット
db.setTransactionSuccessful();
// トランザクション制御終了
db.endTransaction();
// メッセージ設定
message = "データを削除しました!";
}catch(Exception e){
// メッセージ設定
message = "データ削除に失敗しました!";
Log.e("ERROR",e.toString());
}
// 表示ボタンが押された場合
}else if(tag.equals("display")){
// データ取得
try{
// 該当DBオブジェクト取得
db = helper.getReadableDatabase();
// 列名定義
String columns[] = {"productid","name","price"};
// データ取得
Cursor cursor = db.query(
"product", columns, null, null, null, null, "productid");
// テーブルレイアウトの表示範囲を設定
tablelayout.setStretchAllColumns(true);
// テーブル一覧のヘッダ部設定
TableRow headrow = new TableRow(MainActivity.this);
TextView headtxt1 = new TextView(MainActivity.this);
headtxt1.setText("商品ID");
headtxt1.setGravity(Gravity.CENTER_HORIZONTAL);
headtxt1.setWidth(60);
TextView headtxt2 = new TextView(MainActivity.this);
headtxt2.setText("商品名");
headtxt2.setGravity(Gravity.CENTER_HORIZONTAL);
headtxt2.setWidth(100);
TextView headtxt3 = new TextView(MainActivity.this);
headtxt3.setText("価格");
headtxt3.setGravity(Gravity.CENTER_HORIZONTAL);
headtxt3.setWidth(60);
headrow.addView(headtxt1);
headrow.addView(headtxt2);
headrow.addView(headtxt3);
tablelayout.addView(headrow);
// 取得したデータをテーブル明細部に設定
while(cursor.moveToNext()){
TableRow row = new TableRow(MainActivity.this);
TextView productidtxt
= new TextView(MainActivity.this);
productidtxt.setGravity(Gravity.CENTER_HORIZONTAL);
productidtxt.setText(cursor.getString(0));
TextView nametxt = new TextView(MainActivity.this);
nametxt.setGravity(Gravity.CENTER_HORIZONTAL);
nametxt.setText(cursor.getString(1));
TextView pricetxt = new TextView(MainActivity.this);
pricetxt.setGravity(Gravity.CENTER_HORIZONTAL);
pricetxt.setText(cursor.getString(2));
row.addView(productidtxt);
row.addView(nametxt);
row.addView(pricetxt);
tablelayout.addView(row);
// メッセージ設定
message = "データを取得しました!";
}
}catch(Exception e){
// メッセージ設定
message = "データ取得に失敗しました!";
Log.e("ERROR",e.toString());
}
}
// DBオブジェクトクローズ
db.close();
// メッセージ表示
label.setText(message);
}
}
}
ThankYouActivity
ご注文ありがとうございました