메인엑티 복사해서 PersonInfo 만든다.
안드로이드메니페스트에 PersonInfo를 등록한다.
menu_main를 menu_personinf로 수정
액티비티 전환.. 홈으로도 가고 인물 등록으로도 간다.
if (id == R.id.action_settings2) {
// 인물 등록 액비티비 전환
Intent it = new Intent(this, PersonReg.class);
startActivity(it);
return true;
} else if (id == R.id.action_settings1) {
// 인물 등록 액비티비 전환
Intent it = new Intent(this, MainActivity.class);
startActivity(it);
return true;
}
onCreate수정
activity_personreg.xml 복사해서 activity_personinf.xml 만들고 코드에서 reg부분을 inf로 바꾼다.
content_personreg도 복사해서 content_personinf로 변경한다.
content_personinf에서 다음과 같이 수정한다.
editText는 모두 textview로 변경, 라디오그룹은 텍스트뷰로 변경하고 라디오버튼은 삭제, android:orientation="horizontal"> 이것도 삭제
전공도 스피너뷰를 텍스트로 변경, 첫번째 체크박스도 텍스트뷰로 하고 나머지 체크박스는 삭제한다.
체크박스를 <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/hobby"/>이렇게 수정한가.
이미지뷰.. src지우고 얘네도 지운다.
android:src="@drawable/findimageandroid:clickable="true"
android:onClick="findPhoto"
마지막 버튼은 통삭제
personreg에서 했던 객체 personinf로 가져온다.(자바임)
EditText name, studentid;
RadioGroup grade;
RadioButton one, two, three;
CheckBox hobby01, hobby02, hobby03;
ImageView findimage;
Button regist;
Uri photoUri;
Spinner major;
복붙해주고 아까 바꿨던 것들.. 에디트텍스트, 라디오그룹, 이런 거 텍스트뷰로 바꿔주고 삭제했던 것들은 같이 삭제한다.
TextView name, studentid;
TextView grade;
TextView hobby;
ImageView findimage;
Uri photoUri;
TextView major;다시 PsersonReg에서 뷰 연결해주던 네임에서부터 파인드이미지까지 복사해오고 수정한다.
name = (TextView) findViewById(R.id.name);
studentid = (TextView) findViewById(R.id.studentid);
grade = (TextView) findViewById(R.id.grade);
hobby = (TextView) findViewById(R.id.hobby);
findimage = (ImageView) findViewById(R.id.findimage);
major = (TextView) findViewById(R.id.major);
Intent it = getIntent();여기 있는 정보를 하나씩 꺼낼 것이다.
PsersonReg에서
String str_name, str_studentid, str_grade, str_major_value, str_hobby, str_photoUri; 가져온다.
Intent it = getIntent();
str_name = it.getStringExtra("it_name").toString();
name.setText(str_name);이렇게 하면 인물등록에 이름이 추가될 것이다.
setContentView(R.layout.activity_main); 를 수정한다. (R.layout.activity_personinf);
public class PersonInfo extends AppCompatActivity {
// private AppBarConfiguration appBarConfiguration;
private ActivityMainBinding binding;
여기도 수정한다.
private ActivityPersoninfBinding binding;
binding = ActivityMainBinding.inflate(getLayoutInflater());
여기도 메인을 personinf로 수정한다.
ActivityPersoninfBinding


사진을 보면 인물등록에 성명이 등록한대로 나오는 것을 볼 수 있다.
수정된 PersonReg와 Personinfo의 코드이다.
PersonReg
package com.example.hyw_bpersonregistapp;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
//import androidx.navigation.ui.AppBarConfiguration;
import com.example.hyw_bpersonregistapp.databinding.ActivityPersonregBinding;
public class PersonReg extends AppCompatActivity {
// private AppBarConfiguration appBarConfiguration;
public final static int REQUEST_PHOTO_CODE = 1;
private ActivityPersonregBinding binding;
EditText name, studentid;
RadioGroup grade;
RadioButton one, two, three;
CheckBox hobby01, hobby02, hobby03;
ImageView findimage;
Button regist;
Uri photoUri;
Spinner major;
String[] str_major = {"스마트IT", "소프트웨어융합", "빅데이터", "AI융합"};
String str_name, str_studentid, str_grade, str_major_value, str_hobby, str_photoUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
binding = ActivityPersonregBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
setSupportActionBar(binding.toolbar);
name = (EditText) findViewById(R.id.name);
studentid = (EditText) findViewById(R.id.studentid);
grade = (RadioGroup) findViewById(R.id.grade);
one = (RadioButton) findViewById(R.id.one);
two = (RadioButton) findViewById(R.id.two);
three = (RadioButton) findViewById(R.id.three);
hobby01 = (CheckBox) findViewById(R.id.hobby01);
hobby02 = (CheckBox) findViewById(R.id.hobby02);
hobby03 = (CheckBox) findViewById(R.id.hobby03);
findimage = (ImageView) findViewById(R.id.findimage);
regist = (Button) findViewById(R.id.regist);
major = (Spinner) findViewById(R.id.major);
ArrayAdapter<String> adapter = new ArrayAdapter<String>
(this, android.R.layout.simple_spinner_item, str_major);
major.setAdapter(adapter);
major.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
str_major_value = str_major[i];
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
Toast.makeText(getApplicationContext(), "전공선택필수", Toast.LENGTH_SHORT).show();
}
});
regist.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
str_name = name.getText().toString();
str_studentid = studentid.getText().toString();
str_grade = "";
if (one.isChecked()) str_grade = one.getText().toString();
if (two.isChecked()) str_grade = two.getText().toString();
if (three.isChecked()) str_grade = three.getText().toString();
if (hobby01.isChecked()) str_hobby = str_hobby + hobby01.getText().toString();
if (hobby02.isChecked()) str_hobby = str_hobby + hobby02.getText().toString();
if (hobby03.isChecked()) str_hobby = str_hobby + hobby03.getText().toString();
str_photoUri = photoUri.toString();
Intent iit = new Intent(PersonReg.this, PersonInfo.class);
iit.putExtra("it_name", str_name);
iit.putExtra("it_studentid", str_studentid);
iit.putExtra("it_grade", str_grade);
iit.putExtra("it_hobby", str_hobby);
iit.putExtra("it_major", str_major_value);
iit.putExtra("it_photoUri", str_photoUri);
startActivity(iit);
}
}); // regist
} // onCreate
public void findPhoto(View view) {
Intent it = new Intent(Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
it.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(it, REQUEST_PHOTO_CODE);
} // findPhoto
public void onActivityResult(int requestcode, int resultcode, Intent it) {
super.onActivityResult(requestcode, resultcode, it);
if (requestcode == REQUEST_PHOTO_CODE) {
if (resultcode == RESULT_OK) {
photoUri = it.getData();
findimage.setImageURI(photoUri);
}
}
} // onActivityResult
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_personreg, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings1) {
// 홈 액비티비 전환
Intent it = new Intent(this, MainActivity.class);
startActivity(it);
return true;
}
return super.onOptionsItemSelected(item);
}
}
PersonInfo
package com.example.hyw_bpersonregistapp;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import com.example.hyw_bpersonregistapp.databinding.ActivityPersoninfBinding;
public class PersonInfo extends AppCompatActivity {
// private AppBarConfiguration appBarConfiguration;
private ActivityPersoninfBinding binding;
TextView name, studentid;
TextView grade;
TextView hobby;
ImageView findimage;
Uri photoUri;
TextView major;
String str_name, str_studentid, str_grade, str_major_value, str_hobby, str_photoUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_personinf);
binding = ActivityPersoninfBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
setSupportActionBar(binding.toolbar);
name = (TextView) findViewById(R.id.name);
studentid = (TextView) findViewById(R.id.studentid);
grade = (TextView) findViewById(R.id.grade);
hobby = (TextView) findViewById(R.id.hobby);
findimage = (ImageView) findViewById(R.id.findimage);
major = (TextView) findViewById(R.id.major);
Intent it = getIntent();
str_name = it.getStringExtra("it_name").toString();
name.setText(str_name);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_personinf, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings2) {
// 인물 등록 액비티비 전환
Intent it = new Intent(this, PersonReg.class);
startActivity(it);
return true;
} else if (id == R.id.action_settings1) {
// 인물 등록 액비티비 전환
Intent it = new Intent(this, MainActivity.class);
startActivity(it);
return true;
}
return super.onOptionsItemSelected(item);
}
}
'Android' 카테고리의 다른 글
| [Android Studio] 인물 정보 입력 & 등록하기 (3) (0) | 2024.05.12 |
|---|---|
| [Android Studio] 인물 정보 입력 & 등록하기 (2) (0) | 2024.05.11 |
| [Android Studio] 인물 정보 입력 & 등록하기 (1) (0) | 2024.05.11 |
| [Android Studio] 비디오 재생 (2) (0) | 2024.05.10 |
| [Android Studio] 비디오 재생 (1) (0) | 2024.05.10 |