상세 컨텐츠

본문 제목

R&D 2016 프로젝트3-04 스프링기반 Json Parser for Android

안드로이드+드론 제작

by 김일국 2015. 12. 26. 22:05

본문

이번시간에는 스프링(자바)환경에서 사용하는 로그인과 안드로이드를 연동하도록 하겠습니다.

1. 우선 스프링(자바)옹 로그인 모듈을 만들도록 하겠습니다. 꼭 만들필요는 없으나, 안드로이드 작업은 별도 작업보다는 기존 시스템에 부가 적으로 넣는 기능으로 사용되는 경우가 많기 때문에 기존 스프링프로젝트에 로그인 모듈이 있다고 가정하고 시작합니다. 이전 작어한 프로젝트에는 로그인 모듈이 없기 때문에 만들도록 하겠습니다.

- web/WEB-INF/views/member/loginform.jsp 를 만듭니다. 로그인 아이디와 암호 입력값을 필수로 처리 합니다.

- src/sample/domain/Member.java 파일에 @NotNull 어노테이션으로 필수라는 것을 표시 합니다.

loginform.jsp

Member.java

- src/WEB-INF/views/member/loginlist.jsp 를 만듭니다. DB로그인 인증 후 본인 정보만 표시하는 역할 입니다.(아래)

loginlist.jsp


2. 로그인 VIEW를 만들었으니, 컨트롤러를 달아서 실제로 링크액션이 작동하도록 합니다.

- src/sample/member/MemberController.java

MemberController.java

위 소스를 확인해 보시면, 스프링(자바)전용으로 Request매핑에 /loginform 부분이 추가된 부분 입니다.

또한, 안드로이드로그인 전용의 /androidlogin 매핑도 추가해 놓았습니다.(디버그용으로 return "member/loginlist 로 출력파일을 만들어 놓았으나. 실제로는 model.addAttrivute("list"...) 으로 DB출력된 값을 JsonView로 바로 출력한 값을 사용하게 됩니다.


3. 컨트롤러매핑에서 Model서비스 로 이동하기 위해서 인터페이스파일과 @Service 파일에서 스프링(자바)login과 안드로이드androidlogin 서비스함수를 추가 합니다.

MemberService.java

MemberServiceImpl.java


4. 서비스 함수를 거친 후 DAO데이터엑세스 인터페이스 부분을 추가 합니다. 

- 자바 login 은 Member 클래스의 변수를 파라미터로 사용

- 안드로이드 androidlogin 는 모바일폰에서 보내온 Request값을 파라미터로 사용

MemberDao.java

MemberDaoHibernate.java

MemberDaoIbatis.java

- 하이버네이트는 신경쓰지 마시고, 위 소스 설명은 ibatis @Repository로 되어 있습니다.


5. 마지막으로 쿼리 부분을 추가 합니다.

- src/sample/ibatis/Member.xml

- 스프링(자바)용 쿼리와 안드로이드 파라미터를 받아서 사용하는 쿼리를 별도로 생성 했습니다.


6. 스프링(자바)에서 로그인 확인 화면(아래)

7. JsonView 호츌시 원하는 값이 나오는지 확인

- http://192.168.0.3:8080/member/adroidlogin.json


8. 안드로이드 스튜디오에서 기존 PHP용을 대신해서 2가지 수정한 사항이 있습니다.

- MainActivity.java (SubActivity.java는 지난 시간에 작업한 결과를 그대로 사용합니다.)

MainActivity.java

- 차이점1

//String url = "http://192.168.0.2/android/login.php"; 기존PHP에서 값을 받아오는 URL

String url = "http://192.168.0.3:8080/member/adroidlogin.json"; //스프링(자바)한경일때 URL

-차이점2

/*if(s.equals("success")){*/ //PHP환경일때 리턴값이 스트링변수

String jsonString = s.substring(s.indexOf('['), s.indexOf(']')+1);//스프링(자바)환경일때 리턴값이 Json 형식

if (!jsonString.equals("[]")) {    //스프링(자바)환경일때


9. 최종 결과 ( 메인엑티비티로 리턴되는 값이 로그인체크된 아이디 값 임을 알수 있습니다. 로그인 인증 후 서브액티비티까지 정상으로 들어갑니다.)

오늘은 여기까지... 다음시간에는 안드로이드앱에서 Json을 이용하여 회원등록이 가능하도록 하겠습니다.

loginform.jsp
0.0MB
MemberDao.java
0.0MB
MemberController.java
0.0MB
MainActivity.java
0.0MB
loginlist.jsp
0.0MB
MemberServiceImpl.java
0.0MB
MemberService.java
0.0MB
Member.java
0.0MB
MemberDaoIbatis.java
0.0MB
MemberDaoHibernate.java
0.0MB

관련글 더보기

댓글 영역