Android

[JAVA][Android]안드로이드 interface 사용하기

어렵지만 2024. 6. 7. 02:07

왜 만들었는지? 어댑터 클래스에서 만든 이미지의 키값이 startActivityForResult 을 사용해서 intent의 putExtra에 담아 Detailtour_Review_addtour 의 클래스의 startActivityForResult 의 data.getStringExtra 의 데이터가 수신되지 않아서 작성하게 됨

[수신이 되지 않은 이유는 갤러리앱을 열기 위한 인텐트를 작동시켰는데 거기에 putExtra로 데이터를 추가했으며 아마 갤러리 앱을 열기위한 전용이라 저장이되어 전송이 되지 않았던거

같다.]

 

<사용방법>

*데이터를 만들어서 보낼곳 : 어댑터클래스 → 데이터를 만들어서 받을곳 : 디테일리뷰클래스

 

1.먼저 인터페이스를 만듭니다

 

2. 이동할 데이터 값 클래스에 인터페이스를 선언합니다 (String 값을 보내기 위해 선언함)

 

3.선언이 완료되면 이동할 데이터 의 코드로 이동하고 아까만들었던[send_Image_Sharedkey(String s) → listener.send_Image_SharedKey(itemView_find_keyValue);]메서드를 사용하여 매개변수로 저장합니다.

여기 itemView_find_keyValue는 키값을 담기위한 해당 클래스에 선언해준 코드입니다 (String값)

추가로 position 값도 만들었다.

 

4. 데이터를 받을클래스명에 implements 선언합니다

 

5. 선언하고나면 해당 메서드를 오버라이드 하라고 한다 그것을 메서드로 만들면된다

 

6. 이제 해당 메서드에서 값을 가져오는 방법중 하나는 데이터를 받을 클래스에 (리뷰클래스) 전역변수를 선언한다.

 

7. 이제 부턴 저 전역변수를 클래스안에서 다 사용이 가능하다.

단순 사용법을 요약하면

  1. 인터페이스 선언 - > 2. 데이터를 만들어서 보낼 클래스에 전역변수에 인터페이스를 선언 → 3. 데이터를 받을 클래스에 implements선언해서 해당받을 전역변수 생성하고 메서드에 있는 데이터를 가져온다

나만의 방식으로 다시 정리하면