2017-11-07 8 views
0

私はアンドロイドプログラミングには初めてです。私は複数の色を使って簡単なスクリーンフラッシャーを作った。複数のアンドロイドデバイスで同時にメソッド(スクリーンフラッシャー)を実行

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

    myView = findViewById(R.id.my_view); 
    myView.setBackgroundColor(color);// set initial colour 
    new Thread(new Runnable() { 
     public void run() { 
      while (true) { 
       try { 
        Thread.sleep(INTERVAL); 
       } 
       catch (InterruptedException e) { 
        e.printStackTrace(); 
       } 
       updateColor(); 
       whichColor = !whichColor; 
      } 
     } 
    }).start(); 
} 

private void updateColor() { 
    runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      if (whichColor) 
       myView.setBackgroundColor(Color.YELLOW); 
      else 
       myView.setBackgroundColor(Color.BLACK); 
     } 
    }); 
} 

私は複数のデバイスにこれをインストールし、フラッシュを同期したいと思います。私が望むのは、すべてのデバイスでフラッシュの色を同期させることです。すべてのデバイスで黄色を表示し、同時にすべてのデバイスで黒色に変更する必要があります。出来ますか?たぶん、デバイスの現地時間を取得し、メソッドを 'x'秒(現地時間)で開始しますか?

答えて

0

異なるフラッシングのための関数を作成します。このメソッド内で関数を呼び出します。

import java.util.Calendar 

String CurrentTime = Calendar.getInstance().getTime().toString().trim(); 
String YourTime = "Enter Your Expected Time here"; 
int x = 3000; //Start method time in miliseconds 

if(CurrentTime.equals("YourTime")){ 
try { 
        sleep(x); 
       } catch (InterruptedException e) { 
        e.printStackTrace(); 
       } 

//Run Your Colour Change function or method here. like 
//colorchange(); or myView.setBackgroundColor(Color.YELLOW); 

} 
関連する問題