无法将值从web服务传递到用于在android中创建条形图的条形图

无法将值从web服务传递到用于在android中创建条形图的条形图,android,web-services,bar-chart,Android,Web Services,Bar Chart,实际上,我正试图创建一个条形图,但我通过使用它从web服务获得x轴和y轴的值 从web服务获取值没有问题,但我对将这些值传递到条形图以创建条形图表示怀疑 因为在我的仿真器运行之后,我提供了正确的输入,如果我试图调用“调用”按钮,它只显示空白屏幕。但是我需要画一个BAR-CART。如何做到这一点?< /P> 请提出建议 谢谢你宝贵的时间 请查找我的资料来源以供参考 Chart.java public class Chart extends Activity { EditText edt1, ed

实际上,我正试图创建一个条形图,但我通过使用它从web服务获得x轴和y轴的值

从web服务获取值没有问题,但我对将这些值传递到条形图以创建条形图表示怀疑

因为在我的仿真器运行之后,我提供了正确的输入,如果我试图调用“调用”按钮,它只显示空白屏幕。但是我需要画一个BAR-CART。如何做到这一点?< /P> 请提出建议

谢谢你宝贵的时间

请查找我的资料来源以供参考

Chart.java

public class Chart extends Activity 
{
EditText edt1, edt2;
TextView txtv1;
Button btn;

int orderNo = 0;
int freightRate = 0;
int marginPercent;

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    edt1 = (EditText) findViewById(R.id.editText1);
    edt2 = (EditText) findViewById(R.id.editText2);

    btn = (Button) findViewById(R.id.button1);
    btn.setOnClickListener(new View.OnClickListener() 
    {

        public void onClick(View v) 
        {
            getTMSChart(edt1.getText().toString(), edt2.getText().toString());

            Intent intnt = new Intent(v.getContext(), BarGraphActivity.class);

            intnt.putExtra("orderNo", orderNo); 
            intnt.putExtra("freightRate", freightRate);
            //intnt.putExtra("marginPercent", marginPercent);

            startActivity(intnt);
        }
    });
}

public void getTMSChart(String FromDate, String ToDate)
{
    System.setProperty("http.keepAlive", "false");
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

    envelope.dotNet = true;

    String METHOD = "GetTMSChart";
    String NAMESPACE = "http://tempuri.org/";
    String SOAP_ACTION = "http://tempuri.org/GetTMSChart";
    String URL = "http://54.251.60.177/TMSOrdersService/TMSDetails.asmx";

    SoapObject request = new SoapObject(NAMESPACE, METHOD);

    request.addProperty("FromDate", FromDate);
    request.addProperty("ToDate", ToDate);

    envelope.setOutputSoapObject(request);

    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try 
    {
        androidHttpTransport.call(SOAP_ACTION, envelope);
        SoapObject result = (SoapObject) envelope.bodyIn;
        SoapObject root = (SoapObject) ((SoapObject) (result).getProperty(0)).getProperty("NewDataSet");
        int tablesCount = root.getPropertyCount();

for (int i = 0; i < tablesCount; i++) 
{
    SoapObject table = (SoapObject) root.getProperty(i);
    int propertyCount = table.getPropertyCount();

    for (int j = 0; j < propertyCount; j++) 
    {
    // String ord = table.getPropertyAsString("");

orderNo = Integer.parseInt(table.getPropertyAsString("Order_No"));
freightRate = Integer.parseInt(table.getPropertyAsString("Freight_Rate"));
//marginPercent = Integer.parseInt(table.getPropertyAsString("Margin_Percent"));

Log.i("Order Number Check : ", ""+orderNo);
                Log.i("Freight Rate Check : ", ""+freightRate);

            }
        }
    } catch (Exception e) 
      {
        }
}}
 public class BarGraphActivity extends Chart 
 {

int[] x_axis;
int[] y_axis;

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main1);

    x_axis = new int[1];
    y_axis = new int[1];

    x_axis[0] = getIntent().getIntExtra("orderNo", 0);
    y_axis[0] = getIntent().getIntExtra("freightRate", 0);

    DrawGraph();
}

