desc:数据查询。告警数据。历史视频。
							parent
							
								
									888ef2a590
								
							
						
					
					
						commit
						5e4009205b
					
				| @ -0,0 +1,30 @@ | |||||||
|  | package com.yinuo.safetywatcher.watcher.adapter | ||||||
|  | 
 | ||||||
|  | import android.view.LayoutInflater | ||||||
|  | import android.view.ViewGroup | ||||||
|  | import com.yinuo.safetywatcher.databinding.LayoutItemHistoryBinding | ||||||
|  | import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter | ||||||
|  | import com.yinuo.safetywatcher.watcher.bean.HistoryData | ||||||
|  | import com.yinuo.safetywatcher.watcher.utils.DateUtils | ||||||
|  | 
 | ||||||
|  | class HistoryDataAdapter : | ||||||
|  |     BaseRvAdapter<HistoryData, LayoutItemHistoryBinding, HistoryDataAdapter.HViewHolder>() { | ||||||
|  | 
 | ||||||
|  |     class HViewHolder(val binding: LayoutItemHistoryBinding) : | ||||||
|  |         BaseRvAdapter.BaseViewHolder<HistoryData, LayoutItemHistoryBinding>(binding) { | ||||||
|  |         override fun bindView(data: HistoryData) { | ||||||
|  |             binding.tvTime.text = formatTime(data.time) | ||||||
|  |             binding.tvSensor.text = data.sensor | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         private fun formatTime(time: Long): CharSequence? { | ||||||
|  |             return DateUtils.formatHistoryTime(time) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HViewHolder { | ||||||
|  |         val binding = | ||||||
|  |             LayoutItemHistoryBinding.inflate(LayoutInflater.from(parent.context), parent, false) | ||||||
|  |         return HViewHolder(binding) | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,32 @@ | |||||||
|  | package com.yinuo.safetywatcher.watcher.adapter | ||||||
|  | 
 | ||||||
|  | import android.view.LayoutInflater | ||||||
|  | import android.view.ViewGroup | ||||||
|  | import com.yinuo.safetywatcher.databinding.LayoutItemHistoryBinding | ||||||
|  | import com.yinuo.safetywatcher.databinding.LayoutItemWarnBinding | ||||||
|  | import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter | ||||||
|  | import com.yinuo.safetywatcher.watcher.bean.HistoryData | ||||||
|  | import com.yinuo.safetywatcher.watcher.bean.WarnData | ||||||
|  | import com.yinuo.safetywatcher.watcher.utils.DateUtils | ||||||
|  | 
 | ||||||
|  | class WarnDataAdapter : | ||||||
|  |     BaseRvAdapter<WarnData, LayoutItemWarnBinding, WarnDataAdapter.WViewHolder>() { | ||||||
|  | 
 | ||||||
|  |     class WViewHolder(val binding: LayoutItemWarnBinding) : | ||||||
|  |         BaseRvAdapter.BaseViewHolder<WarnData, LayoutItemWarnBinding>(binding) { | ||||||
|  |         override fun bindView(data: WarnData) { | ||||||
|  |             binding.tvTime.text = formatTime(data.time) | ||||||
|  |             binding.tvSensor.text = data.error | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         private fun formatTime(time: Long): CharSequence? { | ||||||
|  |             return DateUtils.formatHistoryTime(time) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WViewHolder { | ||||||
|  |         val binding = | ||||||
|  |             LayoutItemWarnBinding.inflate(LayoutInflater.from(parent.context), parent, false) | ||||||
|  |         return WViewHolder(binding) | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,3 @@ | |||||||
|  | package com.yinuo.safetywatcher.watcher.bean | ||||||
|  | 
 | ||||||
|  | data class HistoryData(val time:Long, val sensor:String) | ||||||
| @ -0,0 +1,3 @@ | |||||||
|  | package com.yinuo.safetywatcher.watcher.bean | ||||||
|  | 
 | ||||||
|  | data class WarnData(val time:Long, val error:String) | ||||||
| @ -0,0 +1,46 @@ | |||||||
|  | package com.yinuo.safetywatcher.watcher.ui | ||||||
|  | 
 | ||||||
|  | import android.view.View | ||||||
|  | import androidx.recyclerview.widget.LinearLayoutManager | ||||||
|  | import com.yinuo.safetywatcher.R | ||||||
|  | import com.yinuo.safetywatcher.databinding.ActivityHistoryVideoBinding | ||||||
|  | import com.yinuo.safetywatcher.databinding.ActivityWarndataBinding | ||||||
|  | import com.yinuo.safetywatcher.watcher.adapter.HistoryDataAdapter | ||||||
|  | import com.yinuo.safetywatcher.watcher.adapter.WarnDataAdapter | ||||||
|  | import com.yinuo.safetywatcher.watcher.base.BaseActivity | ||||||
|  | import com.yinuo.safetywatcher.watcher.bean.HistoryData | ||||||
|  | import com.yinuo.safetywatcher.watcher.bean.WarnData | ||||||
|  | import com.yinuo.safetywatcher.watcher.view.CommonTopBar | ||||||
|  | 
 | ||||||
|  | class HistoryVideoActivity : BaseActivity() { | ||||||
|  | 
 | ||||||
|  |     private val mBinding: ActivityHistoryVideoBinding by lazy { | ||||||
|  |         ActivityHistoryVideoBinding.inflate(layoutInflater) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun onOptionClick(type: Int, target: View) { | ||||||
|  |         if (0 == type) { | ||||||
|  | 
 | ||||||
|  |         } else if (1 == type) { | ||||||
|  | 
 | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun getOptions(): List<CommonTopBar.Option>? { | ||||||
|  |         val ops = mutableListOf<CommonTopBar.Option>() | ||||||
|  |         ops.add(CommonTopBar.Option(0, getString(R.string.search))) | ||||||
|  |         ops.add(CommonTopBar.Option(1, getString(R.string.export))) | ||||||
|  |         return ops | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun getTopBarTitle(): String? { | ||||||
|  |         return getString(R.string.history_video) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun generateContentView(): View { | ||||||
|  |         return mBinding.root | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun initView() { | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,16 @@ | |||||||
|  | package com.yinuo.safetywatcher.watcher.utils | ||||||
|  | 
 | ||||||
|  | import java.text.SimpleDateFormat | ||||||
|  | import java.util.Locale | ||||||
|  | 
 | ||||||
|  | object DateUtils { | ||||||
|  |     private val dataFormat = SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.ROOT) | ||||||
|  | 
 | ||||||
|  |     fun formatHistoryTime(time: Long): String? { | ||||||
|  |         return dataFormat.format(time) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun formatTime(pattern: String, time: Long): String? { | ||||||
|  |         return SimpleDateFormat(pattern, Locale.ROOT).format(time) | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,10 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:layout_width="match_parent" | ||||||
|  |     android:layout_height="match_parent"> | ||||||
|  | 
 | ||||||
|  |     <androidx.recyclerview.widget.RecyclerView | ||||||
|  |         android:id="@+id/rv_data" | ||||||
|  |         android:layout_width="match_parent" | ||||||
|  |         android:layout_height="wrap_content"/> | ||||||
|  | </LinearLayout> | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:orientation="horizontal" | ||||||
|  |     android:layout_width="match_parent" | ||||||
|  |     android:gravity="center_vertical" | ||||||
|  |     android:layout_height="@dimen/_108dp" | ||||||
|  |     android:paddingStart="@dimen/_172dp"> | ||||||
|  | 
 | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/tv_time" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:textColor="@color/white" | ||||||
|  |         android:textSize="@dimen/_30dp"/> | ||||||
|  | 
 | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/tv_sensor" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:layout_marginStart="@dimen/_201dp" | ||||||
|  |         android:textColor="@color/white" | ||||||
|  |         android:textSize="@dimen/_30dp"/> | ||||||
|  | </LinearLayout> | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:orientation="horizontal" | ||||||
|  |     android:layout_width="match_parent" | ||||||
|  |     android:gravity="center_vertical" | ||||||
|  |     android:layout_height="@dimen/_108dp" | ||||||
|  |     android:paddingStart="@dimen/_172dp"> | ||||||
|  | 
 | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/tv_time" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:textColor="@color/color_error" | ||||||
|  |         android:textSize="@dimen/_30dp"/> | ||||||
|  | 
 | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/tv_sensor" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:layout_marginStart="@dimen/_201dp" | ||||||
|  |         android:textColor="@color/color_error" | ||||||
|  |         android:textSize="@dimen/_30dp"/> | ||||||
|  | </LinearLayout> | ||||||
					Loading…
					
					
				
		Reference in New Issue