カテゴリー:
家計簿アプリ
閲覧数:462 配信日:2013-08-19 12:38
概要
▼/src/com/fc2/blog98/andromaker/housekeepingbook/SubOpenHelper.java
・onCreateメソッド
final Calendar calendar = Calendar.getInstance();
final int year = calendar.get(Calendar.YEAR);//未利用
final int month = calendar.get(Calendar.MONTH);//未利用
final int day = calendar.get(Calendar.DAY_OF_MONTH);//未利用
▼/src/com/fc2/blog98/andromaker/housekeepingbook/HousekeepingBook.java
・onCreateメソッド
createTable();
・createTableメソッド
public void createTable(){
String[] fileName=intentFileName();
SharedPreferences pref = getSharedPreferences(fileName[0],MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE);//getSharedPreferences()メソッドでSharedPreferences型インスタンスを取得。第一引数は、プリファレンスの名前。第二引数は共有モード、他アプリから読み取りも書込みも可能
int str = pref.getInt(fileName[1], 0);//データ読込。第2引数 … キーの値が存在しないときの初期値とする値
if(str==0){
String sql = "";
sql += "create table "+"'"+fileName[1]+"'"+" (";
sql += "_id integer primary key";
sql += ",Item text not null";
sql += ",Utiwake text";
sql += ",Kingaku text";
sql += ")";
SQLiteDatabase db=database();
db.execSQL(sql);
}
Editor e = pref.edit();//Editor型インスタンスを取得
e.putInt(fileName[1], 1);//データ書込。第1引数 … キー名。第2引数 … 値
e.commit();//実際に保存
}
・intentFileNameメソッド
public String[] intentFileName(){
int[] calendar=intentCalendar();
//第一引数はキー。第二引数はキーが存在しなかった場合の戻り値。
String prefName="pref";
String tableName=String.valueOf(calendar[0])+"-"+String.valueOf(calendar[1]+1)+"-"+String.valueOf(calendar[2]);//String.valueOfメソッドで、整数を文字列に変換
String tableMonthName=String.valueOf(calendar[0])+"-"+String.valueOf(calendar[1]+1);
String[] fileName={prefName,tableName,tableMonthName};
return fileName;
}
・intentCalendarメソッド
public int[] intentCalendar(){
Calendar calendar = Calendar.getInstance();//Calendarクラスのオブジェクトcalendarを生成
int year = calendar.get(Calendar.YEAR);//CalendarクラスのYEAR(年) … 現在の年を取得
int month = calendar.get(Calendar.MONTH);//CalendarクラスのMONTH(月) … 現在の月を取得
int day = calendar.get(Calendar.DAY_OF_MONTH);//CalendarクラスのDAY_OF_MONTH(日) … 年の何番目の日かを取得
Intent intent1 = getIntent();
year = intent1.getIntExtra("year",year);
month = intent1.getIntExtra("month",month);
day = intent1.getIntExtra("day",day);
int date= year*10000+(month+1)*100+day;//月はなぜか値が最初は-1されてるので、+1
int[] calendarIntent={year,month,day,date};
return calendarIntent;
}