5.29成果(冲刺2.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
    }

}
View Code
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
}
View Code

 

posted @ 2020-05-29 21:00  RGTD  阅读(155)  评论(0编辑  收藏  举报