public void DrawGraph() 
{

    String[] titles = new String[] { " Barcharts", "" };

    List<int[]> values = new ArrayList<int[]>();
    values.add(x_axis);
    values.add(y_axis);

    int[] colors = new int[] { Color.WHITE, Color.BLACK };

    XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);
    renderer.setOrientation(Orientation.HORIZONTAL);

setChartSettings(renderer, "some texts", " ", " ", 0, x_axis, 0, y_axis, Color.GRAY, Color.LTGRAY);
    renderer.setXLabels(1);

    renderer.addXTextLabel(2, "orderNo");
    renderer.addYTextLabel(2, "freight");

    renderer.setPanEnabled(true, false);

    int length = renderer.getSeriesRendererCount();
    for (int i = 0; i < length; i++) 
    {
SimpleSeriesRenderer seriesRenderer = renderer.getSeriesRendererAt(i);
seriesRenderer.setDisplayChartValues(true);
    }

ChartFactory.getBarChartIntent(this, buildBarDataset(titles, values), renderer, Type.DEFAULT);
}

public XYMultipleSeriesRenderer buildBarRenderer(int[] colors) 
{
 // creates a SeriesRenderer and initializes it with useful default values as well as colors

    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

    renderer.setAxisTitleTextSize(15);
    renderer.setChartTitleTextSize(20);
    renderer.setLabelsTextSize(15);
    renderer.setLegendTextSize(15);

    int length = colors.length;
    for (int i = 0; i < length; i++) 
    {
        SimpleSeriesRenderer r = new SimpleSeriesRenderer();
        r.setColor(colors[i]);
        renderer.addSeriesRenderer(r);
    }

    return renderer;
}

public void setChartSettings(XYMultipleSeriesRenderer renderer, String title, String xTitle, String yTitle,
int xMin, int[] x_axis, int yMin, int[] y_axis, int axesColor, int labelsColor) 
{
    // sets lots of default values for this renderer

    renderer.setChartTitle(title);

    renderer.setXTitle(xTitle);
    renderer.setYTitle(yTitle);

    renderer.setXAxisMin(xMin);

    renderer.setYAxisMin(yMin);
    renderer.setAxesColor(axesColor);
    renderer.setLabelsColor(labelsColor);

    renderer.setApplyBackgroundColor(true);
    renderer.setBackgroundColor(Color.GRAY);
}

