2013-03-21 157 views
0

我有一個標記爲圖書館的項目和一個使用該圖書館的項目。 它看起來像一切都很好,主要項目的清單具有洞名稱(package.name)庫的活動,但我不知道如何調用庫類我導入mainactivity(import com.example .libreriasuscripcion.MainActivity;)從庫到主,當我這樣稱呼它:對圖書館項目的參考

@Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     Log.d("Juego - onCreate", "en Onclick"); 
     Intent i = new Intent(getBaseContext(), MainActivity.class); 
     startActivity(i); 
    } 

有一個錯誤:這是logcat的

03-21 09:45:00.534: E/AndroidRuntime(413): FATAL EXCEPTION: main 
03-21 09:45:00.534: E/AndroidRuntime(413): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.juego/com.example.libreriasuscripcion.MainActivity}: java.lang.InstantiationException: com.example.libreriasuscripcion.MainActivity 
03-21 09:45:00.534: E/AndroidRuntime(413): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 
03-21 09:45:00.534: E/AndroidRuntime(413): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
03-21 09:45:00.534: E/AndroidRuntime(413): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
03-21 09:45:00.534: E/AndroidRuntime(413): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
03-21 09:45:00.534: E/AndroidRuntime(413): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-21 09:45:00.534: E/AndroidRuntime(413): at android.os.Looper.loop(Looper.java:123) 
03-21 09:45:00.534: E/AndroidRuntime(413): at android.app.ActivityThread.main(ActivityThread.java:4627) 
03-21 09:45:00.534: E/AndroidRuntime(413): at java.lang.reflect.Method.invokeNative(Native Method) 
03-21 09:45:00.534: E/AndroidRuntime(413): at java.lang.reflect.Method.invoke(Method.java:521) 
03-21 09:45:00.534: E/AndroidRuntime(413): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
03-21 09:45:00.534: E/AndroidRuntime(413): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
03-21 09:45:00.534: E/AndroidRuntime(413): at dalvik.system.NativeStart.main(Native Method) 
03-21 09:45:00.534: E/AndroidRuntime(413): Caused by: java.lang.InstantiationException: com.example.libreriasuscripcion.MainActivity 
03-21 09:45:00.534: E/AndroidRuntime(413): at java.lang.Class.newInstanceImpl(Native Method) 
03-21 09:45:00.534: E/AndroidRuntime(413): at java.lang.Class.newInstance(Class.java:1429) 
03-21 09:45:00.534: E/AndroidRuntime(413): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
03-21 09:45:00.534: E/AndroidRuntime(413): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) 
03-21 09:45:00.534: E/AndroidRuntime(413): ... 11 more 

你能幫我嗎?在此先感謝

回答

0

如果您使用的是Eclipse IDE,請記住包含導出的APK文件的庫。

右鍵點擊你的項目,選擇屬性 - > Java構建路徑 - >訂單和出口

+0

感謝羅賓,I'm使用Eclipse本地

謝謝大家。如果我去property-> java構建路徑 - >庫我的file.jar是在Android的依賴。導出包含庫的apk是在完成之前的las步驟,現在我仍然在學習如何使用庫 – Ivan 2013-03-21 11:35:55

0

,如果你在項目中使用的庫意味着

1.you需要的庫添加到構建路徑。

2.go to> project properties-> javabuild path0> order and export - >選擇你的庫。

3.確保添加在當前項目清單文件資料庫活動

4.you必須在你的情況下,指定庫類 的全名

Intent i = new Intent(getBaseContext(), com.example.libreriasuscripcion.MainActivity.class); 
+0

謝謝Mr. Cool – Ivan 2013-03-21 11:29:24

0

我想就像你說的但仍是同樣的錯誤,這是我的清單

<application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" 
     android:name="com.example.libreriasuscripcion.Almacen" > 
     <activity 
      android:name="com.example.juego.Juego" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.example.libreriasuscripcion.MainActivity"> 
     </activity> 
     <activity 
      android:name="com.example.libreriasuscripcion.Almacen" 
      android:label="@string/title_activity_almacen" > 
     </activity> 
     <activity 
      android:name="com.example.libreriasuscripcion.Hello" 
      android:label="@string/title_activity_hello" > 
     </activity> 
    </application> 

,這是我如何打電話到圖書館

@Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Log.d("Juego - onCreate", "en Onclick"); 
       //Intent i = new Intent(getBaseContext(), MainActivity.class); 
       intent.setAction(Intent.ACTION_MAIN); 
       intent.setClassName(getBaseContext(), "com.example.libreriasuscripcion.MainActivity.class"); 
       intent.putExtra("code", "795006"); 
       intent.putExtra("keyword", "testandroid"); 
       startActivityForResult(intent, 1); 
       //startActivity(i); 
      } 
     }); 

I'm使用和應用來保存數據,但後來我刪除它認爲這是錯誤,我用份額的喜好做