본문 바로가기
안드로이드 자바

[Java][Android] 메모장 만들기(2. 메모장 수정, 삭제)

by teamnova 2021. 2. 25.
728x90

안녕하세요.

저번 메모장 만들기 1편에 이어서 스틱코드를 이용해 수정, 삭제를 진행해 보겠습니다.

 

=====================================

저번과 동일하게 스틱코드에 XML 파일을 올려두었으니 저번 포스팅 이후 추가된 데이터 및 수정 데이터 적용해주세요!

stickode.com/detail.html?no=1882

 

스틱코드

 

stickode.com

=====================================

 

1. 메모 수정하기

먼저 레이아웃에 버튼을 만들고 액티비티에서 선언을 해줍니다.

* ViewActivity.java

 

'수정하기' 버튼을 누르면 ReWriteActivity로 이동하도록 intent 를 사용합니다.

기존 내용을 수정할 수 있게 Sharedpreperences에 저장된 키값과 수정될 제목, 내용을 putExtra로 같이 넣어 줍니다.

수정 된 후 다시 ViewActivity 로 돌아왔을 때,

제목과 내용을 적용되도록 setText()를 해줍니다.

 

 

* ReWriteActivity.java 수정 액티비티

수정 전에 기존에 저장된 제목과 내용을 EditText에 적용시키기 위해,

ViewActivity.class 에서 받은 내용들을 getIntent() 하여 적용합니다.

 

저번에 만든 WriteActivity 와 대부분 같은 코드를 사용하지만,

onClick 메소드에서 기존에 키값으로 사용하기 위해 현재 시간을 생성하는 코드를 사용하지 않고 Intent로 받은 key값을 넣어 SharedPreperenes에 저장합니다.

 

 

 

=====================================

 

2. 메모 삭제하기

다음으로 삭제하기를 진행해보겠습니다.

item_rv_memo.xml 에 삭제하기 버튼을 추가하여 리사이클러 뷰 리스트에서 삭제할 수 있도록 버튼을 만들어줍니다.

 

* MemoAdapter.java

xml에 버튼을 추가하였다면 리사이클러뷰 어뎁터 액티비티 MemoAdapter에 삭제 버튼 기능을 추가합니다.

ViewHolder 에 삭제버튼을 할당해줍니다.

onBindViewHolder에 버튼이 클릭 되도록 onClick() 메소드 생성

삭제 버튼을 누르면 CancelPopup에 삭제될 메모의 키값을 전달해줍니다.

 

* CancelPopup.java

Intent 로 받은 삭제하려는 메모의 key 값을 받고

팝업 된 다이얼로그의 삭제 확인 버튼을 누르면 MainActivity로 key값을 되돌려 주어

삭제하는 메모를 MainActivity에 알려줍니다.

 

액티비티 다이얼로그 소스는 아래 스틱코드 링크에서 참고했습니다!

stickode.com/detail.html?no=1910

 

스틱코드

 

stickode.com

 

* MainActivity.java

기존에 쉐어드의 모든 키 벨류를 가져와 리사이클러 뷰에 추가해주는 코드를 메소드화 시켜줍니다. (loadMemo)

 

onActivityResult 메소드에  삭제를 하고자하는 메모를 삭제하고, 리사이클러뷰를 초기화

그 후 위에 메소드로 묶은 loadMemo 메소드를 실행하여 목록을 갱신합니다.

 

이상으로 스틱코드를 이용한 메모장 만들기를 진행하였습니다.

 

메모장을 만들때 사용한 스틱코드 포스트는 아래 적어두었으니 참고해주세요!

 

 

스틱코드 참고 포스트

 

* 팀노바 기초 _ 안드로이드 자주쓰는 메소드

stickode.com/detail.html?no=1193

 

스틱코드

 

stickode.com

* 팀노바_기초_안드로이드 setOnClickListener

 

stickode.com/detail.html?no=1351

 

스틱코드

 

stickode.com

* sharedpreferences 간편 사용 클래스 만들기

stickode.com/detail.html?no=1548

 

스틱코드

 

stickode.com

* 안드로이드 FindView, Button, BackPressed, Dialog, PoPup 등 기타

stickode.com/detail.html?no=1845

 

스틱코드

 

stickode.com

*리사이클러뷰 구현

stickode.com/detail.html?no=1504

 

스틱코드

 

stickode.com

* SharedPreference 모든 키벨류 불러오기

stickode.com/detail.html?no=1881

 

스틱코드

 

stickode.com

* 안드로이드 레이아웃 테두리 넣기

stickode.com/detail.html?no=1171

 

스틱코드

 

stickode.com

* 액티비티 다이얼로그 띄우기

stickode.com/detail.html?no=1910

 

스틱코드

 

stickode.com