안드로이드 프로그래밍 질문드립니다.

조회수 1303회

간단한 게임을 하나 만들어보려 하는데요, 구글링을 해도 정확한 답변을 얻기 힘들어 질문드립니다.

게임에서 Character 클래스를 하나 만들어서 character 1 ~ 9 까지의 객체 생성을 한뒤, 이 객체들을 가지

고 게임을 진행하려 합니다.

Character 클래스 내부에는 캐릭터의 체력 등등 정보가 담겨있습니다.

근데 여기서 문제점이, Character 클래스를 하나 만들고, Character 1 ~ 9 까지의 화면을따로 생성하여

캐릭터별로 다른 화면에 뿌려준 다는점이 문제인데요.

간단하게 구조를 그려보자면,

메인

캐릭터 1 캐릭터2 캐릭터3 ..... 캐릭터9

이렇게 구성 되어있는 상태입니다. 메인에서 각 캐릭터 버튼을 누르면 각자의 정보를 볼 수 있도록 따로 창을 하나씩 구성했습니다.

이 상태에서 메인에 있는 버튼을 누를시 다음날로 진행이 되는데, 여기서 한꺼번에 객체를 처리하려면 메인에서 객체를 생성하는것이 맞다고 생각합니다.

그다음에, 메인에서 생성한 객체의 정보를 각각 긁어서 캐릭터별 액티비티에 뿌려준다음 보여주는 식으로 진행하려합니다.

그러나, 큰 문제가 하나 있습니다.

메인은 Fragment 로 짜져있구요, (sliding tab 을 이용하기 위해서요) 받는 대상인 캐릭터별 액티비티는 Activity 라는게 문제입니다.

Fragment -> Activity 로 이동할때 객체를 그 자체로 옮길 수 있는 방법이 있나요? Intent 에 담아서 이동하는 경우에는 액티비티에서 액티비티로 이동할때 사용하는것으로 알고있어서요...

ex) 메인(Fragment)에서 Character ch1 = new Character();

이렇게 객체를 생성했을때 이 객체를 똑같이 각 캐릭터별 Activity 에서 정보를 사용하고 싶습니다.

제가 열심히 찾아본 결과..

parceltracer과 Singleton 이라는걸 발견했습니다.

이 둘중에 한가지 방법을 이용해야 제가 원하는 프로그래밍을 할 수 있나요?

아니면 다른 더 쉬운 방법이 있나요

피곤한 상태인데다가 프로그래밍 지식이 적어서 두서없이 글을 쓴 점 죄송합니다. 하지만 꼭 해결하고싶은 부분인만큼 객체 이동에 대한 지식이 풍부한 분께서 답변해주셨스면 감사하겠습니다. ^

1 답변

  • 좋아요

    2

    싫어요
    채택 취소하기

    인텐트를 이용해서 액티비티 <-> 액티비티뿐만 아니라 프래그먼트 <-> 액티비티로도 데이터 전달이 가능합니다. 인텐트로 객체를 전달하기 위해서는 Parcelable 인터페이스를 구현하거나 또는 Serializable을 구현해야 합니다.

    관련해서는 아래 글을 읽어보시기 바랍니다.

    그리고 언급하신 싱글턴 패턴을 이용하는 것도 방법입니다. Character 객체를 프래그먼트나 액티비티에서 접근 가능하도록 코드를 만들어보세요. 구현 방법은 아래 링크의 샘플 코드를 참고하시기 바랍니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)