본문 바로가기

DEVELOPMENT/모바일앱개발

안드로이드, 간단한 투표 앱 만들기

 안드로이드, 모바일, 어플리케이션, 개발, 스튜디오 

간단한 투표 어플 만들기

ⓒAndroid

어제는 간단한 계산기 어플을 만들어보았는데, 오늘은 이미지 투표 어플을 만들어보려고 한다.

LinearLayout을 이용하여, Vertical 밑에 horizontal을 추가하여, 이미지와 버튼을 배치하였다.

 

아직은 투표종료를 누르면, 그 뒤의 화면은 안나오지만, 일단 어플 실행 후 클릭하면, 클릭 한 이미지의 투표 수가 올라가는 것 까진 구현이 되어져있다.

* MainActivity.java
package com.example.wellpic02;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

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

        final int[] voteCount = new int[9];
        for (int i = 0; i< voteCount.length; i++)
            voteCount[i]=0;

        final String[] imgName = {"그림1","그림2","그림3","그림4","그림5","그림6","그림7","그림8","그림9"};
        ImageView[] image = new ImageView[9];
        int[] imageId = { R.id.imageView, R.id.imageView2, R.id.imageView3, R.id.imageView4, R.id.imageView5, R.id.imageView6, R.id.imageView7, R.id.imageView8, R.id.imageView9};

        for(int i=0; i<voteCount.length; i++) {
            final int index;
            index = i;

            image[index] = (ImageView)findViewById(imageId[index]);
            image[index].setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    voteCount[index]++;
                    Toast.makeText(getApplicationContext(), imgName[index] + ": 총 " + voteCount[index] + " 표", Toast.LENGTH_SHORT).show();


                                   }
            });
        }
    }
}

* Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="3"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/imageView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:srcCompat="@drawable/pic1" />

            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:srcCompat="@drawable/pic2" />

            <ImageView
                android:id="@+id/imageView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:srcCompat="@drawable/pic3" />

        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_weight="3"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/imageView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:srcCompat="@drawable/pic4" />

            <ImageView
                android:id="@+id/imageView5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:srcCompat="@drawable/pic5" />

            <ImageView
                android:id="@+id/imageView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:srcCompat="@drawable/pic6" />

        </LinearLayout>
        <LinearLayout
        android:layout_width="match_parent"
            android:layout_weight="3"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/imageView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            app:srcCompat="@drawable/pic7" />

        <ImageView
            android:id="@+id/imageView8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            app:srcCompat="@drawable/pic8" />

        <ImageView
            android:id="@+id/imageView9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            app:srcCompat="@drawable/pic9" />

    </LinearLayout>

        <Button
            android:id="@+id/btnVoteEnd"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="투표 종료" />
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

오늘도 열심히 해보자 ! :D