public XYMultipleSeriesDataset buildBarDataset(String[] titles, List<int[]> values) 
{
    // adds the axis titles and values into the dataset

    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    int length = titles.length;

    for (int i = 0; i < length; i++) 
    {
        CategorySeries series = new CategorySeries(titles[i]);
        int[] v = values.get(i);
        int seriesLength = v.length;

        for (int k = 0; k < seriesLength; k++) 
        {
            series.add(v[k]);
        }
        dataset.addSeries(series.toXYSeries());
    }
    return dataset;
}
}
公共类图表扩展活动
{
编辑文本edt1、edt2;
TextView-txtv1;
按钮btn;
int orderNo=0;
国际货运费率=0;
国际边际百分比;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
edt1=(EditText)findViewById(R.id.editText1);
edt2=(EditText)findViewById(R.id.editText2);
btn=(按钮)findViewById(R.id.button1);
btn.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v)
{
gettmchart(edt1.getText().toString(),edt2.getText().toString());
Intent intnt=新的Intent(v.getContext(),BarGraphActivity.class);
intnt.putExtra(“订单号”,订单号);
国际运输额外费用(“运费率”,运费率);
//intnt.putExtra(“边际百分比”,边际百分比);
星触觉(intnt);
}
});
}
public void gettmchart(字符串FromDate,字符串ToDate)
{
set属性(“http.keepAlive”、“false”);
SoapSerializationEnvelope=新的SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
String METHOD=“GetTMSChart”;
字符串命名空间=”http://tempuri.org/";
字符串SOAP_ACTION=”http://tempuri.org/GetTMSChart";
字符串URL=”http://54.251.60.177/TMSOrdersService/TMSDetails.asmx";
SoapObject请求=新的SoapObject(名称空间、方法);
请求。添加属性(“FromDate”,FromDate);
addProperty(“ToDate”,ToDate);
envelope.setOutputSoapObject(请求);
HttpTransportSE androidHttpTransport=新的HttpTransportSE(URL);
尝试
{
调用(SOAP_操作,信封);
SoapObject结果=(SoapObject)envelope.bodyIn;
SoapObject根=(SoapObject)((SoapObject)(结果).getProperty(0)).getProperty(“NewDataSet”);
int tableCount=root.getPropertyCount();
for(int i=0;i
BarGraphACtivity.java

public class Chart extends Activity 
{
EditText edt1, edt2;
TextView txtv1;
Button btn;

int orderNo = 0;
int freightRate = 0;
int marginPercent;

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    edt1 = (EditText) findViewById(R.id.editText1);
    edt2 = (EditText) findViewById(R.id.editText2);

    btn = (Button) findViewById(R.id.button1);
    btn.setOnClickListener(new View.OnClickListener() 
    {

        public void onClick(View v) 
        {
            getTMSChart(edt1.getText().toString(), edt2.getText().toString());

            Intent intnt = new Intent(v.getContext(), BarGraphActivity.class);

            intnt.putExtra("orderNo", orderNo); 
            intnt.putExtra("freightRate", freightRate);
            //intnt.putExtra("marginPercent", marginPercent);

            startActivity(intnt);
        }
    });
}

public void getTMSChart(String FromDate, String ToDate)
{
    System.setProperty("http.keepAlive", "false");
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

    envelope.dotNet = true;

    String METHOD = "GetTMSChart";
    String NAMESPACE = "http://tempuri.org/";
    String SOAP_ACTION = "http://tempuri.org/GetTMSChart";
    String URL = "http://54.251.60.177/TMSOrdersService/TMSDetails.asmx";

    SoapObject request = new SoapObject(NAMESPACE, METHOD);

    request.addProperty("FromDate", FromDate);
    request.addProperty("ToDate", ToDate);

    envelope.setOutputSoapObject(request);

    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try 
    {
        androidHttpTransport.call(SOAP_ACTION, envelope);
        SoapObject result = (SoapObject) envelope.bodyIn;
        SoapObject root = (SoapObject) ((SoapObject) (result).getProperty(0)).getProperty("NewDataSet");
        int tablesCount = root.getPropertyCount();

for (int i = 0; i < tablesCount; i++) 
{
    SoapObject table = (SoapObject) root.getProperty(i);
    int propertyCount = table.getPropertyCount();

    for (int j = 0; j < propertyCount; j++) 
    {
    // String ord = table.getPropertyAsString("");

orderNo = Integer.parseInt(table.getPropertyAsString("Order_No"));
freightRate = Integer.parseInt(table.getPropertyAsString("Freight_Rate"));
//marginPercent = Integer.parseInt(table.getPropertyAsString("Margin_Percent"));

Log.i("Order Number Check : ", ""+orderNo);
                Log.i("Freight Rate Check : ", ""+freightRate);

            }
        }
    } catch (Exception e) 
      {
        }
}}
 public class BarGraphActivity extends Chart 
 {

int[] x_axis;
int[] y_axis;

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main1);

    x_axis = new int[1];
    y_axis = new int[1];

    x_axis[0] = getIntent().getIntExtra("orderNo", 0);
    y_axis[0] = getIntent().getIntExtra("freightRate", 0);

    DrawGraph();
}

public void DrawGraph() 
{

    String[] titles = new String[] { " Barcharts", "" };

    List<int[]> values = new ArrayList<int[]>();
    values.add(x_axis);
    values.add(y_axis);

    int[] colors = new int[] { Color.WHITE, Color.BLACK };

    XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);
    renderer.setOrientation(Orientation.HORIZONTAL);

setChartSettings(renderer, "some texts", " ", " ", 0, x_axis, 0, y_axis, Color.GRAY, Color.LTGRAY);
    renderer.setXLabels(1);

    renderer.addXTextLabel(2, "orderNo");
    renderer.addYTextLabel(2, "freight");

    renderer.setPanEnabled(true, false);

    int length = renderer.getSeriesRendererCount();
    for (int i = 0; i < length; i++) 
    {
SimpleSeriesRenderer seriesRenderer = renderer.getSeriesRendererAt(i);
seriesRenderer.setDisplayChartValues(true);
    }

ChartFactory.getBarChartIntent(this, buildBarDataset(titles, values), renderer, Type.DEFAULT);
}

