Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用截图显示API中的图表_C#_Android_Asp.net Web Api_Android Volley_Mpandroidchart - Fatal编程技术网

C# 如何使用截图显示API中的图表

C# 如何使用截图显示API中的图表,c#,android,asp.net-web-api,android-volley,mpandroidchart,C#,Android,Asp.net Web Api,Android Volley,Mpandroidchart,我最近一直在开发一个应用程序,在这个应用程序中,我需要显示一名员工的统计数据,这些数据作为JSON数据从API中检索出来,然后显示为图表。我正在使用MP Android Chart和Volley来获取和显示数据 我一直在尝试我能找到的每一种方法,但我似乎无法让它工作,它要么使应用程序崩溃,要么不显示任何数据 我的问题:我的方法有什么问题 public static String SalesURL = "http://-------------------------"

我最近一直在开发一个应用程序,在这个应用程序中,我需要显示一名员工的统计数据,这些数据作为JSON数据从API中检索出来,然后显示为图表。我正在使用MP Android Chart和Volley来获取和显示数据

我一直在尝试我能找到的每一种方法,但我似乎无法让它工作,它要么使应用程序崩溃,要么不显示任何数据

我的问题:我的方法有什么问题

    public static String SalesURL = "http://-------------------------";
    public static final String Key_SalespersonID = "id";
    public static final String Key_Year = "year";
    private String id;
    private String year;
    private RequestQueue queue;
    private BarChart chart;
    BarData data;
    BarEntry values;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_sp_main);

            chart = findViewById(R.id.chart);
            XAxis xAxis = chart.getXAxis();
            xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
            xAxis.setGranularity(1f);
            xAxis.setGranularityEnabled(true);
            YAxis rightAxis = chart.getAxisRight();
            rightAxis.setEnabled(false);
   
            queue = Volley.newRequestQueue(this);

            DateFormat dateFormat = new SimpleDateFormat("yyyy");
            Date date = new Date();
            year = dateFormat.format(date);
            salesid = "1";
            load_data_from_server();
    }
从服务器加载数据功能

    private void load_data_from_server(){
            Description description = new Description();
            description.setText("Sales");

            StringRequest request = new StringRequest(Request.Method.POST, SalesURL,
                    new Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {
                            try {
                                JSONArray jsonArray = new JSONArray(response);
                                for(int i=0;i<jsonArray.length();i++){
                                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                                    String Month = jsonObject.getString("Month").trim();
                                    String InvoiceAmount = jsonObject.getString("Sales").trim();
                                    ArrayList<BarEntry> entries = new ArrayList<>();
                                    entries.add(new BarEntry(Float.parseFloat(InvoiceAmount), 0));

                                    ArrayList<String> labels = new ArrayList<String>();
                                    labels.add(Month.substring(0,3));

                                    BarDataSet barDataSet = new BarDataSet(entries, "Sales");
                                    barDataSet.setColor(Color.rgb(0,82,159));

                                    data = new BarData((IBarDataSet) labels, barDataSet);
                                    chart.setDescription(description);
                                    chart.animateXY(2000, 2000);
                                    chart.setData(data);
                                    chart.notifyDataSetChanged();
                                    chart.invalidate();
                                }
                            } catch (Exception e) {
                                Toast.makeText(SP_MainActivity.this,e.getMessage(), Toast.LENGTH_LONG).show();
                            }
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            if(error != null){
                                Toast.makeText(getApplicationContext(), error.toString(), Toast.LENGTH_SHORT);
                            }
                        }
                    }){
                @Override
                protected Map<String, String> getParams() throws AuthFailureError {
                    Map<String, String> map = new HashMap<String, String>();
                    map.put(Key_SalespersonID, id);
                    map.put(Key_Year, year);
                    return map;
                }
            };
            queue.add(request);
        }
    [

       {

          "Month":"January",
          "Salesperson":1,
          "Sales":"608.00"

       },
       {
          "Month":"February",
          "Salesperson":1,
          "Sales":"109.20"

       },
       {
          "Month":"March",
          "Salesperson":1,
          "Sales":"509.10"
       }
    ]