現時点の疑問

アプリ ソースコード家計簿アプリ

DRYじゃない?

 状態:未解決  閲覧数:2,213  投稿日:2013-07-23  更新日:2013-08-12
「intentCalendarメソッド」を2箇所で定義している理由が不明
・JAVAでは、includeできないの?

・変数の設定
・「MonthSheet.java」に記載している「intentCalendarメソッド」で生成したカレンダー配列(?)を変数へ格納

▼/src/com/fc2/blog98/andromaker/housekeepingbook/HousekeepingBook.java
・カレンダー変数定義
/* 変数の設定 */
       int[] calendar=intentCalendar();


・intentCalendarメソッド定義
	public int[] intentCalendar(){
Calendar calendar = Calendar.getInstance();//Calendarクラスのオブジェクトcalendarを生成
   int year = calendar.get(Calendar.YEAR);//現在の年を取得
   int month = calendar.get(Calendar.MONTH);//現在の月を取得
   int day = calendar.get(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;
       int[] calendarIntent={year,month,day,date};
       return calendarIntent;
}


▼/src/com/fc2/blog98/andromaker/housekeepingbook/MonthSheet.java
・intentCalendarメソッド定義
	public int[] intentCalendar(){
Calendar calendar = Calendar.getInstance();//Calendarクラスのオブジェクトcalendarを生成
   int year = calendar.get(Calendar.YEAR);//現在の年を取得
   int month = calendar.get(Calendar.MONTH);//現在の月を取得
   int day = calendar.get(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;
       int[] calendarIntent={year,month,day,date};
       return calendarIntent;
}


色指定

 閲覧数:363 投稿日:2013-07-27 更新日:2013-07-27

背景色


・背景色指定している箇所が見つからないのに、黒く表示されている

テーブル作成を、なぜ「SubOpenHelper.java」のonCreateメソッドで行わないの?

 閲覧数:379 投稿日:2013-08-12 更新日:2013-08-14

各src配下ファイル


・テーブル作成は、各src配下ファイルで実施している
・なぜ?




理由判明


・日付テーブルは、予め定義したテーブルへデータINSERTする方式ではなく、その都度、日付をベースにしたテーブルを作成する仕様としているため
DB構成
・月 … createMonthTableテーブル
・日 … createTableテーブル

・うーん、でも「item」「utiwake」テーブルに関しては、onCreateメソッドで作成したほうが良い気がする
・後で、カスタマイズ検討候補

SQLite3テーブル構成はこれで良いの?

 閲覧数:849 投稿日:2013-08-13 更新日:2013-08-16

リレーションシップ


・データをidではなく、直で格納するの?
1.「ダウンロードソースコード」仕様 | 「家計簿アプリ(アプリ ソースコード)」カテゴリー | Program0
SQLiteコマンド(スキーマ情報を表示する) | SQLite入門
Android Debug Bridge | Android Developers
データの更新(UPDATE文) - データの追加と削除 - SQLite入門
外部結合(OUTER JOIN句) - テーブルの結合 - SQLite入門
Sqliteリレーションについて2 - 楽天 みんなで解決!Q&A
SQLite3で参照整合の設定 - BIGLOBEなんでも相談室
リレーショナルデータベースのデータ構造と一貫性制約

・結局、何に困るかと言われれば、DBデータ変更する際、マスターテーブル以外のデータも変更しなければいけなくなる
・後で、要カスタマイズ

具体的には、月テーブル'2013-7'の「Item」カラムには、「ポロシャツ」などの直データではなく、「item_id」を
日テーブル'2013-7-16'の「Item」カラムには「item_id」、「Utiwake」カラムには「utiwake_id」を格納することを検討


SQLite参照整合性


・制約や動作を指定できるけど、解析だけされ機能としては働かない
・しかし、トリガにより、同じような機能を実装できる



分ける必要あるの?


テーブル構成見て気がついたんだけど、すべてのデータは日テーブルに収まってるよね
・わざわざ分割する必要あるのかしら?
・データを分けて保存せず、SELECTする際、必要に応じてデータ取得する方法ではなぜ駄目なのだろうか?
・あー、違うわ。日付名をテーブルにしているからこれは必要なのか
・日付をカラムに入れちゃ駄目なの?
・とりあえず、現状に沿って一度実装してみよう
・カスタマイズとかそれからの話でしょう

テーブル作成頻度

 閲覧数:411 投稿日:2013-08-17 更新日:2013-08-17

作成タイミング


・現状だと、アクセスした全ての日で、テーブル作成を実施する気がする
・無駄じゃない?
・入力する日付テーブルだけで良いと思うんだけど
・何か意味があるのかな?


HousekeepingBook.java

項目入力画面への遷移 … 作成編2



週間人気ページランキング / 5-12 → 5-18
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2024/5/19 1:01 更新