2013-02-19 8 views
1

나는 두 개의 안드로이드 애플 리케이션 코드 A와 B를 가지고있다. 나는 B 애플리케이션에서 A 코드를 구현하려고한다. 이를 위해 A를 라이브러리 (jar)로 만들어 B 프로젝트에 추가했습니다. A 자체는 활동과 다른 클래스를 포함합니다. 이제 버튼 클릭으로 A의 루트 활동을 호출하고 B 앱 프로젝트의 A에서 모든 흐름을 실행하려고합니다. 또한 B 프로젝트의 App 메모리에서 A가 저장 한 데이터에 액세스하려고합니다.Android 앱에 다른 앱의 코드를 구현하는 방법은 무엇인가요?

B 프로젝트에 jar를 추가하면 A의 2 가지 작업이 정상적으로 작동합니다. 하지만 그때 그것은 충돌합니다.

내가 점점 오전 오류가

02-19 12:35:59.260: W/dalvikvm(478): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
02-19 12:35:59.280: E/AndroidRuntime(478): FATAL EXCEPTION: main 
02-19 12:35:59.280: E/AndroidRuntime(478): java.lang.NullPointerException: No application instance given 
02-19 12:35:59.280: E/AndroidRuntime(478): at com.fsck.k9.mail.store.StorageManager.<init>(StorageManager.java:526) 
02-19 12:35:59.280: E/AndroidRuntime(478): at com.fsck.k9.mail.store.StorageManager.getInstance(StorageManager.java:497) 
02-19 12:35:59.280: E/AndroidRuntime(478): at com.fsck.k9.Account.<init>(Account.java:262) 
02-19 12:35:59.280: E/AndroidRuntime(478): at com.fsck.k9.Preferences.newAccount(Preferences.java:111) 
02-19 12:35:59.280: E/AndroidRuntime(478): at com.fsck.k9.activity.setup.AccountSetupBasics.onManualSetup(AccountSetupBasics.java:285) 
02-19 12:35:59.280: E/AndroidRuntime(478): at com.fsck.k9.activity.setup.AccountSetupBasics.onNext(AccountSetupBasics.java:256) 
02-19 12:35:59.280: E/AndroidRuntime(478): at com.fsck.k9.activity.setup.AccountSetupBasics.onClick(AccountSetupBasics.java:324) 
02-19 12:35:59.280: E/AndroidRuntime(478): at android.view.View.performClick(View.java:2485) 
02-19 12:35:59.280: E/AndroidRuntime(478): at android.view.View$PerformClick.run(View.java:9080) 
02-19 12:35:59.280: E/AndroidRuntime(478): at android.os.Handler.handleCallback(Handler.java:587) 
02-19 12:35:59.280: E/AndroidRuntime(478): at android.os.Handler.dispatchMessage(Handler.java:92) 
02-19 12:35:59.280: E/AndroidRuntime(478): at android.os.Looper.loop(Looper.java:123) 
02-19 12:35:59.280: E/AndroidRuntime(478): at android.app.ActivityThread.main(ActivityThread.java:3683) 
02-19 12:35:59.280: E/AndroidRuntime(478): at java.lang.reflect.Method.invokeNative(Native Method) 
02-19 12:35:59.280: E/AndroidRuntime(478): at java.lang.reflect.Method.invoke(Method.java:507) 
02-19 12:35:59.280: E/AndroidRuntime(478): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
02-19 12:35:59.280: E/AndroidRuntime(478): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
02-19 12:35:59.280: E/AndroidRuntime(478): at dalvik.system.NativeStart.main(Native Method) 
02-19 12:35:59.290: W/ActivityManager(76): Force finishing activity com.test.k9test/com.fsck.k9.activity.setup.AccountSetupBasics 
02-19 12:35:59.822: W/ActivityManager(76): Activity pause timeout for HistoryRecord{408e0b70 com.test.k9test/com.fsck.k9.activity.setup.AccountSetupBasics} 
02-19 12:36:09.939: W/ActivityManager(76): Activity idle timeout for HistoryRecord{407edcd8 com.test.k9test/.MainActivity} 
02-19 12:36:15.170: W/ActivityManager(76): Activity destroy timeout for HistoryRecord{408e0b70 com.test.k9test/com.fsck.k9.activity.setup.AccountSetupBasics} 

당신은 어떤 솔루션을 제안 주실 래요 여기에있다? A.yourClass에서

Intent intent = new Intent(getApplicationContext(), nom.nom.example.A.yourClass); 
startActivity(intent); 

은 "프로젝트의 전화"와 관련하여 사전

+0

ContentProvider보고 시도, 당신은 좀 더 많은 정보를 줄 수있는 오류가 발생했습니다 –

+0

@ KapilVats 프로젝트의 활동에서 널 포인터 예외가 발생합니다. 응용 프로그램 인스턴스가 없습니다. 또한 A에 매니페스트가 있습니다. 다시 정의해야합니까? 권한을 제공해야합니까? –

+0

예, 다시 정의하고 권한을 정의해야합니다. –

답변

0

감사는 A의 주요 활동이다. 은 "B의 프로젝트에 의한 데이터의 액세스"와 관련하여

그냥 작동됩니다 mainfest 파일의 모든 활동을 정의 SharePreference 또는

관련 문제