2013-03-23 43 views
0

我有一個URL給我用來同步服務器時間到我的應用程序, 問題是如何做到這一點?任何人都可以向我解釋在這裏做什麼,謝謝我真的很感激。如何使用此URL來同步時間android

這裏的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(); 
       } 
      } 
     }); 
    } 
} 

回答

0

你給返回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> 
+0

什麼是時間服務器的正確的網址?我會問他們,但我需要知道什麼是正確的URL使用,因爲你說的URL只是他們只是返回XML。你能給我一個時間服務器的URL/WSDL鏈接的例子嗎? – jun 2013-03-23 02:49:47

+0

hello lenik他們給了我一個新的URL請參閱上面我已經更新它。 – jun 2013-04-04 10:20:46

0

該URL是指向WSDL文件的鏈接,該文件描述瞭如何使用Web服務獲取時間。您需要使用某種工具來生成Web服務以獲得時間,例如Apache CXF。然而,正如你在談論Android,這將是太重的重量...

+0

有沒有辦法生成web服務來獲取時間並將其同步到我的應用程序? – jun 2013-03-23 04:24:43

+0

爲了調用該web服務,您可以從中獲得時間,而不是使用某個Web服務庫,您可以嘗試製作HTTP請求並將其發送出去。對於SOAP信封,您可以使用以下命令生成它:http://soapclient.com/soaptest.html。然後,使用生成的XML發送HTTP POST請求。 – 2013-03-24 03:29:33

+0

可以請你給我一個基於我的代碼上面的例子? – jun 2013-03-25 03:02:23