Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. package com.example.myapplication;
  2.  
  3. import androidx.appcompat.app.AppCompatActivity;
  4.  
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.Button;
  8. import android.widget.TextView;
  9. import android.widget.Toast;
  10.  
  11. class MySum implements Runnable {
  12. private TextView tv;
  13.  
  14. MySum(TextView tv){
  15. this.tv = tv;
  16. }
  17. @Override
  18. public void run() {
  19. // thread가 실행이 되면
  20.  
  21. long sum = 0;
  22. for(long i=0; i<1000000000L; i++){
  23. sum += i;
  24. }
  25. tv.setText("총합은 : " + sum);
  26. }
  27. }
  28.  
  29. public class AnrActivity extends AppCompatActivity {
  30.  
  31. @Override
  32. protected void onCreate(Bundle savedInstanceState) {
  33. super.onCreate(savedInstanceState);
  34. setContentView(R.layout.activity_anr);
  35.  
  36. final TextView tv = (TextView)findViewById(R.id.countTv);
  37. Button countBtn = (Button)findViewById(R.id.countBtn);
  38. Button toastBtn = (Button)findViewById(R.id.toastBtn);
  39.  
  40. countBtn.setOnClickListener(new View.OnClickListener() {
  41. @Override
  42. public void onClick(View view) {
  43. // Thread를 파생시켜야 해요!!
  44. MySum mySum = new MySum(tv); // Runnable Interface를 구현한 객체
  45.  
  46. Thread t = new Thread(mySum); // Thread를 생성
  47.  
  48. t.start(); // non-blocking method, 새로운 실행흐름을 만들어 낼 수 있어요!
  49.  
  50. }
  51. });
  52.  
  53. toastBtn.setOnClickListener(new View.OnClickListener() {
  54. @Override
  55. public void onClick(View view) {
  56. Toast.makeText(AnrActivity.this,"Toast가 실행되요!", Toast.LENGTH_SHORT).show();
  57. }
  58. });
  59. }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement