BACK-END/Android
[Android] 다른문서로 배열 넘기기 / 영화 투표
단비_danbee
2020. 11. 10. 11:57
| 새 프로젝트 만들기
| drowable 폴더에 사진 넣기
| activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv1"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/m1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/iv2"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/m2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/iv3"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/m3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv4"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/m4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/iv5"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/m5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/iv6"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/m6"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv7"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/m7"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/iv8"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/m8"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/iv9"
android:layout_margin="5dp"
android:layout_weight="1"
android:src="@drawable/m9"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:textSize="10pt"
android:text="레이팅바 결과 확인"/>
</LinearLayout>
| activity_two.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:stretchColumns="0">
<TableRow>
<TextView
android:id="@+id/tv1"
android:layout_gravity="center_vertical"
android:text="그림1"
android:textSize="12pt"/>
<RatingBar
android:id="@+id/rb1"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv2"
android:layout_gravity="center_vertical"
android:text="그림2"
android:textSize="12pt"/>
<RatingBar
android:id="@+id/rb2"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv3"
android:layout_gravity="center_vertical"
android:text="그림3"
android:textSize="12pt"/>
<RatingBar
android:id="@+id/rb3"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv4"
android:layout_gravity="center_vertical"
android:text="그림4"
android:textSize="12pt"/>
<RatingBar
android:id="@+id/rb4"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv5"
android:layout_gravity="center_vertical"
android:text="그림5"
android:textSize="12pt"/>
<RatingBar
android:id="@+id/rb5"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv6"
android:layout_gravity="center_vertical"
android:text="그림6"
android:textSize="12pt"/>
<RatingBar
android:id="@+id/rb6"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv7"
android:layout_gravity="center_vertical"
android:text="그림7"
android:textSize="12pt"/>
<RatingBar
android:id="@+id/rb7"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv8"
android:layout_gravity="center_vertical"
android:text="그림8"
android:textSize="12pt"/>
<RatingBar
android:id="@+id/rb8"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/tv9"
android:layout_gravity="center_vertical"
android:text="그림9"
android:textSize="12pt"/>
<RatingBar
android:id="@+id/rb9"
style="?android:attr/ratingBarStyleIndicator"
android:layout_gravity="right"/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btnReturn"
android:layout_span="2"
android:textSize="12pt"
android:text="메인화면"/>
</TableRow>
</TableLayout>
| MainActivity.java
package com.example.and1110;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
int count[]=new int[9]; //누적수
ImageView iv[]=new ImageView[9];
int imageID[]={
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
};
String imgMsg[]={
"마블", "걸캅스", "피카츄", "뽀로로", "몬스터랜드",
"교회오빠","로지","물의기억", "배심원들"
};
Button btn; //투표결과
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//count배열초기화
for(int i=0; i<count.length;i++){count[i]=0;}
for(int i=0; i<imageID.length; i++){
final int index=i;
iv[i]=findViewById(imageID[i]);
iv[i].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//count[i]++; for반복문안에 있는 i 쓰면 에러발생
count[index]++;
Toast tt=Toast.makeText(getApplication(), imgMsg[index]+" 총:"+count[index]+"표" , Toast.LENGTH_SHORT);
tt.show();
}
});
}//그림관련 for end
btn=findViewById(R.id.btn1);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent it=new Intent(getApplicationContext(), Two.class);
it.putExtra("count", count);
it.putExtra("imgMsg", imgMsg);
startActivity(it);
}
});
}//onCreate end
}//MainActivity class END
| Two.java
package com.example.and1110;
import android.content.Intent;
import android.media.Rating;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class Two extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
Intent it = this.getIntent();
int[ ] count= it.getIntArrayExtra("count");
String[] imgMsg = it.getStringArrayExtra("imgMsg");
TextView tv[]=new TextView[imgMsg.length];
RatingBar rb[]=new RatingBar[imgMsg.length];
int 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 };
int rbID[ ]={R.id.rb1, R.id.rb2, R.id.rb3,R.id.rb4,R.id.rb5,R.id.rb6,R.id.rb7,R.id.rb8,R.id.rb9 };
for(int i=0; i<9; i++){
tv[i]=findViewById(tvID[i]);
rb[i]=findViewById(rbID[i]);
tv[i].setText(imgMsg[i]);
rb[i].setRating((float)count[i]);
}
//버튼제어하기
Button btnReturn = findViewById(R.id.btnReturn);
btnReturn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
}
});
}//end
}//Two class END
| 이거 꼭 추가
| 출력결과
| 결과 확인