Advertisement
Guest User

Untitled

a guest
May 2nd, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. package rainey.id;
  2.  
  3. import android.support.v7.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.widget.Button;
  7. import android.widget.TextView;
  8.  
  9. import java.util.Observable;
  10. import java.util.Observer;
  11.  
  12. public class ObserverActivity extends AppCompatActivity implements View.OnClickListener, Observer {
  13.  
  14. Button increase;
  15. Button decrease;
  16. TextView status;
  17. TextView temperature;
  18.  
  19. AirConditioner airConditioner = new AirConditioner();
  20.  
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_observer);
  25. increase = (Button) findViewById(R.id.increase);
  26. decrease = (Button) findViewById(R.id.decrease);
  27. status = (TextView) findViewById(R.id.status);
  28. temperature = (TextView) findViewById(R.id.temperature);
  29.  
  30. //add observer
  31. //if any update, method public(Observerable,Object) will called
  32. airConditioner.addObserver(this);
  33.  
  34. increase.setOnClickListener(this);
  35. decrease.setOnClickListener(this);
  36. }
  37.  
  38. @Override
  39. public void onClick(View v) {
  40. if (v.equals(increase)) {
  41. airConditioner.increaseTemperature();
  42. return;
  43. }
  44. airConditioner.decreaseTemperature();
  45. }
  46.  
  47. @Override
  48. public void update(Observable observable, Object data) {
  49. int temparatureNumber = (int) data;
  50. temperature.setText(""+temparatureNumber);
  51. if (temparatureNumber <= 19) {
  52. status.setText("Cold");
  53. return;
  54. }
  55. if (temparatureNumber <= 25) {
  56. status.setText("Warm");
  57. return;
  58. }
  59. status.setText("Hot");
  60. }
  61.  
  62. private class AirConditioner extends Observable {
  63.  
  64. private int temperatureCelcius = 21;
  65.  
  66. public void increaseTemperature() {
  67. if (temperatureCelcius < 31) {
  68. temperatureCelcius++;
  69. setChanged();
  70. notifyObservers(temperatureCelcius);
  71. }
  72. }
  73.  
  74. public void decreaseTemperature() {
  75. if (temperatureCelcius > 17) {
  76. temperatureCelcius--;
  77. setChanged();
  78. notifyObservers(temperatureCelcius);
  79. }
  80. }
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement