Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 보안뉴스요약
- 보안뉴스한줄요약
- 랜섬웨어
- 자바스크립트 node
- 카카오프로젝트100
- oracle db
- 카카오프로젝트
- 카카오프로젝트 100
- numpy
- 자바스크립트 jQuery
- GIT
- 자바스크립트 element api
- 자바스크립트 기본 문법
- php
- python
- 자바스크립트 prototype
- Oracle SQL
- 자바스크립트
- 보안뉴스 한줄요약
- javascript
- 파이썬
- ES6
- 깃허브
- 다크웹
- 자바스크립트 객체
- oracle
- 자바스크립트 API
- 오라클
- 보안뉴스
- 보안뉴스 요약
Archives
- Today
- Total
FU11M00N
[Android] intent와 rating bar를 이용한 명화 투표 기능 본문
- 문제 설명.
위와 같은 디자인이 나오고 가장 많이 받은 명화는 명화 사진과 명화 이름이 출력되도록 한다.
또한 ratingbar를 이용하여 명화가 투표를 받은 만큼 각각의 명화 이름에 맞게 별이 채워져야한다.
- Result
명화 9개의 그림. 클릭하면 투표가 된다.
투표가 될 때 마다 Toast로 투표수와 명화의 이름이 출력된다.
현재 각각의 명화에 투표를 1개씩하고 잠자는 소녀는 5개를 한 상황.
BTNRESULT를 누르면 투표 결과가 나오는 result 화면으로 넘어감.
또한 BUTTON 을 누르면 다시 Main 화면으로 돌아가고 바로 투표를 이어서 할 수있음.
피아노 레슨과 피아노 앞의 소녀들의 투표수를 증가 시키고 BTNRESULT를 누른 결과.
- Code
- activity_main.xml Code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3">
<ImageView
android:id="@+id/iv1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:scaleType="fitXY"
app:srcCompat="@drawable/pic1" />
<ImageView
android:id="@+id/iv2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:scaleType="fitXY"
app:srcCompat="@drawable/pic2" />
<ImageView
android:id="@+id/iv3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:scaleType="fitXY"
app:srcCompat="@drawable/pic3" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3">
<ImageView
android:id="@+id/iv4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:scaleType="fitXY"
app:srcCompat="@drawable/pic4" />
<ImageView
android:id="@+id/iv5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:scaleType="fitXY"
app:srcCompat="@drawable/pic5" />
<ImageView
android:id="@+id/iv6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:scaleType="fitXY"
app:srcCompat="@drawable/pic6" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3">
<ImageView
android:id="@+id/iv7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:scaleType="fitXY"
app:srcCompat="@drawable/pic7" />
<ImageView
android:id="@+id/iv8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:scaleType="fitXY"
app:srcCompat="@drawable/pic8" />
<ImageView
android:id="@+id/iv9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:scaleType="fitXY"
app:srcCompat="@drawable/pic9" />
</LinearLayout>
<Button
android:id="@+id/btnResult"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="btnResult" />
</LinearLayout>
- MainActivity.java Code
package org.techtown.a2b_20201109_3;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
ImageView ivPic[] = new ImageView[9];
int ivI[]= {R.id.iv1, R.id.iv2, R.id.iv3,R.id.iv4,R.id.iv5
,R.id.iv6,R.id.iv7,R.id.iv8,R.id.iv9};
Button btnResult;
String picName[] = {
"독서하는 소녀",
"꽃장식 모자 소녀",
"부채를 든 소녀",
"이레느깡 단 베르양",
"잠자는 소녀",
"테라스의 두 자매",
"피아노 레슨",
"피아노 앞의 소녀들",
"해변에서"
};
int voteCount[] = new int[9];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnResult = findViewById(R.id.btnResult);
for(int i=0; i<ivPic.length;i++){
ivPic[i]= findViewById(ivI[i]);
}
for(int i=0; i<ivPic.length;i++){
final int index = i;
ivPic[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
voteCount[index]++;
Toast.makeText(getApplicationContext(), picName[index]+" : "+voteCount[index],Toast.LENGTH_SHORT).show();
}
});
}
btnResult.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(),Result.class);
intent.putExtra("voteCount", voteCount);
intent.putExtra("imageName",picName);
startActivity(intent);
}
});
}
}
- activity_result.xml Code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="wrap_content"
android:orientation="vertical"
tools:context=".Result">
<TextView
android:id="@+id/imgName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="12"
android:textSize="36sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/mainimg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/pic1" />
</LinearLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:stretchColumns="0">
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="독서하는 소녀"
android:textSize="18sp" />
<RatingBar
android:id="@+id/rtb1"
style="@style/Widget.AppCompat.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="꽃장식 모자 소녀"
android:textSize="18sp" />
<RatingBar
android:id="@+id/rtb2"
style="@style/Widget.AppCompat.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/tv3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="부채를 든 소녀"
android:textSize="18sp" />
<RatingBar
android:id="@+id/rtb3"
style="@style/Widget.AppCompat.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/tv4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="미래느깡 단 소녀"
android:textSize="18sp" />
<RatingBar
android:id="@+id/rtb4"
style="@style/Widget.AppCompat.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/tv5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="잠자는 소녀"
android:textSize="18sp" />
<RatingBar
android:id="@+id/rtb5"
style="@style/Widget.AppCompat.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/tv6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="테라스의 두 자매"
android:textSize="18sp" />
<RatingBar
android:id="@+id/rtb6"
style="@style/Widget.AppCompat.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/tv7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="피아노 레슨"
android:textSize="18sp" />
<RatingBar
android:id="@+id/rtb7"
style="@style/Widget.AppCompat.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/tv8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="피아노 앞의 소녀들"
android:textSize="18sp" />
<RatingBar
android:id="@+id/rtb8"
style="@style/Widget.AppCompat.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/tv9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="해변에서"
android:textSize="18sp" />
<RatingBar
android:id="@+id/rtb9"
style="@style/Widget.AppCompat.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
</TableLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:id="@+id/btnResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
</LinearLayout>
</LinearLayout>
- Result.java
package org.techtown.a2b_20201109_3;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;
public class Result extends AppCompatActivity {
Integer imageFileId [] ={R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,
R.drawable.pic4,R.drawable.pic5
,R.drawable.pic6,R.drawable.pic7,
R.drawable.pic8,R.drawable.pic9 };
Integer tvID[] = {R.id.tv1,R.id.tv2,R.id.tv3,R.id.tv4,R.id.tv5,
R.id.tv6,R.id.tv7,R.id.tv8,R.id.tv9,};
Integer rbarID[] = {R.id.rtb1,R.id.rtb2,R.id.rtb3,R.id.rtb4,R.id.rtb5,
R.id.rtb6,R.id.rtb7,R.id.rtb8,R.id.rtb9};
Button btnReturn;
TextView imgName;
ImageView mainimg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
setTitle("투표 결과");
int max=0;
Intent intent = getIntent();
int[] voteCount = intent.getIntArrayExtra("voteCount");
String[] picName = intent.getStringArrayExtra("imageName");
TextView tv[] = new TextView[picName.length];
RatingBar rbar [] = new RatingBar[picName.length];
for(int i=0;i<voteCount.length;i++){
tv[i]=findViewById(tvID[i]);
rbar[i] = findViewById(rbarID[i]);
}
btnReturn = findViewById(R.id.btnResult);
for(int i=0;i<voteCount.length;i++){
tv[i]=findViewById(tvID[i]);
rbar[i] = findViewById(rbarID[i]);
}
for(int i=0; i<voteCount.length;i++){
tv[i].setText(picName[i]);
rbar[i].setRating((float) voteCount[i]);
imgName=findViewById(R.id.imgName);
mainimg =findViewById(R.id.mainimg);
if(max < voteCount[i]){
max=voteCount[i];
imgName.setText(picName[i]);
mainimg.setImageResource((imageFileId[i]));
}
}
btnReturn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
}
}
'Programming > Android' 카테고리의 다른 글
[ Android ] 인시큐어 뱅크 서버 환경설정하기 (feat. Anaconda,Linux), 리눅스 Anaconda 사용 (1) | 2021.03.31 |
---|---|
[Android] 세 개 이상의 화면 만들어 전환하기. (0) | 2020.11.16 |
[Andriod] Activity의 onCreateOptionsMenu() 오버라이딩 (0) | 2020.11.02 |
[Android] 액티비티와 인텐트를 이용한 사칙연산. (0) | 2020.11.02 |
[안드로이드] 안드로이드 스튜디오(java)로 계산기 디자인, 기능 구현 (0) | 2020.10.12 |
Comments