package com.minui.diceapp;

import androidx.appcompat.app.AppCompatActivity;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

import java.util.Random;

public class MainActivity extends AppCompatActivity {

    ImageView imgDice1;
    ImageView imgDice2;
    MediaPlayer mp;

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

        // 화면에서 만든 버튼과 이미지들을 가져온다.
        Button button = findViewById(R.id.button);
        imgDice1 = findViewById(R.id.imgDice1);
        imgDice2 = findViewById(R.id.imgDice2);
        // 사운드 파일도 가져온다.
        mp = MediaPlayer.create(this, R.raw.dice_sound);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.i("MyDiceApp","버튼 눌러짐!");

                // 0. 사운드를 튼다.
                mp.start();

                // 1. 랜덤으로 숫자를 하나 가져온다.
                Random random = new Random();
                int number = random.nextInt(6);
                int number2 = random.nextInt(6);

                Log.i("MyDiceApp","number : " + number + ", number2 : " + number2);

                // 2. 그 숫자로 화면의 이미지를 바꿔준다.
                if (number == 0) {
                    imgDice1.setImageResource(R.drawable.dice1);
                } else if (number == 1) {
                    imgDice1.setImageResource(R.drawable.dice2);
                } else if (number == 2) {
                    imgDice1.setImageResource(R.drawable.dice3);
                } else if (number == 3) {
                    imgDice1.setImageResource(R.drawable.dice4);
                } else if (number == 4) {
                    imgDice1.setImageResource(R.drawable.dice5);
                } else if (number == 5) {
                    imgDice1.setImageResource(R.drawable.dice6);
                }

                if (number2 == 0) {
                    imgDice2.setImageResource(R.drawable.dice1);
                } else if (number2 == 1) {
                    imgDice2.setImageResource(R.drawable.dice2);
                } else if (number2 == 2) {
                    imgDice2.setImageResource(R.drawable.dice3);
                } else if (number2 == 3) {
                    imgDice2.setImageResource(R.drawable.dice4);
                } else if (number2 == 4) {
                    imgDice2.setImageResource(R.drawable.dice5);
                } else if (number2 == 5) {
                    imgDice2.setImageResource(R.drawable.dice6);
                }
            }
        });
    }
}

멤버변수에서 UI위젯들을 정의하고 액티비티 클래스에서 findViewById 함수를 통해 위젯들을 가져온다.

버튼의 setOnClickListener함수와 이 함수의 파라미터인 view.OnClickListener의 onClick함수에 버튼 눌렀을 시

동작할 내용을 작성한다.

import streamlit as st
import pandas as pd

# 이미지 처리를 위한 라이브러리
from PIL import Image

def main():
    # 1. 저장되어있는, 이미지 파일을, 화면에 표시하기
    img = Image.open('data2/image_03.jpg')

    st.image(img)

    st.image(img, use_column_width=True)

    # 2. 인터넷상에 있는 이미지를 화면에 표시하기.
    #    URL이 있는 이미지를 말한다.
    url = 'https://dimg.donga.com/wps/NEWS/IMAGE/2019/07/01/96260737.1.jpg'
    
    st.image(url)

    video_file = open('data2/secret_of_success.mp4', 'rb')
    st.video(video_file)

    audio_file = open('data2/song.mp3', 'rb')
    st.audio( audio_file.read() , format='audio/mp3' )


if __name__ == '__main__' :
    main()

 

'streamlit' 카테고리의 다른 글

streamlit 사이드 바와 파일 업로드  (0) 2022.05.20
streamlit 유저한테 입력을 받는 방법  (0) 2022.05.20
streamlit 버튼, 박스  (0) 2022.05.20
streamlit 데이터 프레임  (0) 2022.05.20
streamlit 제목, 문구  (0) 2022.05.20

+ Recent posts