package com.fc2.blog98.andromaker.housekeepingbook; import java.util.Calendar; import com.fc2.blog98.andromaker.housekeepingbook.MonthCalendar.Maindraw; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.graphics.Canvas; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; public class MonthSheet extends Activity implements OnClickListener{ Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); private TextView text1; private TextView text2; private TextView text3; private TextView text4; private TextView goukei_text; private TextView goukei2_text; private TextView sagaku_text; private Button calendarButton; private Button backButton; private Button forwardButton; ArrayAdapter adapter2,adapter3; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.monthsheet); text1=(TextView)this.findViewById(R.id.monthsheet_text1); text2=(TextView)this.findViewById(R.id.monthsheet_text2); text3=(TextView)this.findViewById(R.id.monthsheet_text3); goukei_text=(TextView)this.findViewById(R.id.monthsheet_goukei_text); goukei2_text=(TextView)this.findViewById(R.id.monthsheet_goukei2_text); calendarButton = (Button)this.findViewById(R.id.monthsheet_button1); backButton = (Button)this.findViewById(R.id.monthsheet_button2); forwardButton = (Button)this.findViewById(R.id.monthsheet_button3); /* クリック処理 */ calendarButton.setOnClickListener(this); backButton.setOnClickListener(this); forwardButton.setOnClickListener(this); SQLiteDatabase db=database(); line(); text1.setText(String.valueOf(String.valueOf(year+"/"+(month+1)))); prefText(); db.close(); } public void prefText(){ String[] fileName=intentFileName(); SharedPreferences insertPref = getSharedPreferences("insertPref",MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE); int str = insertPref.getInt(fileName[2], 0); if(str!=0){ setText(); } else{ text2.setText("項目\n\n"); text3.setText("実績\n\n"); goukei_text.setText("合計"); goukei2_text.setText(0+"円"); } } public SQLiteDatabase database(){ SubOpenHelper helper = new SubOpenHelper(getApplicationContext(),"HousekeepingBook.db",1); SQLiteDatabase db; db = helper.getWritableDatabase(); return db; } public int[] intentCalendar(){ Calendar calendar = Calendar.getInstance(); 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; } 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 tableMonthName=String.valueOf(calendar[0])+"-"+String.valueOf(calendar[1]+1); String tableName=year+"-"+(month+1)+day; String tableMonthName=year+"-"+(month+1); String[] fileName={prefName,tableName,tableMonthName}; return fileName; } public void setText(){ int jisseki_sum = 0,jisseki_sum2=0; StringBuilder koumoku = new StringBuilder("項目\n\n"); StringBuilder jisseki = new StringBuilder("実績\n\n"); SQLiteDatabase db=database(); String[] fileName=intentFileName(); String sort = ""; String[] cols = {"_id","Item","Kingaku"}; Cursor c = db.query("'"+fileName[2]+"'",cols,null, null, null, null,"Item asc",null); boolean isEof = c.moveToFirst(); String koumoku_sum=c.getString(1); if(!(c.getString(1).equals(null))){ while (isEof) { try{ if(!(c.getString(1).equals(koumoku_sum))){ if(jisseki_sum!=0){ koumoku.append(koumoku_sum+"\n"); jisseki.append(jisseki_sum); jisseki.append("円\n"); } jisseki_sum=c.getInt(2); } else{ jisseki_sum+=c.getInt(2); } koumoku_sum=c.getString(1); jisseki_sum2+=c.getInt(2); } catch(Exception e1){ } isEof = c.moveToNext(); } if(jisseki_sum!=0){ jisseki.append(jisseki_sum); jisseki.append("円\n"); koumoku.append(koumoku_sum); } text2.setText(koumoku); text3.setText(jisseki); goukei_text.setText("合計"); goukei2_text.setText(jisseki_sum2+"円"); } c.close(); } public void line(){ LinearLayout linear1 = (LinearLayout) findViewById(R.id.Linear01); LinearLayout.LayoutParams liner01 = new LinearLayout.LayoutParams(480,3); Maindraw linerA = new Maindraw(this); linerA.setLayoutParams(liner01); linear1.addView(linerA); } public void onClick(View v) { if (v==calendarButton){ calendarButton(); } else if (v==backButton){ backButton(); prefText(); } else if (v==forwardButton){ forwardButton(); prefText(); } } public void calendarButton(){ Intent intent=new Intent(); intent.setClass(MonthSheet.this,MonthCalendar.class); startActivity(intent); } public void backButton(){ if(month==0){ year=year-1; month=11; } else{ month=month-1; } text1.setText(String.valueOf(String.valueOf(year+"/"+(month+1)))); } public void forwardButton(){ if(month==11){ year=year+1; month=0; } else{ month=month+1; } text1.setText(String.valueOf(String.valueOf(year+"/"+(month+1)))); } //上の直線、設定 class Maindraw extends View { public Maindraw(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 黒で塗る canvas.drawColor(Color.DKGRAY); } } //直線設定終わり }