2011-02-03 6 views
0

저는 글로벌 변수를 보유 할 클래스를 설정하기위한 첫 번째 대답 here을 읽었습니다. 내 응용 프로그램 자바 파일 내에 다음과 같은 클래스를 만들었습니다 내 주요 활동은 다음 :전역 변수에 대한 응용 프로그램 확장

class GlobalStore extends Application { 

    String str; 

} 

public class todo extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main);   
     GlobalStore appState = (GlobalStore) getApplicationContext(); 
     String tmpstr = appState.str; 
    } 
} 

내 manifest.xml 파일에는 다음 태그 :

<application android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:name="GlobalStore"> 

난 다음에 확신 그러나 지시가 올바르게 시작되면 내 앱 강제 종료됩니다. 바라기를 누군가는 나가 그것을 할 수 없기 때문에 잘못한 무엇을 지적 할 수있다. 감사.

+1

대문자는 대문자로 시작해야합니다. 그것은 당신의 경우에는'Todo'이어야한다는 것을 의미합니다. –

답변

0
android:name="GlobalStore" 

패키지를 포함한 전체 경로 여야합니다. 즉

android:name="com.example.GlobalStore" 

또는 패키지 이름이 무엇이든간에.

+0

글쎄, 그건 사실이 아니야. 예를 들어'android : name = "을 사용할 수 있습니다. App"';) ​​-1! 당신이 그것을 편집하면 내 downvote를 제거합니다! 하하 그냥 농담 ... downvotes XD Btw 좋아하지 않아, 나는'. 애플'물건에 대해 농담이 아니에요. – Cristian

+0

응용 프로그램 노드에 대해서는이 작업을 수행 할 수 없습니다. 액티비티 노드에 대해서는이 작업을 수행 할 수 있지만 애플리케이션은 전체 경로 여야합니다. – Falmarri

+0

나는 .GlobalStore와 fullpath.globalstore를 모두 사용하려했지만 fc의 것을 얻으려고했다. – Crazyfool

2

점이 누락되었습니다.

이 클래스가 매니페스트 노드의 package 속성에 설정된 패키지에있는 한 .GlobalStore이어야합니다.

이렇게 표시됩니다.

<application android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:name=".GlobalStore"> 
+0

위와 같이 시도했지만 여전히 닫습니다. – Crazyfool

+0

'manifest' 노드 정의를 질문에 편집으로 게시 하시겠습니까? –

관련 문제