0

サーバー時間をアプリケーションに同期するために使用する URL が与えられています。質問はその方法ですか? 誰でもここで何をすべきかを説明できます。本当に感謝しています。

URL は次のとおりです = http://server10.instaforex.com:2012/TimeService/TimeService.svc/CurrentTime

これが私のmainactivityコードです。

public class MainActivity extends Activity {

    Timer timeoutTimer;
    final Random myRandom = new Random();
    GenerateTask genTask = new GenerateTask();
    static String RAN_TEXT = "text";

    class GenerateTask extends TimerTask {
        boolean started = false;
        public void run() {
            if (started) {
                System.out.println("generating");
                final TextView textGenerateNumber = (TextView)findViewById(R.id.generatenumber);
                RAN_TEXT = "";

                for(int k=0;k<7;k++){
                    RAN_TEXT += myRandom.nextInt(10) + " ";
                }
                runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                        textGenerateNumber.setText(RAN_TEXT);
                    }
                });
            }
        }
    }

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

        Button buttonGenerate = (Button)findViewById(R.id.generateme);

        buttonGenerate.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                System.out.println("click");
                if (!genTask.started) {
                    genTask.started=true;
                    timeoutTimer = new Timer();
                    timeoutTimer.scheduleAtFixedRate(genTask, 0, 30000);
                } else {
                    genTask.started=false;
                    timeoutTimer.cancel();
                }
            }
       });  
    }
}
4

2 に答える 2

0

URL は WSDL ファイルへのリンクであり、Web サービスを使用して時間を取得する方法が記述されています。Apache CXF など、何らかのツールを使用して Web サービスを生成し、時間を取得する必要があります。とはいえ、Androidの話ですので、重すぎますよね…。

于 2013-03-23T03:58:31.740 に答える
0

あなたが提供した URL は XML ファイルを返します。このファイルには時間に似たものは何も含まれていません。別の URL を求めるか、この URL を提供した人に説明を求めたほうがよいでしょう:

<wsdl:definitions name="TimeService" targetNamespace="TimeService">
<wsdl:types>
<xsd:schema targetNamespace="TimeService/Imports">
<xsd:import schemaLocation="http://server10.instaforex.com:2012/TimeService/TimeService.svc?xsd=xsd0" namespace="TimeService"/>
<xsd:import schemaLocation="http://server10.instaforex.com:2012/TimeService/TimeService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
</xsd:schema></wsdl:types><wsdl:message name="ITimeService_GetCurrentDateTime_InputMessage"><wsdl:part name="parameters" element="tns:GetCurrentDateTime"/>
</wsdl:message><wsdl:message name="ITimeService_GetCurrentDateTime_OutputMessage">
<wsdl:part name="parameters" element="tns:GetCurrentDateTimeResponse"/>
</wsdl:message><wsdl:portType name="ITimeService">
<wsdl:operation name="GetCurrentDateTime">
<wsdl:input wsaw:Action="TimeService/ITimeService/GetCurrentDateTime" message="tns:ITimeService_GetCurrentDateTime_InputMessage"/>
<wsdl:output wsaw:Action="TimeService/ITimeService/GetCurrentDateTimeResponse" message="tns:ITimeService_GetCurrentDateTime_OutputMessage"/>
</wsdl:operation></wsdl:portType><wsdl:binding name="BasicHttpBinding_ITimeService" type="tns:ITimeService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="GetCurrentDateTime">
<soap:operation soapAction="TimeService/ITimeService/GetCurrentDateTime" style="document"/>
<wsdl:input><soap:body use="literal"/>
</wsdl:input><wsdl:output><soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="TimeService">
<wsdl:port name="BasicHttpBinding_ITimeService" binding="tns:BasicHttpBinding_ITimeService">
<soap:address location="http://server10.instaforex.com:2012/TimeService/TimeService.svc/basicHttpBinding"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
于 2013-03-23T02:01:51.003 に答える