diff --git a/app/src/main/kotlin/jackall/moncalc/db/QuestRecordRealmHelper.kt b/app/src/main/kotlin/jackall/moncalc/db/QuestRecordRealmHelper.kt index e24377d..1ca4054 100644 --- a/app/src/main/kotlin/jackall/moncalc/db/QuestRecordRealmHelper.kt +++ b/app/src/main/kotlin/jackall/moncalc/db/QuestRecordRealmHelper.kt @@ -3,6 +3,7 @@ import io.realm.RealmResults import jackall.moncalc.vo.QuestRecord import java.util.* +import kotlin.collections.ArrayList /** * Created by matsumoto_k on 2017/11/03. @@ -124,4 +125,21 @@ val yesterday = Calendar.getInstance().apply { add(Calendar.DATE, -7) } return realm.where(QuestRecord::class.java).greaterThan("createAt", yesterday.time).sum("dropCount").toInt() } +// +// fun findByPeriod(period: Int): ArrayList { +// val startCalender = Calendar.getInstance() +// val endCalendar = Calendar.getInstance().apply { add(Calendar.DATE, -1) } +// val results = ArrayList() +// var count = 0 +// for (i in 0 until period) { +// count = realm.where(QuestRecord::class.java).between("createAt", endCalendar.time, startCalender.time).findAll().count() +// println(count) +// if (count > 0) { +// results.add(count) +// } +// startCalender.time = endCalendar.time +// endCalendar.apply { add(Calendar.DATE, -1) } +// } +// return results +// } } \ No newline at end of file diff --git a/app/src/main/kotlin/jackall/moncalc/model/LineChartModel.kt b/app/src/main/kotlin/jackall/moncalc/model/LineChartModel.kt new file mode 100644 index 0000000..0efdea5 --- /dev/null +++ b/app/src/main/kotlin/jackall/moncalc/model/LineChartModel.kt @@ -0,0 +1,18 @@ +package jackall.moncalc.model + +import com.github.mikephil.charting.components.AxisBase +import com.github.mikephil.charting.data.Entry +import com.github.mikephil.charting.data.LineData +import com.github.mikephil.charting.data.LineDataSet +import com.github.mikephil.charting.formatter.IAxisValueFormatter + +/** + * Created by matsumoto_k on 2017/11/05. + */ +class LineChartModel(entries: ArrayList, label: String) { + val dataSets = LineDataSet(entries, label) + val lineData by lazy { + val lineData = LineData(dataSets) + lineData + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/jackall/moncalc/viewmodel/HistoryViewModel.kt b/app/src/main/kotlin/jackall/moncalc/viewmodel/HistoryViewModel.kt index b23edf5..1aa743d 100644 --- a/app/src/main/kotlin/jackall/moncalc/viewmodel/HistoryViewModel.kt +++ b/app/src/main/kotlin/jackall/moncalc/viewmodel/HistoryViewModel.kt @@ -21,6 +21,9 @@ val weekDrop = ObservableField() val weekSpecialDrop = ObservableField() val weekSpecialPercent = ObservableField() + +// var lineData: LineData +// var labels: ArrayList // val refreshLayoutLoading = ObservableBoolean(true) // val hisotoryItems = ArrayList() @@ -28,11 +31,33 @@ todayTempleCount.set(questRealmHelper.getTodayCount().toString()) todayDrop.set(questRealmHelper.getTodayDropCount().toString()) todaySpecialDrop.set(questRealmHelper.getTodaySpecialCount().toString()) - todaySpecialPercent.set("${String.format("%.1f", (questRealmHelper.getTodaySpecialCount().toFloat() / questRealmHelper.getTodayCount().toFloat()) * 100)}%") + val todaySpecialPercent = (questRealmHelper.getTodaySpecialCount().toFloat() / questRealmHelper.getTodayCount().toFloat()) * 100 + if (todaySpecialPercent.isNaN()) { + this.todaySpecialPercent.set("0%") + } else { + this.todaySpecialPercent.set("${String.format("%.1f", todaySpecialPercent)}%") + } weekTempleCount.set(questRealmHelper.getWeekCount().toString()) weekDrop.set(questRealmHelper.getWeekDropCount().toString()) weekSpecialDrop.set(questRealmHelper.getWeekSpecialCount().toString()) - weekSpecialPercent.set("${String.format("%.1f", (questRealmHelper.getWeekSpecialCount().toFloat() / questRealmHelper.getWeekCount().toFloat()) * 100)}%") + val weekSpecialPercent = (questRealmHelper.getWeekSpecialCount().toFloat() / questRealmHelper.getWeekCount().toFloat()) * 100 + if (weekSpecialPercent.isNaN()) { + this.weekSpecialPercent.set("0%") + } else { + this.weekSpecialPercent.set("${String.format("%.1f", weekSpecialPercent)}%") + } +// +// val entries = ArrayList() +// val labels = ArrayList() +// questRealmHelper.findByPeriod(30).forEachIndexed { index, value -> +// entries.add( +// Entry(index.toFloat(), value.toFloat()) +// ) +// } +// +// val lineChartModel = LineChartModel(entries, "神殿周回数") +// lineData = lineChartModel.lineData +// this.labels = labels // onRefresh() } @@ -51,6 +76,24 @@ // refreshLayoutLoading.set(false) // } +// object Adapter { +// @JvmStatic +// @BindingAdapter("android:lineChart", "android:lineLabels") +// fun hoge(mChart: LineChart, lineData: LineData, labels: ArrayList) { +// mChart.data = lineData +// val hoge = mChart.xAxis +// hoge.setValueFormatter { value, axis -> +// val tmp = value +// if (value.toInt().toFloat() == tmp) { +// labels.get(value.toInt()) +// } else { +// "" +// } +// } +// mChart.setDrawGridBackground(false) +// } +// } + override fun onDestroy() { super.onDestroy() monstDataRealmHelper.close() diff --git a/app/src/main/kotlin/jackall/moncalc/viewmodel/TempleAnalyzeViewModel.kt b/app/src/main/kotlin/jackall/moncalc/viewmodel/TempleAnalyzeViewModel.kt index 441ff07..ea3da71 100644 --- a/app/src/main/kotlin/jackall/moncalc/viewmodel/TempleAnalyzeViewModel.kt +++ b/app/src/main/kotlin/jackall/moncalc/viewmodel/TempleAnalyzeViewModel.kt @@ -46,11 +46,12 @@ this.pieData = pieChartModel.pieData val items = ArrayList() + val specialPercent = questRealmHelper.getAllSpecialPercent() items.add( TempleAnalyzeItemViewModel( "総合", questRealmHelper.findAll().size.toString(), - "${String.format("%.1f", questRealmHelper.getAllSpecialPercent())}%" + "${if (specialPercent.isNaN()) 0 else String.format("%.1f", specialPercent)}%" ) ) //リストビューに入れる diff --git a/app/src/main/res/layout/fragment_analyze_fruit.xml b/app/src/main/res/layout/fragment_analyze_fruit.xml index 5910be7..455b34f 100644 --- a/app/src/main/res/layout/fragment_analyze_fruit.xml +++ b/app/src/main/res/layout/fragment_analyze_fruit.xml @@ -11,7 +11,8 @@ + android:layout_height="match_parent" + android:background="#ffffff"> + android:layout_height="match_parent" + android:background="#ffffff"> - - + android:layout_height="wrap_content"> - + android:layout_height="wrap_content" + android:layout_marginEnd="8dp" + android:layout_marginStart="8dp" + android:layout_marginTop="8dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> - - - - - - - + android:layout_height="match_parent"> + + + + + + + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="8dp" + android:layout_marginTop="8dp" + android:orientation="horizontal" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/today_count_temple_title"> - + - + + + + + + + + + + + + + + + + + + + + + + - + + - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="wrap_content" + android:layout_marginBottom="8dp" + android:layout_marginEnd="8dp" + android:layout_marginStart="8dp" + android:layout_marginTop="8dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/today_card_view"> - - - - - - - + android:layout_height="match_parent"> + + + + + + + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="8dp" + android:layout_marginTop="8dp" + android:orientation="horizontal" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/week_count_temple_title"> - + - + + + + + + + + + + + + + + + + + + + + + + - + + - + + + + + + + + + - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 09813db..5988157 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -2,7 +2,7 @@ #3F51B5 #000000 - #000000 + #0054d2 #000000