상세 컨텐츠

본문 제목

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

안드로이드+드론 제작

by 김일국 2015. 12. 29. 17:18

본문

이번 시간에는 안드로이드앱에서 Json을 이용하여 회원등록리스트중 선택한 내용이 삭제 가능하도록 하겠습니다.

그전에, 지난 시간에 android용 Json 때문에 스프링java파일을 너무 많이 수정한 것 같습니다.

파라미터값만 Member 클래스 변수에 할당하면, Controller 1가지만 추가하면, 기존 소스를 이용 가능 합니다.

- src/sample/member/MemberController.java

아래 고칠 곳 1가지면, 이전 프로젝트에서 android용 으로 추가한 코드는 모두 작업하실 필요가 없습니다.

@RequestMapping(value="/adroidlogin", method = RequestMethod.POST) //안드로이드 외부로그인용

public String adroidlogin(@RequestParam("txtUsername") String username,@RequestParam("txtPassword") String password,Model model){

//model.addAttribute("list", memberService.adroidlogin(username, password));// android용 자바클래스

//기존 자바 클래스 사용을 위해서 아래 코드사용

Member member = new Member();

member.setUsername(username);

member.setPassword(password);

model.addAttribute("list", memberService.login(member)); // 기존 자바클래스 사용

return "member/loginlist";

}

========================= 안드로이드 스튜디오 시작 ============================

지난 시간에 작성한 activity_sub.xml 디자인과 SubActivity.java 자바파일을 가지고,  OnItemClickListener 매서드를 이용해서

해당 리스트를 클릭하면 스프링(자바)파일의 삭제와 같은 기능을 구현하도록 하겠습니다.

일단 현재 보이는 서브액티비티에는 리스트뷰 컴포넌트 2개를 사용하고 있습니다.

위 첫번째 컴포넌트를 사용할 텐데요, 간단하게 ListView 선택위젯을 사용할때, 기본적으로 필요한 것을 알아 보겠습니다.

1. xml디자인에서 ListView 컴포넌트 생성

2. java파일에서 데이터를 담아두는 ArrayList 객체 생성

3. java파일에서 데이터를 변환(Converting)해서 ListView에 보여줄 ArrayAdapter 생성

위 3가지는 activity_sub.xml 과 SubActivity.java 파일에서 확인 가능 하십니다.

먼저 결과 화면부터 보시겠습니다. ( 실제 DB연동은 다음시간에... 지금은 DB에서 불러온 리스트를 서브액티비티화면에서만, 삭제하는 기능)

kim2 사용자ID가 삭제된 것을 확인 하실 수 있습니다. 아래는 수정한 파일과 설명입니다.

SubActivity.java

1. SubActivity.java 파일의 onCreate매서드에서 제일 마지막줄에 리스너를 등록 시킵니다.

- lvMember.setOnItemClickListener(this);//리스트뷰에 아이템클릭리스너를 등록한다.

2. 해당 리스너를 등록하면, 자동으로 onCreate매서드 밖에 onItemClick 매서드가 생성 됩니다. 아래는 내용을 추가한 화면

@Override

    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

        //리스트에서 삭제에 사용될 username 아이디를 받아온다.

        String data = (String) parent.getItemAtPosition(position);

        //삭제 다이얼로그에 보여줄 메세지를 만든다.

        String message = "해당 회원을 삭제하시겠습니까?<br />" +

                "position : " + position + "<br />" +

                "data : " + data + "<br />";

        final int someParameter = position;

        DialogInterface.OnClickListener deleteListener = new DialogInterface.OnClickListener(){

            @Override

            public void onClick(DialogInterface arg0, int arg1){

                //선택한 회원을 리스트에서 삭제한다.

                names.remove(someParameter);

                // Adapter에 데이터가 바뀐걸 알리고 리스트뷰에 다시 그린다.

                adapter.notifyDataSetChanged();

            }

        };


        //삭제를 물어보는 다이얼로그를 생성한다.

        new AlertDialog.Builder(this)

                .setTitle("선택된 회원을 삭제")

                .setMessage(Html.fromHtml(message))

                .setPositiveButton("삭제", deleteListener)

                .show();

    }


다음시간에는 위 내용중 //선택한 회원을 리스트에서 삭제한다 부분에서 스프링(자바)와 연동해서 해당 회원을 진짜 삭제하는 프로그램을 만들도록 하겠습니다.

SubActivity.java
0.01MB

관련글 더보기

댓글 영역