码迷,mamicode.com
首页 > 移动开发 > 详细

ThreadPractice_android

时间:2018-07-06 17:47:22      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:sleep   .sh   startid   override   runnable   cat   vat   isa   stack   

RandomService.java
public class RandomService extends Service {
private Thread workThread;
private static double random;
@Nullable
@Override
public android.os.IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
workThread = new Thread(null, workRunnable, "work");
Toast.makeText(this, "create()", Toast.LENGTH_LONG).show();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(this, "start()", Toast.LENGTH_LONG).show();
if(!workThread.isAlive()){
workThread.start();
}
return super.onStartCommand(intent, flags, startId);
}

@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Destroy()", Toast.LENGTH_LONG).show();
}
Runnable workRunnable = new Runnable() {
@Override
public void run() {
while (!Thread.interrupted()){
try{
random = Math.round(Math.random()*100);
MainActivity.updateGUI(random);
Thread.sleep(1000);
}
catch (InterruptedException e){
e.printStackTrace();
}
}
}
};
}
////////////////////////////////////////////////////////////////////////
MainActivity.java
public class MainActivity extends AppCompatActivity {

private static TextView textView = null;
Button btn_start;
Button btn_stop;
private static Handler handler = new Handler();
private static double random;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView)findViewById(R.id.text);
btn_start = (Button)findViewById(R.id.btn_start);
btn_stop = (Button)findViewById(R.id.btn_stop);
final Intent intent = new Intent(this, RandomService.class);
btn_start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startService(intent);
}
});
btn_stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
stopService(intent);
}
});
}
public static void updateGUI(double _random){
random = _random;
handler.post(new Runnable() {
@Override
public void run() {
textView.setText(String.valueOf(random));
}
});
}
}

ThreadPractice_android

标签:sleep   .sh   startid   override   runnable   cat   vat   isa   stack   

原文地址:https://www.cnblogs.com/lingYaoYao/p/9274538.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!