中建365-优化/bug修复

develop
wlh 1 year ago
parent 210a62ee85
commit 609183b1ed

@ -1,23 +1,26 @@
package com.zj365.dc.activity
import android.content.Intent
import android.graphics.Rect
import android.view.LayoutInflater
import android.view.View
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import androidx.core.view.isVisible
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ItemDecoration
import com.alibaba.android.arouter.facade.annotation.Route
import com.blankj.utilcode.util.SizeUtils
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
import com.xty.base.act.BaseVmAct
import com.xty.base.vm.BaseVm
import com.xty.common.arouter.ARouterUrl
import com.xty.common.arouter.RouteManager
import com.xty.common.model.ReportBean
import com.xty.common.model.ReportNewBean
import com.xty.common.picture.PictureUtils
import com.xty.common.util.SpannableUtils
import com.xty.network.model.FoodRecoginzeInfo
import com.zj365.dc.BuildConfig
import com.zj365.dc.adapter.RecognizeResultAdapter
@ -37,12 +40,19 @@ class RecognizeResultAct : BaseVmAct<DietManagementVm>() {
var type:String? = null
var fileUrl :String? = null
var currentId:String?= null
var foodRecoginzeInfo: FoodRecoginzeInfo? = null
override fun liveObserver() {
mViewModel.foodRecoginzeInfoLiveData.observe(this){
adapter.data.clear()
foodRecoginzeInfo = null
if (!it.data.isNullOrEmpty()){
it.data[0].isCheck = true
adapter.setNewInstance(it.data)
refreshCalorieUI(it.data[0])
}
}
}
@ -63,12 +73,12 @@ class RecognizeResultAct : BaseVmAct<DietManagementVm>() {
}
initAdapter()
binding.tvPhotographAgain.setOnClickListener {
bottomSheetDialog?.show()
}
binding.tvDetail.setOnClickListener {
currentId?.let {
foodRecoginzeInfo?.let {
bundle.clear()
bundle.putString("web_site_url","${BuildConfig.h5url}pages/index/index?pageId=mealsDetail&id=${it}")
bundle.putString("web_site_url","${BuildConfig.h5url}pages/index/index?pageId=mealsDetail&id=${it.id}")
RouteManager.goAct(ARouterUrl.H5_ACT,bundle)
}
@ -79,17 +89,53 @@ class RecognizeResultAct : BaseVmAct<DietManagementVm>() {
}
fun refreshCalorieUI(bean : FoodRecoginzeInfo){
binding.tvAnalyzeTitle.text = bean.name
binding.tvCalorie.text ="${bean.heat}kcal/100g"
var vit = bean.vit_a+ bean.vit_b1+ bean.vit_b2+bean.vit_c+bean.vit_e
var calorieBean = ReportNewBean().apply {
title = "热卡分析"
count = bean.df+bean.cho+vit
listNum.add(vit )
listNum.add(bean.df)
listNum.add(bean.cho)
listName.add("维生素")
listName.add("膳食纤维")
listName.add("碳水化合")
unit = "g"
isShow = true
}
binding.mCircle.setData(calorieBean)
binding.mCircle.isVisible = calorieBean.isShow
}
fun initAdapter(){
binding.recycler.layoutManager = LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false)
binding.recycler.adapter = adapter
adapter.setOnItemChildClickListener { adapter, view, position ->
binding.recycler.addItemDecoration(object : ItemDecoration(){
override fun getItemOffsets(outRect: Rect, itemPosition: Int, parent: RecyclerView) {
super.getItemOffsets(outRect, itemPosition, parent)
if (itemPosition == 0){
}else{
outRect.right = SizeUtils.dp2px(8.0f)
}
}
})
adapter.setOnItemClickListener{ adapter, view, position ->
foodRecoginzeInfo = adapter.getItem(position) as FoodRecoginzeInfo
(adapter.data as MutableList<FoodRecoginzeInfo>).forEach {
it.isCheck = false
}
foodRecoginzeInfo?.let {
currentId = it.name
binding.tvAnalyzeTitle.text = it.name
val list = mutableListOf<com.xty.common.model.ReportBean>()
it.isCheck = true
refreshCalorieUI(it)
}
adapter.notifyDataSetChanged()
}
}

@ -13,6 +13,7 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import com.blankj.utilcode.util.SizeUtils
import com.tamsiree.rxkit.RxTimeTool
import com.xty.common.util.SpannableUtils
import com.xty.network.model.HealthMonitoringListBean

@ -2,6 +2,7 @@ package com.zj365.dc.adapter
import android.content.Context
import android.widget.ImageView
import android.widget.LinearLayout
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.xty.base.adapter.BaseAdapter
import com.xty.common.setImage
@ -11,6 +12,9 @@ import com.zj365.dc.R
class HomeContentLayoutAdapter (context: Context)
: BaseAdapter<HomeLayoutBean.HomeChildBean>(R.layout.item_home_content_layout){
override fun convert(holder: BaseViewHolder, item: HomeLayoutBean.HomeChildBean) {
holder.getView<ImageView>(R.id.img_content).setImage(context,item.imageUrl)
holder.setText(R.id.tv_content,item.name)
}

@ -9,7 +9,12 @@ import com.zj365.dc.R
class RecognizeResultAdapter : BaseAdapter<FoodRecoginzeInfo>(R.layout.item_recognize_result){
override fun convert(holder: BaseViewHolder, item: FoodRecoginzeInfo) {
if (item.isCheck){
holder.setGone(R.id.img_bg,false)
}else{
holder.setGone(R.id.img_bg,true)
}
}

@ -365,6 +365,7 @@ class DynamicManagementFrag : BaseVmFrag<DynamicManagementVm>() , EasyPermission
binding.mHealthReport.llSkyHourReport.setOnClickListener(onClickListener)
binding.mHealthReport.llHebdomadReport.setOnClickListener(onClickListener)
binding.mHealthReport.llThirtyDaysReport.setOnClickListener(onClickListener)
binding.mHeader.mHealthRecords.setOnClickListener(onClickListener)
}
//点击事件响应
@ -378,6 +379,7 @@ class DynamicManagementFrag : BaseVmFrag<DynamicManagementVm>() , EasyPermission
R.id.mHealthRecords -> {
CommonToastUtils.showToast("敬请期待")
return@OnClickListener
/*val btnStr = binding.mHeader.mWearManager.text
if (btnStr == "佩戴管理") {
if (MMkvHelper.getInt(Const.Watch_Device_Type) == Const.Companion.WatchDevice.LightA3.ordinal) {//4G手表

@ -436,7 +436,7 @@ class MineFrag : BaseVmFrag<SettingVm>(),EasyPermissions.PermissionCallbacks {
user = null
binding.mIntegral.text = "0"
binding.mName.text = ""
binding.mPhone.text = "账户:"
binding.mPhone.text = ""
binding.mImage.setImageResource(defaultIcon[0])
}

@ -96,8 +96,7 @@
android:orientation="vertical"
android:layout_below="@+id/ll_analyze_result_title"
android:paddingTop="@dimen/dp_22"
android:paddingLeft="@dimen/dp_16"
android:paddingRight="@dimen/dp_16"
android:paddingBottom="@dimen/dp_25"
android:layout_marginLeft="@dimen/dp_14"
android:layout_marginRight="@dimen/dp_14"
@ -109,6 +108,8 @@
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingLeft="@dimen/dp_16"
android:paddingRight="@dimen/dp_16"
>
<com.ruffian.library.widget.RView
android:layout_width="@dimen/dp_4"
@ -128,16 +129,24 @@
/>
</LinearLayout>
<com.xty.common.weight.MyProgressCircleView
<TextView
android:id="@+id/tv_calorie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/sp_19"
android:textColor="@color/col_313"
android:textStyle="bold"
tools:text="18349kcal/100g"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_36"/>
<com.xty.common.weight.MyProgressCircleViewNew
android:id="@+id/mCircle"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_140"
android:layout_marginTop="@dimen/dp_9"
android:layout_marginEnd="@dimen/dp_9"
android:paddingTop="@dimen/dp_5"
android:paddingEnd="@dimen/dp_6"
android:paddingBottom="@dimen/dp_5"
android:layout_height="@dimen/dp_112"
android:layout_marginTop="@dimen/dp_34"
app:circle_stroke_width="@dimen/dp_16"
android:paddingEnd="@dimen/dp_16"
app:count="3"
app:example_length="@dimen/dp_1"
app:example_size="@dimen/dp_5"

@ -52,17 +52,19 @@
android:layout_height="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_12"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ll_health_title"
android:layout_marginBottom="@dimen/dp_5"
app:layout_constraintBottom_toTopOf="@+id/ll_content"
tools:src="@mipmap/ic_health_normal" />
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_17"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/mHealthStatus">
app:layout_constraintTop_toBottomOf="@+id/ll_health_title">
<TextView
android:id="@+id/mHealthInfo"

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_113"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_ai_tongue_diagnosis"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_113"
android:gravity="center"
android:background="@mipmap/bg_home_item"
android:orientation="vertical">
@ -17,6 +17,7 @@
android:id="@+id/img_content"
android:layout_width="@dimen/dp_34"
android:layout_height="@dimen/dp_34"
android:scaleType="centerCrop"
tools:background="@mipmap/icon_ai_tongue_diagnosis"/>
<TextView
android:id="@+id/tv_content"

@ -5,8 +5,10 @@
android:layout_height="@dimen/dp_104">
<ImageView
android:id="@+id/img_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
android:background="@drawable/shape_r8_02c_stroke_1_5"/>
<com.ruffian.library.widget.RImageView

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/dp_10"
@ -39,30 +40,34 @@
app:layout_constraintTop_toTopOf="@+id/mCard"
android:gravity="center_vertical"/>
<TextView
android:id="@+id/mOrgName"
android:id="@+id/mTime"
android:layout_width="0dp"
android:layout_height="match_parent"
android:ellipsize="end"
android:lines="1"
android:paddingLeft="@dimen/dp_16"
android:textColor="@color/col_888"
android:textSize="@dimen/sp_12"
app:layout_constraintTop_toBottomOf="@+id/mTitle"
android:textColor="@color/col_6B6"
android:textSize="@dimen/sp_11"
android:drawablePadding="@dimen/dp_2"
tools:text="2022-02-03 15:36"
android:drawableLeft="@mipmap/icon_news_times"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@+id/mCard"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/mTime"
android:id="@+id/mOrgName"
android:layout_width="0dp"
android:layout_height="match_parent"
android:ellipsize="end"
android:lines="1"
android:paddingLeft="@dimen/dp_16"
android:textColor="@color/col_6B6"
android:textSize="@dimen/sp_11"
android:drawablePadding="@dimen/dp_2"
android:drawableLeft="@mipmap/icon_news_times"
app:layout_constraintTop_toBottomOf="@+id/mOrgName"
android:textColor="@color/col_888"
android:textSize="@dimen/sp_12"
tools:text="中健365"
app:layout_constraintBottom_toTopOf="@+id/mTime"
app:layout_constraintLeft_toRightOf="@+id/mCard"
app:layout_constraintRight_toRightOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

@ -362,7 +362,7 @@ class TimeSelect(var context: Context, var select: (String) -> Unit) {
.setOutSideCancelable(false)//点击屏幕,点在控件外部范围时,是否取消显示
.isCyclic(false)//是否循环滚动
.setBgColor(Color.WHITE)//滚轮背景颜色 Night mode
.setLineSpacingMultiplier(3.0f)
.setLineSpacingMultiplier(2.5f)
.setTextColorCenter(ContextCompat.getColor(context, R.color.col_313))
.setTextColorOut(ContextCompat.getColor(context, R.color.col_6B6))
.setDividerColor(ContextCompat.getColor(context, R.color.transparent))

@ -0,0 +1,12 @@
package com.xty.common.model
import com.xty.network.model.ReportBean
class ReportNewBean {
var title=""
var count:Float=0f //总数
var listNum= mutableListOf<Float>()
var listName= mutableListOf<String>()
var unit = ""
var isShow = true
}

@ -0,0 +1,219 @@
package com.xty.common.weight
import android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.RectF
import android.util.AttributeSet
import android.view.View
import androidx.core.content.ContextCompat
import com.xty.common.R
import com.xty.common.SizeUtil
import com.xty.common.model.ReportNewBean
class MyProgressCircleViewNew (context: Context, attrs: AttributeSet?) : View(context, attrs) {
private var bean: ReportNewBean? = null
private var progressWidth = 0f
private var exampleWidth = 0f
private var percentSize = 0f
private var exampleLength = 0f
private var count = 3
private var unit = ""
private val paintProgress by lazy {
Paint().apply {
isDither = true
isAntiAlias = true
style = Paint.Style.STROKE
strokeWidth = progressWidth
color = ContextCompat.getColor(context, R.color.col_9BDd)
}
}
private val paintFir by lazy {
Paint().apply {
isDither = true
isAntiAlias = true
style = Paint.Style.STROKE
strokeWidth = progressWidth
color = ContextCompat.getColor(context, R.color.col_9BDd)
}
}
private val paintExample by lazy {
Paint().apply {
isDither = true
isAntiAlias = true
style = Paint.Style.STROKE
strokeWidth = exampleWidth
strokeCap = Paint.Cap.ROUND
color = ContextCompat.getColor(context, R.color.col_FDA481)
}
}
private val paintTxt by lazy {
Paint().apply {
isDither = true
isAntiAlias = true
style = Paint.Style.FILL
color = ContextCompat.getColor(context, R.color.col_313)
textSize = percentSize
}
}
init {
val obtain = context.obtainStyledAttributes(attrs, R.styleable.MyProgressCircleView)
progressWidth =
obtain.getDimensionPixelSize(R.styleable.MyProgressCircleView_circle_stroke_width, 0)
.toFloat()
percentSize =
obtain.getDimensionPixelSize(R.styleable.MyProgressCircleView_percent_size, 0).toFloat()
exampleWidth =
obtain.getDimensionPixelSize(R.styleable.MyProgressCircleView_example_size, 0).toFloat()
exampleLength =
obtain.getDimensionPixelSize(R.styleable.MyProgressCircleView_example_length, 0)
.toFloat()
count = obtain.getInt(R.styleable.MyProgressCircleView_count, 0)
obtain.recycle()
}
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
bean?.let {
//绘制基础的圆形
drawMyCircle(canvas)
//绘制尾部占比数量
drawTxt(canvas)
//次数
drawNumTxt(canvas)
//绘制 用例前面的占比名称
drawStartTxt(canvas)
//绘制用例颜色
drawExampleLine(canvas)
}
}
/**
* 绘制尾部占比数量
*/
private fun drawTxt(canvas: Canvas) {
val fontMetrics = paintTxt.fontMetrics
val txtHeight = fontMetrics.descent - fontMetrics.ascent
val minHeight = height / count
val baseline = minHeight / 2 + txtHeight / 2 - fontMetrics.descent
for (i in 0 until count) {
val startY = minHeight * i + baseline
val num = (bean!!.listNum[i]) / (bean!!.count) * 100
var doubleNum = String.format("%.1f", num)
if (doubleNum.equals("NaN")) {
doubleNum = "0"
}
val measureText = paintTxt.measureText("$doubleNum%")
canvas.drawText(
"$doubleNum%",
width.toFloat() - measureText - paddingRight,
startY,
paintTxt
)
}
}
/**
* 次数
*/
private fun drawNumTxt(canvas: Canvas) {
val fontMetrics = paintTxt.fontMetrics
val txtHeight = fontMetrics.descent - fontMetrics.ascent
val minHeight = height / count
val baseline = minHeight / 2 + txtHeight / 2 - fontMetrics.descent
for (i in 0 until count) {
val startY = minHeight * i + baseline
val day = bean!!.listNum[i].toString() + unit
val measureText = paintTxt.measureText(day)
canvas.drawText(
day,
width.toFloat() - measureText - paddingRight - SizeUtil.dp2px(context, 52f),
startY,
paintTxt
)
}
}
/**
* 绘制 用例前面的占比名称
*/
private fun drawStartTxt(canvas: Canvas) {
val fontMetrics = paintTxt.fontMetrics
val txtHeight = fontMetrics.descent - fontMetrics.ascent
val minHeight = height / count
val baseLine = minHeight / 2 + txtHeight / 2 - fontMetrics.descent
for (i in 0 until count) {
val startY = minHeight * i + baseLine
canvas.drawText(
bean!!.listName[i],
width / 2f + exampleLength + 10 + (exampleLength / 3f),
startY,
paintTxt
)
}
}
/**
* 绘制用例颜色
*/
private fun drawExampleLine(canvas: Canvas) {
var startAngle = 0f
val i = width / 2
val coerceAtMost = i.coerceAtMost(height)
val r = coerceAtMost / 2f - progressWidth / 2 - paddingTop
val startX = i / 2f - r
val startY = height / 2f - r
val endX = i / 2 + r
val endY = height / 2f + r
val rectF = RectF(startX, startY, endX, endY)
val array = arrayOf(
ContextCompat.getColor(context, R.color.col_9BDd),
ContextCompat.getColor(context, R.color.col_9BD),
ContextCompat.getColor(context, R.color.col_FDA481),
ContextCompat.getColor(context, R.color.col_EFF),
ContextCompat.getColor(context, R.color.col_BC8),
)
val x = width / 2f
val y = height / count
for (i in 0 until count) {
val centerY = y * i + (y / 2f)
paintExample.color = array[i]
canvas.drawLine(x, centerY, x + exampleLength, centerY, paintExample)
paintFir.color = array[i]
val angle = if (bean!!.count == 0f) {
360 / count.toFloat()
} else {
360 * bean!!.listNum[i] / bean!!.count.toFloat()
}
paintFir.color = array[i]
canvas.drawArc(rectF, startAngle, angle, false, paintFir)
startAngle += angle
}
}
//绘制基础的圆形
private fun drawMyCircle(canvas: Canvas) {
val i = width / 2
val coerceAtMost = i.coerceAtMost(height)
val r = coerceAtMost / 2f - progressWidth / 2 - paddingTop
canvas.drawCircle(i / 2f, height / 2f, r, paintProgress)
}
fun setData(bean: ReportNewBean) {
this.bean = bean
count = bean.listName.size
unit = bean.unit
invalidate()
}
}

@ -4,7 +4,7 @@
android:layout_height="@dimen/dp_300"
android:orientation="vertical"
android:background="@drawable/shape_lt15_rt15_white"
android:paddingBottom="@dimen/dp_40"
android:paddingBottom="@dimen/dp_50"
>
<RelativeLayout

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

@ -122,7 +122,7 @@ class SleepStaticDayFrag : BaseVmFrag<SleepVm>() {
it.mScore.apply {
text = ""
var text = "$score"
append(setStrSpan(text, 28, getColor(R.color.col_25C), Typeface.BOLD, 0, text.length - 1))
append(setStrSpan(text, 28, getColor(R.color.col_02c), Typeface.BOLD, 0, text.length - 1))
append("\t")
var selectStarImage = context.getDrawable(R.mipmap.ic_sel_sleep)
selectStarImage?.setBounds(
@ -157,7 +157,7 @@ class SleepStaticDayFrag : BaseVmFrag<SleepVm>() {
var percent = "${score + 1}%"//临时值,目前没有这个排名 app写的分数+1
var content = String.format(getString(R.string.sleep_rank), percent)
text =
setStrSpan(content, 13, getColor(R.color.col_25C), Typeface.BOLD, content.length - 3 - percent.length, content.length - 3)
setStrSpan(content, 13, getColor(R.color.col_02c), Typeface.BOLD, content.length - 3 - percent.length, content.length - 3)
}
}
}

@ -2,7 +2,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/col_8D0" />
<solid android:color="@color/col_02c" />
<size android:height="3dp"
android:width="5dp"/>

@ -135,6 +135,7 @@
android:background="@drawable/shape_r25_02c"
android:text="绑定"
android:textColor="@color/white"
android:textSize="@dimen/sp_18"
android:gravity="center"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/dp_30"

@ -242,7 +242,7 @@
android:gravity="center"
android:padding="@dimen/dp_6"
android:text="开通"
android:textColor="@color/col_8D0"
android:textColor="@color/col_02c"
android:textSize="@dimen/sp_13"
android:textStyle="bold"
android:visibility="gone" />

@ -30,7 +30,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_18"
android:text="中健356"
android:text="中健365"
android:textColor="@color/col_455"
android:textSize="@dimen/sp_17"
android:textStyle="bold" />

@ -119,6 +119,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="续期或信号问题请联系客服"
android:textSize="@dimen/sp_16"
android:textColor="@color/col_c7c"
android:layout_gravity="center"/>
@ -131,6 +132,7 @@
android:textColor="@color/white"
android:textStyle="bold"
android:gravity="center"
android:textSize="@dimen/sp_16"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginLeft="@dimen/dp_25"
android:layout_marginRight="@dimen/dp_25"

@ -3,38 +3,39 @@ package com.xty.network.model
import java.nio.DoubleBuffer
data class FoodRecoginzeInfo(
val heat:Double, //热量(大卡/100g)
val df:Double, //膳食纤维(g/100g
val cho:Double,//碳水化合物(g/100g)
val id:Long,
val heat:Float, //热量(大卡/100g)
val df:Float, //膳食纤维(g/100g
val cho:Float,//碳水化合物(g/100g)
val chol:Double,//胆固醇(mg/100g)
val chol:Float,//胆固醇(mg/100g)
val na:Double,//钠(mg/100g)
val na:Float,//钠(mg/100g)
val vit_a:Double,//维生素A(μg/100g)
val vit_a:Float,//维生素A(μg/100g)
val vit_b1:Double,//维生素B1(mg/100g)
val vit_b1:Float,//维生素B1(mg/100g)
val vit_c:Double,//维生素C(mg/100g)
val vit_c:Float,//维生素C(mg/100g)
val faca:Double,//质量(g)
val faca:Float,//质量(g)
val protein:Double,//蛋白质(g/100g)
val protein:Float,//蛋白质(g/100g)
val vit_b2:Double,//维生素B2(mg/100g)
val vpp:Double,//烟酸(mg/100g)
val vit_b2:Float,//维生素B2(mg/100g)
val vpp:Float,//烟酸(mg/100g)
val vit_e:Double,//维生素E(mg/100g)
val vit_e:Float,//维生素E(mg/100g)
val name:String,//食品中文名
val fat:Double,//脂肪(g/100g)
val fat:Float,//脂肪(g/100g)
val ca:Double,//钙(mg/100g)
val ca:Float,//钙(mg/100g)
val as_name:String,//别名
val fe:Double//铁(mg/100g)
val fe:Float,//铁(mg/100g)
var isCheck:Boolean = false
) {
}
Loading…
Cancel
Save