amjadArabia

Chackalaka

Nov 11th, 2017
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.65 KB | None | 0 0
  1. MainActivity
  2. ==================
  3. import android.app.Activity;
  4. import android.content.ComponentName;
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.content.ServiceConnection;
  8. import android.os.IBinder;
  9. import android.support.v7.app.AppCompatActivity;
  10. import android.os.Bundle;
  11. import android.view.View;
  12. import android.widget.Button;
  13.  
  14. public class MainActivity extends AppCompatActivity {
  15.    
  16.     Activity activity; // set activity
  17.     BoundedService boundedService; // set BoundedService class
  18.     Button button,off_btn; // set buttons
  19.  
  20.     @Override
  21.     protected void onCreate(Bundle savedInstanceState) {
  22.         super.onCreate(savedInstanceState);
  23.         setContentView(R.layout.activity_main);
  24.         setPointer();
  25.     }
  26.  
  27.     private void setPointer() {
  28.         activity = this;
  29.         button = (Button) findViewById(R.id.on_button);
  30.         off_btn = (Button)findViewById(R.id.off_btn);
  31.  
  32.     }
  33.  
  34.     // this method to start the onBind method and start the service
  35.     public void startMe(View view)
  36.     {
  37.         Intent myIntent = new Intent(this, BoundedService.class);
  38.         bindService(myIntent, serviceConnection, Context.BIND_AUTO_CREATE);
  39.     }
  40.     // This method to start the onUnbind and stop the Service
  41.     public void stopMe(View view)
  42.     {
  43.         boundedService.isRun = false;
  44.         unbindService(serviceConnection);
  45.  
  46.     }
  47.    
  48.     ServiceConnection serviceConnection = new ServiceConnection() {
  49.         @Override
  50.         public void onServiceConnected(ComponentName name, IBinder service) {
  51.  
  52.             MyBinder ourBinder = ((MyBinder) service);
  53.             boundedService = ourBinder.binderService;
  54.             boundedService.policeSirinna(activity);
  55.  
  56.         }
  57.  
  58.         @Override
  59.         public void onServiceDisconnected(ComponentName name) {
  60.  
  61.         }
  62.     };
  63. }
  64.  
  65.  
  66.  
  67. BoundedService
  68. =========================
  69. import android.app.Activity;
  70. import android.app.Service;
  71. import android.content.Intent;
  72. import android.graphics.Color;
  73. import android.os.IBinder;
  74. import android.support.annotation.Nullable;
  75. import android.widget.LinearLayout;
  76. import android.widget.Toast;
  77.  
  78.  
  79.  
  80. public class BoundedService extends Service {
  81.  
  82.  
  83.     protected Boolean isRun = false;  // Boolean for Chacalaka methods
  84.     Runnable light1, light2,light3;
  85.     final int SLEEP = 200;
  86.     LinearLayout red_color, blue_color;
  87.     Activity activity;
  88.  
  89.  
  90.     @Nullable
  91.     @Override //  Method to start the service
  92.     public IBinder onBind(Intent intent)
  93.     {
  94.         Toast.makeText(this, "Service Was bounded", Toast.LENGTH_SHORT).show();
  95.         MyBinder binder = new MyBinder();
  96.         binder.binderService = this;
  97.         isRun = true;
  98.         return binder;
  99.     }
  100.  
  101.     @Override // Method to stop the service
  102.     public boolean onUnbind(Intent intent) {
  103.         Toast.makeText(this, "Un Bind!\n stop", Toast.LENGTH_LONG).show();
  104.         return super.onUnbind(intent);
  105.  
  106.     }
  107.     // method to set the chakalaca lights
  108.     public void policeSirinna(final Activity activity) {
  109.         this.activity = activity;
  110.         red_color = (LinearLayout) activity.findViewById(R.id.red_color);
  111.         blue_color = (LinearLayout) activity.findViewById(R.id.blue_color);
  112.  
  113.  
  114.         light1 = new Runnable() {
  115.             @Override
  116.             public void run() {
  117.                 red_color.setBackgroundColor(Color.RED);
  118.                 blue_color.setBackgroundColor(Color.BLUE);
  119.             }
  120.         };
  121.         light2 = new Runnable() {
  122.             @Override
  123.             public void run() {
  124.                 red_color.setBackgroundColor(Color.BLUE);
  125.                 blue_color.setBackgroundColor(Color.RED);
  126.             }
  127.         };
  128.         light3 = new Runnable() {
  129.             @Override
  130.             public void run() {
  131.                 red_color.setBackgroundColor(Color.WHITE);
  132.                 blue_color.setBackgroundColor(Color.WHITE);
  133.             }
  134.         };
  135.  
  136.         new Thread(new Runnable() {
  137.             @Override
  138.             public void run() {
  139.                 while (isRun) {
  140.  
  141.                     try {
  142.                         activity.runOnUiThread(light1);
  143.                         Thread.sleep(100);
  144.  
  145.                         activity.runOnUiThread(light1);
  146.                         Thread.sleep(100);
  147.  
  148.                         activity.runOnUiThread(light1);
  149.                         Thread.sleep(100);
  150.  
  151.                         activity.runOnUiThread(light2);
  152.                         Thread.sleep(100);
  153.  
  154.                         activity.runOnUiThread(light2);
  155.                         Thread.sleep(100);
  156.  
  157.                         activity.runOnUiThread(light2);
  158.                         Thread.sleep(100);
  159.  
  160.                     } catch (InterruptedException e) {
  161.                         e.printStackTrace();
  162.                     }
  163.                 }
  164.             }
  165.         }).start();
  166.  
  167.     }
  168.  
  169. }
  170.  
  171.  
  172.  
  173.  
  174. MyBinder
  175. =======================
  176. import android.os.Binder;
  177.  
  178. public class MyBinder extends Binder {
  179.  
  180.     public BoundedService binderService;
  181.  
  182. }
  183.  
  184.  
  185.  
  186. activity_main.xml
  187. ==========================
  188. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  189.     android:id="@+id/polic_btn"
  190.     android:layout_width="match_parent"
  191.     android:layout_height="match_parent"
  192.     android:orientation="horizontal">
  193.  
  194.  
  195.     <Button
  196.         android:id="@+id/on_button"
  197.         android:layout_width="wrap_content"
  198.         android:layout_height="wrap_content"
  199.         android:layout_alignParentStart="true"
  200.         android:layout_alignParentTop="true"
  201.         android:layout_marginStart="15dp"
  202.         android:layout_marginTop="28dp"
  203.         android:text="On"
  204.         android:onClick="startMe"
  205.         />
  206.  
  207.     <LinearLayout
  208.         android:id="@+id/red_color"
  209.         android:layout_width="70dp"
  210.         android:layout_height="70dp"
  211.         android:layout_alignTop="@+id/on_button"
  212.         android:layout_marginStart="28dp"
  213.         android:layout_toEndOf="@+id/on_button"
  214.         android:orientation="horizontal"></LinearLayout>
  215.  
  216.     <LinearLayout
  217.         android:id="@+id/blue_color"
  218.         android:layout_width="70dp"
  219.         android:layout_height="70dp"
  220.         android:layout_alignTop="@+id/red_color"
  221.         android:layout_marginStart="36dp"
  222.         android:layout_toEndOf="@+id/red_color"
  223.         android:orientation="horizontal"></LinearLayout>
  224.  
  225.     <Button
  226.         android:id="@+id/off_btn"
  227.         android:layout_width="wrap_content"
  228.         android:layout_height="wrap_content"
  229.         android:layout_alignStart="@+id/on_button"
  230.         android:layout_below="@+id/on_button"
  231.         android:text="Off"
  232.         android:onClick="stopMe"/>
  233.  
  234.  
  235. </RelativeLayout>
Add Comment
Please, Sign In to add comment