• 第二阶段7


    开始搞可视化

    package com.lh.finaltest.ui.Charts;

    import android.os.Bundle;

    import android.view.LayoutInflater;

    import android.view.View;

    import android.view.ViewGroup;

    import android.webkit.WebView;

    import android.widget.Button;

    import android.widget.EditText;

    import android.widget.RadioButton;

    import android.widget.TextView;

    import androidx.annotation.NonNull;

    import androidx.annotation.Nullable;

    import androidx.fragment.app.Fragment;

    import com.lh.finaltest.MainActivity;

    import com.lh.finaltest.R;

    import com.lh.finaltest.db.Service.Service;

    public class ChartsFragment extends Fragment {

        private ChartsViewModel mViewModel;

        private WebView webView;

        private Service service;

        private String userid;

        private Button search_btn;

        private RadioButton bar_btn,line_btn;

        private EditText begin_date,end_date;

        private String result;

        private TextView tip_in,tip_out;

        private String allcharge_in_out;

        public static ChartsFragment newInstance() {

            return new ChartsFragment();

        }

        @Override

        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,

                                 @Nullable Bundle savedInstanceState) {

            return inflater.inflate(R.layout.charts_fragment, container, false);

        }

        @Override

        public void onActivityCreated(@Nullable Bundle savedInstanceState) {

            super.onActivityCreated(savedInstanceState);

            bar_btn=requireActivity().findViewById(R.id.charts_bar);

            line_btn=requireActivity().findViewById(R.id.charts_line);

            begin_date=requireActivity().findViewById(R.id.begin_date);

            end_date=requireActivity().findViewById(R.id.end_date);

            search_btn=requireActivity().findViewById(R.id.search_btn);

            tip_in=requireActivity().findViewById(R.id.charts_tip_in);

            tip_out=requireActivity().findViewById(R.id.charts_tip_out);

            userid= MainActivity.getUserid();

            service=new Service(getContext());

            webView=requireActivity().findViewById(R.id.webView);

            webView.getSettings().setAllowFileAccess(true);

            webView.getSettings().setJavaScriptEnabled(true);

            webView.loadUrl("file:///android_asset/echarts.html");

            search_btn.setOnClickListener(new View.OnClickListener() {

                @Override

                public void onClick(View v) {

                    String bdate=begin_date.getText().toString();

                    String edate=end_date.getText().toString();

                    result=service.chartsData(bdate,edate,userid);

                    allcharge_in_out=service.getAllChargeMoney(bdate,edate,userid);

                    tip_in.setText("总收入:"+allcharge_in_out.split(";")[0]);

                    tip_out.setText("总支出:"+allcharge_in_out.split(";")[1]);

                    webView.loadUrl("javascript:createChart("+result+","+(bar_btn.isChecked()?"'bar'":"'line'")+");");

                }

            });

            line_btn.setOnClickListener(new View.OnClickListener() {

                @Override

                public void onClick(View v) {

                    webView.loadUrl("javascript:createChart("+result+","+(bar_btn.isChecked()?"'bar'":"'line'")+");");

                }

            });

            bar_btn.setOnClickListener(new View.OnClickListener() {

                @Override

                public void onClick(View v) {

                    webView.loadUrl("javascript:createChart("+result+","+(bar_btn.isChecked()?"'bar'":"'line'")+");");

                }

            });

            // TODO: Use the ViewModel

        }

    }

    package com.lh.finaltest.ui.Charts;

    import androidx.fragment.app.Fragment;

    import androidx.lifecycle.MutableLiveData;

    import androidx.lifecycle.ViewModel;

    import androidx.lifecycle.ViewModelProvider;

    public class ChartsViewModel extends ViewModel {

        private static ChartsViewModel INSTANCE;

        public static ChartsViewModel getINSTANCE(Fragment fragment){

            if (INSTANCE==null){

                INSTANCE=new ViewModelProvider(fragment).get(ChartsViewModel.class);

            }

            return INSTANCE;

        }

        public MutableLiveData<String> getResult() {

            return result;

        }

        public void setResult(String result){

            getResult().setValue(result);

        }

        private MutableLiveData<String> result=new MutableLiveData<>();

        private MutableLiveData<String[]>  names=new MutableLiveData<>();

        private MutableLiveData<Double[]>  datas=new MutableLiveData<>();

        public MutableLiveData<String[]> getNames() {

            return names;

        }

        public MutableLiveData<Double[]> getDatas() {

            return datas;

        }

        public void setNames(String names[]){

            getNames().setValue(names);

        }

        public void setDatas(Double datas[]){

            getDatas().setValue(datas);

        }

        // TODO: Implement the ViewModel

    }

  • 相关阅读:
    Java 中节省 90% 时间的常用的工具类
    一文彻底弄懂cookie、session、token
    Java 中 this 和 super 的用法详解
    java对接c++发布的webservice接口,其中参数类型有base64Binary格式(无需将图片数据转化为c++中的结构体)
    mysql免安装版下载及安装教程
    selenium python 入门-元素定位
    软件测试白皮书-测试综合策略
    软件测试白皮书-正交试验设计方法
    软件测试白皮书-因果图
    软件测试白皮书-判定表法
  • 原文地址:https://www.cnblogs.com/zaixiachengxuyuan/p/13111224.html
Copyright © 2020-2023  润新知