現在、Androidで1つのWebサービスを使用しています。そのWebサービスには、それぞれ2012年1月1日と2012年7月7日の2つの入力値があります。
呼び出しボタンをクリックし、これらを入力値として指定すると、プロジェクトにいくつかの棒グラフが表示されます。正常に機能しています。ここでは、これらの入力値を取得するために2つの編集テキストボックスを使用しています。
しかし、編集テキストボックスを使用する代わりに、日付ピッカーウィジェットを使用したいので、日付ピッカーウィジェットをドラッグして、いくつかのコードを実行しました。
しかし、問題は、入力値が完全に数値から外れていて、バックスラッシュで正しいかということです。しかし、日付ピッカーウィジェットでは、文字と数値の組み合わせで入力値が表示されますが、日付ピッカーウィジェットのみを使用する必要があります。
日付ピッカーウィジェットは、この形式dd-mm-yyyyです。例:-01-jan-1990
しかし、上記の形式を1990年1月1日に変換する必要があります。これを行う方法?
参考のために私の情報源を見つけてください
Chart.java
public class Chart extends Activity
{
//EditText edt1, edt2;
DatePicker dp1,dp2;
TextView txtv1;
Button btn;
Bundle data;
String[] orderNo = new String[20];
int[] freightRate = new int[20];
int[] marginPercent = new int[20];
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dp1 = (DatePicker) findViewById(R.id.datePicker_one);
dp2 = (DatePicker) findViewById(R.id.datePicker_Two);
String res_1 = dp1.getDayOfMonth()+"/"+dp1.getMonth()+"/"+dp1.getYear();
String res_2 = dp2.getDayOfMonth()+"/"+dp2.getMonth()+"/"+dp2.getYear();
btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
getTMSChart(dp1.getYear(), dp2.getYear());
Intent intnt = new Intent(v.getContext(), BarGraphActivity.class);
intnt.putExtras(data);
startActivity(intnt);
}
});
}
public void getTMSChart(int j, int k)
{
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", j);
request.addProperty("ToDate", k);
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();
data = new Bundle();
for (int i = 0; i < tablesCount; i++) {
SoapObject table = (SoapObject) root.getProperty(i);
orderNo[i] = table.getPropertyAsString("Order_No");
freightRate[i] = Integer.parseInt(table.getPropertyAsString("Freight_Rate"));
marginPercent[i] = Integer.parseInt(table.getPropertyAsString("Margin_Percent"));
/*Toast.makeText(getApplicationContext(), "Order No:" + orderNo[i] + "\nFreigtRate:" + freightRate[i] + "\nMarginPc:" + marginPercent[i], Toast.LENGTH_SHORT).show();*/
}
data.putStringArray("orderno", orderNo);
data.putIntArray("freightrate", freightRate);
data.putIntArray("marginpercent", marginPercent);
data.putInt("count",tablesCount);
}
catch (Exception e)
{
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
e.printStackTrace();
} } }
BarGraphActivity.java
public class BarGraphActivity extends Activity {
String[] orderNo = new String[20];
int[] freightRate = new int[20];
int[] marginPercent = new int[20];
int count;
RelativeLayout rltv;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
final GraphicalView grfv = createIntent();
RelativeLayout rltv = (RelativeLayout)findViewById(R.id.rlyot);
rltv.addView(grfv);
}
public GraphicalView createIntent()
{
rltv = (RelativeLayout)findViewById(R.id.rlyot);
String[] titles = new String[] { "Order's profit of the year", " " };
Bundle idata = getIntent().getExtras();
if (idata !=null)
{
orderNo = idata.getStringArray("orderno");
freightRate = idata.getIntArray("freightrate");
marginPercent = idata.getIntArray("marginpercent");
count = idata.getInt("count");
CategorySeries series = new CategorySeries("Order-FreightRate Graph");
for ( int i = 0; i < count; i++)
{
series.add(orderNo[i], freightRate[i]);
Thread th = new Thread();
try
{
Thread.sleep(2000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series.toXYSeries());
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setDisplayChartValues(true);
//renderer.setChartValuesSpacing(1);
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
mRenderer.addSeriesRenderer(renderer);
mRenderer.setXLabelsColor(Color.WHITE);
mRenderer.setYLabelsColor(0,Color.WHITE);
mRenderer.setZoomButtonsVisible(true);
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.parseColor("#000000"));
mRenderer.setBarSpacing(0.7f);
// mRenderer.setChartTitleTextSize(20);
// mRenderer.setLabelsTextSize(25);
// mRenderer.setMarginsColor(Color.WHITE);
final GraphicalView grfv = ChartFactory.getBarChartView(BarGraphActivity.this, dataset, mRenderer, Type.DEFAULT);
return grfv;
}
return null;
}
}
何か案が?
貴重なお時間をいただきありがとうございます!..