2020-03-16 Java day1-實戰(zhàn)講解-抽獎app開發(fā)

面對對象與面對過程的區(qū)別

相比C語言,Java和其他多數(shù)語言(c# swift objective-c kotlin)一樣都是面對對象語言

  1. 面向過程——步驟化
    面向過程就是分析出實現(xiàn)需求所需要的步驟,通過函數(shù)一步一步實現(xiàn)這些步驟,接著依次調(diào)用即可


    lucky.PNG

<1>寫一個文本框 顯示姓名
<2>寫一個輸入框
<3>寫一個文本框 顯示密碼
<4>寫一個輸入框
<5>寫一個按鈕
<6>寫一個功能 接收用戶輸入的名字
<7>寫一個功能 接收用戶輸入的密碼
<8>寫一個功能 接收用戶的點擊事件
函數(shù) 封裝代碼塊 (){
}
2.面向對象——行為化
面向對象是把整個需求按照特點,功能劃分,將這些存在共性的部分封裝成對象,創(chuàng)建了對象不是為了完成某一個步驟,而是描述某個事物在解決問題的步驟中的行為

捕獲.PNG

<1>寫一個類 TextView 文本 顏色 字體 字號 對齊
<2>創(chuàng)建對象
<3>寫一個類EditText 顯示輸入內(nèi)容
<4>創(chuàng)建對象

抽獎APP實戰(zhàn)項目知識點

1.初探面向對象編程
2.Android項目創(chuàng)建
3.xml配置文件使用
4.TextView顯示文本
5.Button接受點擊事件
6.Timer定時器

手機打開 開發(fā)者選項

點擊按鈕 切換按鈕的標題 開始抽獎和暫停之間切換 開始抽獎
準備候選人 數(shù)組保存
開始抽獎

編程實現(xiàn)

1.搭建頁面

<?xml version="1.0" encoding="UTF-8"?>

-<LinearLayout
       android:orientation="vertical" 
       tools:context=".MainActivity" 
       android:layout_height="match_parent" 
       android:layout_width="match_parent"
       xmlns:tools="http://schemas.android.com/tools" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       xmlns:android="http://schemas.android.com/apk/res/android">

<!-- 文本框commond/ctrl/alt + / -->


<TextView 
       android:layout_height="250dp" 
       android:layout_width="match_parent" 
       android:gravity="center" 
       android:textSize="30sp" 
       android:textColor="#FFF" 
       android:text="東哥的Android/iOS課程" 
       android:background="#2F2E2F" 
       android:id="@+id/tv_name"/>

<!-- 按鈕-->


<Button 
     android:layout_height="65dp" 
     android:layout_width="match_parent" 
     android:textSize="20sp" 
     android:textColor="#fff" 
     android:text="開始抽獎"
     android:background="#D65489" 
     android:onClick="start"
     android:layout_marginRight="50dp" 
     android:layout_marginLeft="50dp" 
     android:layout_marginTop="100dp"/>

</LinearLayout>

2.實現(xiàn)功能

package echang.pxd.luckyman;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
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 {
    // 準備候選人 數(shù)組
    String[] names = new String[]{"筱陌","逸寒","幽寰","開心美意情","路不在此請過","魅傾心"};
    Timer timer;
    /**
     * 1. onCreate 配置
     * 2. onResume
     * 3. onPause
     * 4. onDestory
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    // 按鈕的點擊事件
    public void start(View view){
        // 將View轉化為Button
        Button btn = (Button)view;
        // 獲取當前的標題
        String title = btn.getText().toString();
        //判斷按鈕的標題
        if (title.equals("開始抽獎")){
            // 設置為暫停
            btn.setText("暫停");
            // 創(chuàng)建定時器
            timer = new Timer();
            // 每隔一段時間去執(zhí)行一個任務
            timer.schedule(new TimerTask() {
                @Override
                public void run() {
                    produceOnePeople();
                }
            },0,100);
        }else{
            // 設置為開始抽獎
            btn.setText("開始抽獎");
            // 關閉定時器
            timer.cancel();
        }
    }

    // 產(chǎn)生一個隨機的人名 顯示到文本控件上
    public void produceOnePeople(){
        // 產(chǎn)生一個隨機數(shù)
        Random random = new Random();
        int index = Math.abs(random.nextInt()) % names.length;

        // 從數(shù)組里面取出這個名字
        String name = names[index];

        // 將名字顯示到文本框上
        TextView tv = findViewById(R.id.tv_name);
        tv.setText(name);
    }
}

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,427評論 0 2
  • 你的原生家庭,是成就還是在桎梏你?你的父母是否成了你終生想要擺脫卻不得的宿命? 簡直累到豬狗不如散了架!秋蝶兒一回...
    指尖蝶舞的花園閱讀 538評論 0 1
  • 生活中我們很多人都喜歡說一句話,那就是有句話我不知道當講還是不當講,當你說出這句話的時候,其實你就不用說了,既然說...
    陸游學苑閱讀 629評論 0 0
  • 若是你不說話,我就含忍著,以你的沉默來填滿我的心。我要沉靜地等候,像黑夜在星光中無眠,忍耐地低手。 清晨一定會來,...
    朱忠國閱讀 840評論 0 0
  • 星期六女兒要參加美術考級,上個星期她的美術老師就要求她在家里練練手。 可是上個星期天要去外婆家,這兩天又因為期中考...
    開心_良辰美景閱讀 277評論 0 1

友情鏈接更多精彩內(nèi)容