memo

ああ無情

Raspberry Pi日本語環境設定

アップデート

sudo apt-get update

sudo apt-get upgrade

 

sudo apt-get install vim

 

フォント

sudo apt-get install fonts-vlgothic

 

日本語入力

sudo apt-get install ibus-anthy

 

キーボードの配列、ショートカット設定、タイムゾーンロケールの設定

 

LAMPスタックのインストール

sudo apt-get install apache2 php5 php5-mysql mysql-server

 

mysqlのパス設定

 

 

 

賃金計算

#include <iostream>

 

using namespace std;

 

int main(){

    

    double hours,wage;

    char name[80];

    

    cout<<"名前を入力:";

    cin>>name;

    

    cout<<"労働時間を入力:";

    cin>>hours;

    

    cout<<"時給を入力:";

    cin>>wage;

    

    cout<<name<<"の合計賃金は"<<wage*hours<<"\n";

    

    return 0;

}

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);
}
}
}