1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public void onClick(View v) { // TODO Auto-generated method stub String phoneNum = phoneNumEdt.getText().toString(); String msg = msgEdt.getText().toString(); Intent intent = new Intent(MainActivity.this, AnotherActivity.class); intent.putExtra("phoneNum", phoneNum); intent.putExtra("msg", msg); // startActivity(intent);//액티비티 그냥 호출 startActivityForResult(intent, 1001); //호출하는 엑티비티로부터 응답을 받기 위해 코드를 지정해서 호출 //호출했던 엑티비티가 종료되고 이 엑티비티로 돌아올때 ↓ } }); //호출할때 지정해줬던 코드값이 requestCode파라미터에 들어오면서 } //onActivityResult함수가 호출됨 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if(requestCode == 1001) { Toast.makeText(this, "Another로부터 돌아옴", 0).show(); } } | cs |
1 2 3 4 5 6 7 | Intent intent = getIntent(); Bundle bundle = intent.getExtras(); String phoneNum = bundle.getString("phoneNum"); String msg = bundle.getString("msg"); Log.d("DEVEL", phoneNum); Log.d("DEVEL", msg); //log에서 확인하는 방법 //배포할때는 지우기 } |
1 2 3 | setContentView(R.layout.activity_another); //매개변수로 받은 레이아웃 xml자원에 따라 모든 위젯을 객체화하고 + //화면에 그리는 역할 | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ok_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub setResult(RESULT_OK); // 현재 엑티비티를 호출했던 엑티비티로 돌아갈때 결과 코드를 세팅함 finish(); // 해당 상수는 Activity클래스에 정의되 있는 상수이고 맘대로 아무 숫자나 써도됨 } //엑티비티를 종료시키는 메소드 }); cancel_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub setResult(RESULT_CANCELED); finish(); } }); | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if(requestCode == 1001){ if(resultCode == RESULT_OK) { Toast.makeText(this, "Another로부터 확인으로 돌아옴", 0).show(); } if(resultCode == RESULT_CANCELED) { Toast.makeText(this, "Another로부터 취소로 돌아옴", 0).show(); } } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | //폰번이랑 문자내용으로 이뤄진 모델클래스를 만들어서 //하나의 객체로 묶어서 인텐트에 실어 보냅시당 public class SmsMsg { private String phoneNum; private String msg; public String getPhoneNum() { return phoneNum; } public void setPhoneNum(String phoneNum) { this.phoneNum = phoneNum; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class SmsMsg implements Parcelable{ @Override public int describeContents() { // TODO Auto-generated method stub return 0; } @Override public void writeToParcel(Parcel dest, int flags) { // TODO Auto-generated method stub dest.writeString(phoneNum);
dest.writeString(msg); } } | cs |
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 32 33 | //편의를 위해 만든 메소드의 이름이 꼭 이형태일 필요는 없음 public void readFromParcel(Parcel parcel) { phoneNum = parcel.readString(); msg = parcel.readString(); } public SmsMsg(){ } public SmsMsg(Parcel parcel){ readFromParcel(parcel); } public static final Parcelable.Creator<SmsMsg> CREATOR = new Creator<SmsMsg>() { @Override public SmsMsg[] newArray(int size) { // TODO Auto-generated method stub return new SmsMsg[size]; } @Override public SmsMsg createFromParcel(Parcel source) { // TODO Auto-generated method stub //매개변수로 넘어온 Parcel객체로부터 순서대로 읽어서 각각 멤버에 세팅하고 만든 모델객체를 리턴 // SmsMsg data = new SmsMsg(); // data.setPhoneNum(source.readString()); // data.setMsg(source.readString()); // return data; return new SmsMsg(source); } }; | cs |
1 2 3 4 5 6 7 8 9 10 11 12 | String phoneNum = phoneNumEdt.getText().toString(); String msg = msgEdt.getText().toString(); Intent intent = new Intent(MainActivity.this, AnotherActivity.class); SmsMsg smsMsg = new SmsMsg(); smsMsg.setPhoneNum(phoneNum); smsMsg.setMsg(msg); intent.putExtra("SmsMsg", smsMsg); // intent.putExtra("phoneNum", phoneNum); // intent.putExtra("msg", msg); // startActivity(intent);//액티비티 그냥 호출 startActivityForResult(intent, 1001); | cs |
1 2 3 4 5 6 7 8 | Intent intent = getIntent(); Bundle bundle = intent.getExtras(); // String phoneNum = bundle.getString("phoneNum"); // String msg = bundle.getString("msg"); SmsMsg smsMsg = (SmsMsg) bundle.get("SmsMsg"); phoneNum_View.setText("전화번호 : " + smsMsg.getPhoneNum()); main_msg_View.setText("메시지 내용\n"+smsMsg.getMsg()) | cs |
버튼클릭이벤트 다른방법
1 2 3 | public void registerBtnClick(View v){ Toast.makeText(this, "이벤트 처리 이렇게도 되징", 0).show(); } | cs |
' IOT 기반 응용 SW과정 > Android, Arduino' 카테고리의 다른 글
Day92 (0) | 2016.07.28 |
---|---|
Day91 (0) | 2016.07.27 |
Day89 안드로이드 엑티비티 전환 (0) | 2016.07.25 |
Day88 (0) | 2016.07.22 |
Day87 (0) | 2016.07.21 |