• 多线程编程--两个城市去旅游


    package com.example.wang.myapplication;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import java.util.Random;
    
    public class ZuoyeActivity extends AppCompatActivity {
    
        Button bt_1;
        int j=1;
        int k=1;
        TextView tv_1;
        TextView tv_2;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_zuoye);
    
            bt_1=(Button)findViewById(R.id.bt_1);
            tv_1=(TextView)findViewById(R.id.tv_1);
            tv_2=(TextView)findViewById(R.id.tv_2);
    
            bt_1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    j=k=1;
    
                    TestThread t1 = new TestThread();
                    t1.start();
                    Toast.makeText(ZuoyeActivity.this, "t1运行", Toast.LENGTH_SHORT).show();
                    Log.e("TAG","t1运行");
    
                    TestThread1 t2 = new TestThread1();
                    t2.start();
                    Toast.makeText(ZuoyeActivity.this, "t2运行", Toast.LENGTH_SHORT).show();
                    Log.e("TAG", "t2运行");
    
                }
            });
        }
    class TestThread extends Thread
        {
    
            Random random=new Random();
    
            public void run()
            {
                for (int i=0;i<10;i++)
                {
                    On();
                }
            }
        }
        public  void On()
        {
            Random random=new Random();
    
            runOnUiThread(new Runnable() {
    
                @Override
                public void run() {
                    tv_1.setText("上海"+j);
                      j++;
                }
            });
    
            try
            {
                int t=random.nextInt(1000);
                Thread.sleep(t);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
    
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    tv_1.setText("");
                }
            });
    
            try
            {
                int t=random.nextInt(1000);
                Thread.sleep(t);
                Log.e("TAG", "t=" +t );
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    
    class TestThread1 extends Thread
        {
            Random random=new Random();
    
            public void run()
            {
                for (int i=0;i<10;i++)
                {
                    On1();
                }
            }
        }
        public  void On1()
        {
            Random random=new Random();
    
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    tv_2.setText("北京"+k);
    
                    k++;
                }
            });
    
            try
            {
                int t=random.nextInt(1000);
                Thread.sleep(t);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
    
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    tv_2.setText("");
                }
            });
            try
            {
                int t=random.nextInt(1000);
                Thread.sleep(t);
                Log.e("TAG", "t=" +t );
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
    
        }
    }
    java
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.wang.myapplication.ZuoyeActivity"
        android:orientation="vertical">
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:background="#ccc"
            android:textSize="20sp"
            android:gravity="center"
            android:id="@+id/tv_1"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:background="#cba"
            android:textSize="20sp"
            android:gravity="center"
            android:layout_marginTop="5dp"
            android:id="@+id/tv_2"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="去哪旅游"
            android:id="@+id/bt_1"
            android:onClick="bt_1"/>
    
    </LinearLayout>
    xml

  • 相关阅读:
    收藏网站代码
    将博客搬至CSDN
    AsyncTask源码浅析
    【转】Activity的launchMode分析 及 Intent.FLAG_NEW_TASK详解
    【转】Java异常:选择Checked Exception还是Unchecked Exception?
    springAOP基本概念和配置
    Java内部类的使用小结
    数据库索引浅析
    基于LinkedBlockingQueue源码自我实现阻塞队列
    【转】HTTP中Get与Post的区别——是我见过说得最全面的
  • 原文地址:https://www.cnblogs.com/wangchuanqi/p/5497210.html
Copyright © 2020-2023  润新知