Java基础(一)

目标:体会如何用Java进行Android开发
内容:1. 准备工作
   2. 实战之抽奖小程序

准备工作

  1. 相比于C语言,Java和其他多数语言一样都是面向对象语言
  2. 面向对象和面向过程的区别
  • 面向过程——步骤化:面向过程就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用即可
  • 面向对象——行为化:面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建对象不是为了完成某一步骤,而是描述某个事物在解决问题的步骤中的行为

实战之抽奖小程序

  1. 搭建界面
?xml version="1.0" encoding="utf-8"?>


   
   
  1. 实现抽奖功能
package com.example.luckyman;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;

import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends AppCompatActivity {
   //准备候选人 数组
   String[] names = new String[]{"张三","李四","王五","糖糖","果果"};
   Timer timer;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
   }

   //按钮的点击事件
   public void start(android.view.View view){
      //将View转化为Button
       Button btn = (Button)view;
       //获取当前标题
       String title = btn.getText().toString();
       //判断按钮的标题
       if (title.equals("开始抽奖")){
           //设置为暂停
           btn.setText("暂停");
           //创建定时器
           timer = new Timer();
           //每隔一段时间去执行一个任务
           timer.schedule(new TimerTask() {
               @Override
               public void run() {
                   produceOnePeople();
               }
           },0,200);
       }else{
           //设置为开始抽奖
           btn.setText("开始抽奖");
           //关闭定时器
           timer.cancel();
       }
   }
   //产生一个随机的人名 显示到文本控件上
   public void produceOnePeople(){
       //产生一个随机数
       Random random = new Random();
       int index = Math.abs(random.nextInt()) % names.length;

       //从数组里面取出这个名字
       String name = names[index];

       //将名字显示到文本框上
       TextView tv = findViewById(R.id.tv_name);
       tv.setText(name);
   }
}
  1. 运行结果


    搭建的界面

    开始抽奖

    暂停

你可能感兴趣的:(Java基础(一))