마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

arraylist에 값을 추가하고 다른 클래스에서도 사용하는 법

0 추천
public final ArrayList<String> arraylistTest = new ArrayList<>()

이렇게 MainActivity에 ArrayList를 하나 만들었습니다.

arraylistTest.add(내용);

이렇게 해서 arraylistTest에 값을 추가하였습니다.

그리고 arraylistTest 추가한 값들을 다른 클래스에서 사용하려고 하는데 다른 클래스에서 사용하려면 어떻게 해야되나요,,,

관련된 자료 있거나 선언하는 방법 아시는 분 있으시면 도와주시면 감사하겠습니다.!

 

 

 

 

개발개발자 (1,100 포인트) 님이 2021년 1월 21일 질문

1개의 답변

0 추천
우선 질문이 너무 애매모호합니다. 어떤 걸 하시길 원하는지 이유와 현재까지 어떤 걸 시도해 보셨는데, 뭐가 문제였다는 등의 디테일을 포함해 주셔야 다른 분들이 좀 더 정확한 답을 달아드릴 수 있을 것으로 보입니다. 죄송하지만, 현재는 질문의 의도가 명확하게 이해가 되질 않습니다.

안드로이드 플랫폼에서는 다른 클래스라는 말의 정의와 왜 이렇게 사용하려는지에 대한 목적에 따라 접근방법이 달라집니다. 그게 액티비티나 프레그먼트, 뷰인지 아니면 안드로이드 플랫폼에 종속된 일반적인 클래스인지 명확해야 하고, 만약 액티비티나 프레그먼트이면 뷰의 상태를 저장하기 위한 용도인지 아니면 다른 용도인지 정확히 하는 게 좋습니다.

저는 그냥 일반적인 클래스끼리 임시적인 데이터를 공유할 목적이라는 가정 하에 답을 하겠습니다. 몇가지 방법이 있을 텐데

1. 님이 하신 것 처럼 public static final로 전역 싱글톤을 생성해서 공유합니다. 기본적으로 전역변수와 싱글톤은 권장하지는 않기 때문에, 권장하지는 않지만 님과 같이 아주 심플한 경우라면 사용하셔도 된다고 봅니다.
2. file, sharedPreferences나 db에 데이터를 넣고 공유를 합니다. 이 경우는 데이터가 앱이 종료되어도 사라지지 않으므로 삭제를 해야 한다면, 여기에 대한 처리가 필요합니다.

3. 만약 전역적으로 공유하는 게 아니라 특정 컨텍스트에서만 공유한다면, 그냥 데이터를 다른 클래스의 생성자나 setter로 넘기시면 됩니다.
spark (224,800 포인트) 님이 2021년 1월 21일 답변
...