메뉴 건너뛰기

조회 수 8043 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

[10.안드로이드 로그인 화면 만들기]

오늘은 그동안 포스팅한 내용을 가지고 로그인 화면을 구현하려 합니다.
첫 번째 액티비티의 버튼을 누르면 새로운 로그인 액티비티가 띄워지고

ID와 PASSWORD를 요구합니다.
각각을 입력한 후에 다시 버튼을 누르면 처음 액티비티로 입력한 값이 전달되게 만들어 보겠습니다.

먼저 첫 번째 액티비티와 두 번째 액티비티 관계는 아래와 같습니다.

01.png



 

앞의 포스팅을 모두 숙지하신 분은 어떻게 구현해야 할지 대충 감이 잡히실거라 믿습니다.

첫 번째 액티비티는 간단하게 버튼하나만 넣어주겠습니다.

두 번째 액티비티도 간단하게 아이디 값과 비밀번호 값을 editText를 통해 얻고 버튼을 눌러 반환할 수 있게 구성해 줍니다.
2.png



3.png



xml부분은 준비가 되었으니 java파일을 수정해 보겠습니다.


이전에 설명했던 것과 같이 버튼을 눌렀을 때 새로운 액티비티를 띄우고 그 액티비티로 부터 데이터를 반환받기 위해서는 startActivityForResult()메소드에 Intent를 담아 보내주면 됩니다.

4.png



그럼 새로운 액티비티가 띄워졌으니 텍스트 editText에 입력되는 ID와 PASSWORD를 java파일에서 데이터로 받아와야겠죠?


방법은 새로운 문자열 변수안에 editText의 입력을 데이터로 불러와 넣어주면 됩니다.


우선 xml파일의 EditText를 데이터로 받아와야 하기 때문에 Java파일에서 객체로 선언해 줍니다.
5.png



findViewById()메소드안에 xml파일에서 지정해준 editText의 ID값을 파라미터로 넣어 불러오는 것입니다.
final은 차후에 onClick()메소드 안에서도 이 인스턴트들이 사용될 예정이기 때문에 추가해 준 것입니다.

이제 버튼을 눌렀을 때 EditText에 입력받은 값을 문자열로 받아오고

그 값을 Intent안에 putExtra()를 사용하여 넣어 준 후에 반환 하겠습니다.
6.png



String id = idText.getText().toString();
String pass = passwordText.getText().toString();

앞에서 선언했던 EditText객체 인스턴트로 부터 getText().toString() 메소드를 이용하여 입력된 값을 문자열로 받아 줍니다.
각각을 String형 변수 id와 pass에 저장해 주고,


 Intent intent = new Intent();
 intent.putExtra("id", id);
 intent.putExtra("pass", pass);

새로운 Intent를 선언하여 그 안에다 각각의 값을 넣어줍니다.

id라는 키값에 위에서 선언한 String변수 id를 넣고

pass라는 키값에 위에서 선언한 String변수 pass를 넣어준 것입니다.​

 setResult(RESULT_OK, intent);

이제 이 인텐트를 반환값으로 다시 돌려준 후에


 finish();
액티비티를 종료합니다.


반환값을 받기위해서는 첫 번째 액티비티에서도 작업을 해줘야 했었죠?
onActivityResult()를 사용하여 받환 값을 받아줍니다.

이 메소드는 마우스 오른쪽을 클릭하여 Generate해서 불러올 수 있었죠?


방법이 생소하신 분께서는 앞에서 포스팅한 Intent와 데이터전달을 먼저 살펴보고 와주세요.
http://blog.naver.com/rkdwnsdud555/220292204654



7.png



 String Id = data.getStringExtra("id");
 String Pass = data.getStringExtra("pass");

인텐트에 담겨온 Id값과 Pass값을 새로운 문자열 변수에 넣어 줍니다.

두 데이터 모두 String값이니 getStringExtra()를 통해 받을 수 있겠군요.

Toast.makeText(getApplicationContext(),"아이디 = " + Id + " 비밀번호 = " + Pass,  Toast.LENGTH_LONG).show();
 그럼 데이터가 잘 전달되었는지 Toast를 이용해 확인해 보겠습니다.


앞에서 포스팅했던 내용만 잘 숙지하셨다면 굉장히 간단하게 구현할 수 있는 코드입니다.


한번 결과를 확인해 보겠습니다
8.png



 9.png


TextEdit에 입력된 id와 password가 정상적으로 반환되었습니다.

 


List of Articles
번호 제목 날짜 조회 수
237 카카오톡 분석하기 (1) - sqlite 파해치기 file 2016.05.26 10063
236 카카오톡 대화내용 가져오기(sqlite3, chat_logs) file 2016.05.26 15115
235 초기화면 페이지를 만들어보자. splash 페이지 제작 file 2020.12.14 285
234 체크 박스(CheckBox)의 이미지 바꾸기 2015.07.16 6398
233 줄바꿈 문자 치환 2020.12.14 289
232 전화 인텐트와 나의 전화 번호가져오기 2014.08.28 6312
231 인텐트를 이용한 Activity간 데이터 전달 (사용자 정의 클래스) file 2015.07.16 7061
230 이미지의 Orientation를 체크해서 이미지 회전하기 2015.07.16 7658
229 이미지 버튼(ImageButton) 만들기 2015.07.16 7114
228 이미지 버튼 설정 2015.07.16 6378
227 위젯 업데이트 주기 빠르게 하기 2018.10.02 2142
226 월별 캘린더에 일정 입력 및 조회 기능 리스트로 추가하기 file 2015.07.16 18552
225 옵션 메뉴 동적으로 생성하기 2015.07.16 6926
224 어댑터 뷰(Adapter View) & 어댑터(Adapter) (1) file 2016.06.08 7852
223 앱 번들(Android App Bundle) 만들기 file 2021.09.14 305
222 암시적 인텐트를 사용한 인터넷열기, 전화걸기, 문자보내기 [Intent (인텐트)] file 2016.06.07 7736
221 알아놓으면 좋은 내용정리 2016.06.07 7458
220 안드로이트 비콘 스캐닝시 고려 사항 2015.07.26 6658
219 안드로이드용 채팅프로그램 클라이언트(java), 서버(c#) 소스 file 2016.05.19 11722
218 안드로이드와 mysql 연동시키기. php 와 json 사용 file 2015.07.16 24487
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved