“ 매주 목요일마다 당신이 항상 하던대로 신발끈을 묶으면 신발이 폭발한다고 생각해보라.
컴퓨터를 사용할 때는 이런 일이 항상 일어나는데도 아무도 불평할 생각을 안 한다. ”- Jef Raskin
맥의 아버지 - 애플컴퓨터의 매킨토시 프로젝트를 주도
반응형
안드로이드, 모바일, 어플리케이션, 개발, 스튜디오
간단한 투표 어플 만들기
어제는 간단한 계산기 어플을 만들어보았는데, 오늘은 이미지 투표 어플을 만들어보려고 한다.
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