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

답변 감사합니다 그리고 추가 질문 입니다.

–1 추천
스태틱으로 하면 다른 패키지 안의 클래스 에서 안되지 않나요?

자바를 더 공부 해야 할꺼 같네요 ㅜ

혹시 패키지 안에 다른 클래스로 데이터를 넘기는 예제 소스가 찾으면 있을까요?
익명사용자 님이 2013년 7월 15일 질문
자바의 메모리 구조로 인하여 스태틱 변수는 접근제한자를 public으로 주면 프로젝트 내 어디 에서도 사용이 가능 합니다.
사용 방법은 밑에 잘 나와 있네요~~!
짜이뚱님 댓글만봐도 충분히 설명이 된거같은데요.
방법은 여러가지지만 static이나 리스너 혹은 인자를 넘겨주는 방법으로 충분히 통신이 가능합니다.
public static으로 써야 모든 패키지에서 다 사용이 가능합니다.
리스너구현방법을 모르시거나 surfaceview가 xml에 정의되어있어 객체를 못던져줄때는 그냥 static을 사용하는게 가장 간편합니다.
도움 감사합니다. 열심히 공부 해야 겠네요 ㅋ

2개의 답변

0 추천
다른클래스에서 스태틱 변수는 다음과 같이 사용할 수 있습니다.

스태틱이선언되어있는클래스.스태틱변수

 

코드로 예를 들어 드리면 A

public class A {

    public static int NUMBER = 1;

}

 

public class B extends Activity {

    @Override

     protected void onCreate(Bundle arg0) {

            int a = A.NUMBER; (A 클래스에 static으로 선언된 NUMBER 변수 값 가져오기)

     }

}
Gradler (109,780 포인트) 님이 2013년 7월 15일 답변
–1 추천
질문자 님은 c 또는 c++에 대해서 아주 조금 알고 계시는군요...

java를 조금 공부를 하고 (c/c++ 에서 static 용법과의 차이), android 기초적인 부분을 다시 공부를 하실 것을 권합니다.

 

activity 간의 호출 시 c/c++ argument와 같은 형식으로 intent를 사용합니다.

하지만 복잡한 데이터 또는 대용량 데이터에는 적합하지 않습니다.

 

대용량의 경우에는 database를 사용하는데요.

이 때 사용할 수 있는 것이 contentprovider 입니다.
익명사용자 님이 2013년 7월 15일 답변
surfaceview 에서는 인텐트가 안먹히는걸요 ,,,
DB를 사용할만큼의 데이터도 아니구요 ,,,
...