public XYMultipleSeriesRenderer buildBarRenderer(int[] colors) 
{
 // creates a SeriesRenderer and initializes it with useful default values as well as colors

    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

    renderer.setAxisTitleTextSize(15);
    renderer.setChartTitleTextSize(20);
    renderer.setLabelsTextSize(15);
    renderer.setLegendTextSize(15);

    int length = colors.length;
    for (int i = 0; i < length; i++) 
    {
        SimpleSeriesRenderer r = new SimpleSeriesRenderer();
        r.setColor(colors[i]);
        renderer.addSeriesRenderer(r);
    }

    return renderer;
}

public void setChartSettings(XYMultipleSeriesRenderer renderer, String title, String xTitle, String yTitle,
int xMin, int[] x_axis, int yMin, int[] y_axis, int axesColor, int labelsColor) 
{
    // sets lots of default values for this renderer

    renderer.setChartTitle(title);

    renderer.setXTitle(xTitle);
    renderer.setYTitle(yTitle);

    renderer.setXAxisMin(xMin);

    renderer.setYAxisMin(yMin);
    renderer.setAxesColor(axesColor);
    renderer.setLabelsColor(labelsColor);

    renderer.setApplyBackgroundColor(true);
    renderer.setBackgroundColor(Color.GRAY);
}

public XYMultipleSeriesDataset buildBarDataset(String[] titles, List<int[]> values) 
{
    // adds the axis titles and values into the dataset

    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    int length = titles.length;

    for (int i = 0; i < length; i++) 
    {
        CategorySeries series = new CategorySeries(titles[i]);
        int[] v = values.get(i);
        int seriesLength = v.length;

        for (int k = 0; k < seriesLength; k++) 
        {
            series.add(v[k]);
        }
        dataset.addSeries(series.toXYSeries());
    }
    return dataset;
}
}
公共类BarGraphActivity扩展图表
{
int[]x_轴;
int[]y_轴;
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
x_轴=新整数[1];
y_轴=新整数[1];
x_轴[0]=getIntent().getIntExtra(“orderNo”,0);
y_轴[0]=getIntent().getIntExtra(“运费率”,0);
绘图();
}
public void DrawGraph()
{
String[]titles=新字符串[]{“条形图”,“”};
列表值=新的ArrayList();
值。添加(x_轴);
值。添加(y_轴);
int[]colors=newint[]{Color.WHITE,Color.BLACK};
XYMultipleReseriesRenderer渲染器=构建渲染器(颜色);
渲染器.setOrientation(方向.水平);
setChartSettings(渲染器,“某些文本”、“0”、“0、x_轴、0、y_轴、Color.GRAY、Color.LTGRAY);
setXLabels(1);
addxtLabel(2,“订单号”);
2.addYTextLabel(2,“运费”);
renderer.setPanEnabled(真、假);
int length=renderer.getSeriesRenderCount();
for(int i=0;i