package com.example.huangshan.admin.fragment;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.text.style.RelativeSizeSpan;
import android.text.style.StyleSpan;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.Toast;
import com.example.huangshan.admin.bean.DailyNum;
import com.example.huangshan.admin.bean.HourlyNum;
import com.example.huangshan.admin.httpservice.DailyNumService;
import com.example.huangshan.admin.httpservice.HourlyNumService;
import com.example.huangshan.constans.Constant;
import com.example.huangshan.R;
import com.example.huangshan.admin.activity.WeatherH5Activity;
import com.example.huangshan.constans.ResultCode;
import com.example.huangshan.http.ResultObj;
import com.example.huangshan.http.RetrofitManager;
import com.example.huangshan.http.RxSchedulers;
import com.example.huangshan.view.TextCircleView;
import com.github.mikephil.charting.animation.Easing;
import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.components.AxisBase;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.components.XAxis;
import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
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.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.data.PieEntry;
import com.github.mikephil.charting.formatter.PercentFormatter;
import com.github.mikephil.charting.formatter.ValueFormatter;
import com.github.mikephil.charting.highlight.Highlight;
import com.github.mikephil.charting.interfaces.datasets.IBarDataSet;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
import com.github.mikephil.charting.listener.OnChartValueSelectedListener;
import com.github.mikephil.charting.model.GradientColor;
import com.github.mikephil.charting.utils.ColorTemplate;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.heweather.plugin.view.HeContent;
import com.heweather.plugin.view.HeWeatherConfig;
import com.heweather.plugin.view.LeftLargeView;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import io.reactivex.functions.Consumer;
import retrofit2.Retrofit;
/**
* A simple {@link Fragment} subclass.
*/
public class PredictFragment extends Fragment implements View.OnClickListener, OnChartValueSelectedListener {
@BindView(R.id.heweather_plugin_ll_view) LeftLargeView leftLargeView;
@BindView(R.id.passenger_flow_predict_num) TextCircleView predictNumView;
@BindView(R.id.passenger_flow_predict_level) TextCircleView predictLevelView;
@BindView(R.id.passenger_flow_bar_chart) BarChart barChart;
@BindView(R.id.passenger_flow_line_chart) LineChart lineChart;
@BindView(R.id.passenger_flow_diviation_chart) BarChart deviationBarChart;
@BindView(R.id.passenger_flow_pie_chart) PieChart pieChart;
private static final String TAG = "PredictFragment";
private View view;
//网络
private RetrofitManager retrofitManager = new RetrofitManager();
private Retrofit retrofit;
private Gson gson = new Gson();
private DailyNumService dailyNumService;
private HourlyNumService hourlyNumService;
//
private List<HourlyNum> oneDayHourlyNums = new ArrayList<>();
private List<DailyNum> dailyNums = new ArrayList<>();
private List<HourlyNum> hourlyNums = new ArrayList<>();
public PredictFragment() {
// Required empty public constructor
}
/**
* 加载一次,避免内存消耗
* @return
*/
public static PredictFragment newInstance() {
Bundle args = new Bundle();
PredictFragment fragment = new PredictFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//初始化网络请求
retrofitManager.init();
retrofit = retrofitManager.getRetrofit();
dailyNumService = retrofit.create(DailyNumService.class);
hourlyNumService = retrofit.create(HourlyNumService.class);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//加载布局
view = inflater.inflate(R.layout.fragment_main_predict,container,false);
//绑定控件
ButterKnife.bind(this,view);
//设置响应
barChart.setOnChartValueSelectedListener(this);
//显示heweather插件
showHeWeatherPlugin();
//获取今日预测
getTodayPredict();
initDailyNumData("2019-9-13","2019-9-20");
initHourlyNumData("2019-9-13","2019-9-20");
return view;
}
/**
* 获取近日的每日数据
* @param startTime
* @param endTime
*/
@SuppressLint("CheckResult")
private void initDailyNumData(String startTime, String endTime) {
dailyNumService.getPeriodDailyNum(startTime,endTime)
.compose(RxSchedulers.io_main())
.subscribe(new Consumer<ResultObj>() {
@Override
public void accept(ResultObj resultObj) throws Exception {
if (resultObj.getCode() == ResultCode.OK){
String data = gson.toJson(resultObj.getData());
dailyNums = gson.fromJson(data,new TypeToken<List<DailyNum>>(){}.getType());
initBarChart(dailyNums);
setBarChartData(dailyNums);
initDeviationChart(dailyNums);
initPieChart(dailyNums.get(dailyNums.size()-1));
}else {
Toast.makeText(getActivity(),"似乎出了一点小问题...",Toast.LENGTH_SHORT).show();
}
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
Log.d(TAG,throwable.getMessage());
Toast.makeText(getActivity(),"服务器繁忙,请稍候再试!!",Toast.LENGTH_SHORT).show();
}
});
}
/**
* 往柱状图中设置数据
* @param dailyNums
*/
private void setBarChartData(List<DailyNum> dailyNums) {
ArrayList<BarEntry> values = new ArrayList<>();
for (int i = 0; i < dailyNums.size(); i++) {
int val = dailyNums.get(i).getTodayTotalNum();
if (val<100) {
values.add(new BarEntry(i, val, ContextCompat.getDrawable(getActivity(),R.drawable.star)));
} else {
values.add(new BarEntry(i, val));
}
}
BarDataSet barDataSet;
if (barChart.getData() != null && barChart.getData().getDataSetCount() > 0) {
barDataSet = (BarDataSet) barChart.getData().getDataSetByIndex
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip 智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip 智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip 智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip 智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip 智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip 智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip 智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip 智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip 智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip
资源推荐
资源详情
资源评论
收起资源包目录
智慧黄山客流预测兼旅游服务系统源码+项目说明(Android端).zip (640个子文件)
gradlew.bat 2KB
.gitignore 1002B
.gitignore 7B
build.gradle 4KB
build.gradle 607B
build.gradle 334B
settings.gradle 37B
gradlew 5KB
AMap3DMap_6.9.4_AMapNavi_6.9.1_AMapSearch_6.9.2_AMapTrack_1.1.0_AMapLocation_4.7.0_20190831.jar 5.97MB
HeWeather_Public_Android_V3.1.jar 174KB
HeWeather_Plugin_SDK_Android_V1.2.jar 125KB
gradle-wrapper.jar 53KB
PredictFragment.java 30KB
AdminSelfInfoFragment.java 15KB
MapAllPOIActivity.java 14KB
AdminsMapViewActivity.java 14KB
SweetAlertDialog.java 13KB
WeatherActivity.java 13KB
RouteDetailAcitvity.java 13KB
ServeComplaintActivity.java 13KB
ShowDataFragment.java 12KB
ServeWCActivity.java 12KB
MyOneLineView.java 12KB
ServePredictActivity.java 12KB
TouristSelfInfoFragment.java 11KB
ServeScenicHotActivity.java 11KB
LoginFragment.java 11KB
AmapUtil.java 10KB
ChangeTouristInfoFragment.java 10KB
HandleFeedBackFragment.java 10KB
HomePageTouristFragment.java 10KB
SendNotificationActivity.java 10KB
TouristRegisterActivity.java 9KB
NotificationListAdapter.java 9KB
NotificationMessageFragment.java 9KB
NotificationUrgentActivity.java 9KB
GetResourseIDUtil.java 9KB
ChangePasswordActivity.java 9KB
AdminListAdapter.java 8KB
HomePageCablewayActivity.java 8KB
ComplaintInfoActivity.java 8KB
AdminIntroductionsUpdateFragment.java 7KB
BaseNaviActivity.java 7KB
AdminPhoneUpdateFragment.java 7KB
ServeFragment.java 6KB
ScenicFragment.java 6KB
LoginActivity.java 6KB
MeFragment.java 6KB
ComplaintListFragment.java 6KB
NotificationFragment.java 6KB
NotificationListFragment.java 6KB
NotificationTouristListAdapter.java 6KB
OneLineView.java 6KB
UserSuggestionActivity.java 6KB
AdminMainActivity.java 5KB
TouristMainActivity.java 5KB
Rotate3dAnimation.java 5KB
ScenicManage.java 5KB
SuccessTickView.java 5KB
Complaint.java 5KB
ShowAdminInfoFragment.java 5KB
Hotel.java 5KB
DailyNum.java 4KB
ProgressHelper.java 4KB
AccountManageFragment.java 4KB
HttpUtil.java 4KB
Constant.java 4KB
Scenic.java 4KB
ImpressionAdapter.java 4KB
ScenicLocationActivity.java 4KB
ScenicActivity.java 4KB
ServeTicketActivity.java 4KB
GeographyHuangShanActivity.java 4KB
ComplaintListAdapter.java 4KB
HomeQuickVideoActivity.java 4KB
HomePageMapActivity.java 4KB
ServeHotelActivity.java 4KB
HotelAlbumActivity.java 4KB
ScenicAlbumActivity.java 4KB
ServeHotelInfoActivity.java 3KB
Admin.java 3KB
RouteDetailAdapter.java 3KB
OptAnimationLoader.java 3KB
ScenicViewAdapter.java 3KB
SystemSettingsActivity.java 3KB
FiveShengActivity.java 3KB
ErrorInfo.java 3KB
HotelAdapter.java 3KB
HomePageTicketActivity.java 3KB
DeliciousActivity.java 3KB
HomePageChangeCarActivity.java 3KB
Tourist.java 3KB
FiveJueActivity.java 3KB
StartAndEnd.java 2KB
StartNaviActivity.java 2KB
OnesScenicManageAdapter.java 2KB
WeatherH5Activity.java 2KB
UserLoginFragment.java 2KB
ListAdminsActivity.java 2KB
SpecialtyActivity.java 2KB
共 640 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
土豆片片
- 粉丝: 1538
- 资源: 5641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- STC15单片机串口2使用程序例子
- 读取日志的excel生成周报 用python3开发weekplan-master.zip
- python 读取excel数据导入dbimport-data-master.zip
- K折交叉验证BP神经网络,多输入多输出BP神经网络(代码完整,数据齐全)
- B07训练原图.zip
- python-对Excel数据处理做可视化分析.zip
- 人工智能大作业-无人机图像目标检测的python源代码+文档说明.zip
- 基于GoogLeNet实现Cifar-10图像分类项目python源码(高分项目).zip
- 数据库 sql 面试题目及答案解析.docx
- 汽车常见 10 种传感器故障后的表现与解决措施.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功