2011-07-17 85 views
0

任何人有任何想法,爲什麼這個代碼不工作,這是工作的罰款,直到我試圖安裝谷歌AdMob廣告SDK,然後一下子把應用程序的崩潰每次我嘗試運行它。應用程序崩潰的Android

package co.miniz.RageToonViewer; 

import java.io.FileReader; 
import java.net.MalformedURLException; 
import java.net.URL; 
import org.w3c.dom.Text; 
import co.miniz.RageToonViewer.R; 
import co.miniz.RageToonViewer.ImageNumbers; 
import co.miniz.RageToonViewer.NoRepeatRandom; 
import co.miniz.RageToonViewer.Download; 
import android.app.Activity; 
import android.content.res.AssetManager; 
import android.graphics.Bitmap; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.Window; 
import android.widget.Button; 
import android.widget.Gallery; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class RageToonViewerActivity extends Activity { 
FileReader reader; 
URL url; 
Download DL; 
NoRepeatRandom randGen; 
ImageNumbers noOfImages; 
ImageView imView; 
Gallery g; 
Text text1; 
Bitmap bmImg; 
TextView tv; 
AssetManager assetManager; 
int random; 
int prevRand = -10; 
int noOfFiles ; 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
     assetManager = getAssets(); 
     DL = new Download(); 
     imView = (ImageView)findViewById(R.id.mainImage); 
     imView.setScaleType(ImageView.ScaleType.FIT_CENTER); 

     //----- Get Number OF Images ----- 
     noOfImages = new ImageNumbers(); 
     noOfFiles = noOfImages.GetNumber(); 

     //----- Set Button and Text outPut for testing ----- 
     Button button1main = (Button) findViewById(R.id.button1); 
     tv = (TextView)findViewById(R.id.text1); 
     tv.setText("Click above for a random RageToon!"); 


     //----- Generate Random Number ----- 
     randGen = new NoRepeatRandom(0, noOfFiles); 
     random = randGen.GetRandom(); 

     //----- Set First Image ----- 
     imView.setImageBitmap(GetImage()); 

     //----- Set up Button Click Action ----- 
     button1main.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       tv.setText("Click above for a random RageToon!" + noOfFiles); 
       noOfFiles = noOfImages.GetNumber(); 
       imView.setImageBitmap(GetImage()); 
      } 
     }); 

     imView.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       tv.setText("Click above for a random RageToon!" + noOfFiles); 
       noOfFiles = noOfImages.GetNumber(); 
       imView.setImageBitmap(GetImage()); 
      } 
     }); 
} 

public Bitmap GetImage() { 

    random = randGen.GetRandom(); 
    URL tempURL = null; 
    try { 
     tempURL = new URL("http://miniz.co/RageToonApp/Images/" + random + ".jpg"); 
    } catch (MalformedURLException e1) { 
     e1.printStackTrace(); 
    } 
    Bitmap TempImage = DL.getRemoteImage(tempURL, tv); 

    if (TempImage == null) 
    { 
     TempImage = GetImage(); 
    } 
    return TempImage; 
} 
} 

當調試我可以看到一個java.lang.RuntimeException:無法實例化LogCat視圖中的活動ComponentInfo。

感謝您的幫助! Ross。

編輯:從logcat的

07-17 01:35:14.680: WARN/dalvikvm(3540): threadid=3: thread exiting with uncaught exception (group=0x40023160) 
07-17 01:35:14.680: ERROR/AndroidRuntime(3540): Uncaught handler: thread main exiting due to uncaught exception 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{co.miniz.RageToonViewer/co.miniz.RageToon.RageToonViewerActivity}: java.lang.ClassNotFoundException: co.miniz.RageToon.RageToonViewerActivity in loader [email protected] 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2424) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2519) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at android.app.ActivityThread.access$2200(ActivityThread.java:123) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1870) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at android.os.Handler.dispatchMessage(Handler.java:99) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at android.os.Looper.loop(Looper.java:123) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at android.app.ActivityThread.main(ActivityThread.java:4370) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at java.lang.reflect.Method.invoke(Method.java:521) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at dalvik.system.NativeStart.main(Native Method) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540): Caused by: java.lang.ClassNotFoundException: co.miniz.RageToon.RageToonViewerActivity in loader [email protected] 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
07-17 01:35:14.770: ERROR/AndroidRuntime(3540):  ... 11 more 
07-17 01:35:14.890: ERROR/SemcCheckin(3540): Get crash dump level : java.io.FileNotFoundException: /data/semc-checkin/crashdump 
07-17 01:35:14.900: WARN/ActivityManager(1146): Unable to start service Intent { act=com.sonyericsson.android.jcrashcatcher.action.BUGREPORT_AUTO cmp=com.sonyericsson.android.jcrashcatcher/.JCrashCatcherService (has extras) }: not found 
07-17 01:35:15.000: INFO/Process(1146): Sending signal. PID: 3540 SIG: 3 
07-17 01:35:15.000: INFO/dalvikvm(3540): threadid=7: reacting to signal 3 
07-17 01:35:15.000: ERROR/dalvikvm(3540): Unable to open stack trace file '/data/anr/traces.txt': Permission denied 
07-17 01:35:15.060: ERROR/SemcCheckin(1681): Get Crash Level : java.io.FileNotFoundException: /data/semc-checkin/crashdump 
07-17 01:35:15.170: DEBUG/dalvikvm(2189): GC freed 264 objects/16000 bytes in 32ms 
07-17 01:35:19.036: WARN/jdwp(3540): Debugger is telling the VM to exit with code=1 

編輯:感謝您的答覆,但代碼仍然沒有固定的路徑和名稱後,這樣的工作。 我發現現在在eclipse中使用任何連接到互聯網的應用程序現在會崩潰,當我嘗試在手機上運行它時?
當我使用的代碼,還崩潰:

requestWindowFeature(Window.FEATURE_NO_TITLE); 

我希望這將在很大程度上決定了什麼問題有所幫助。

+5

請從您的logcat發佈完整的stacktrace。 – 2011-07-17 00:04:36

回答

3

從異常很明顯,Dalvik的下路「co.miniz.RageToon.RageToonViewerActivity」尋找你的文件「RageToonViewerActivity」,但在包定義「包co.miniz.RageToonViewer」因此不能定位。

  1. 我會建議你去到Android清單文件,你的活動被定義在哪裏,充分路徑。

    <activity android:name="co.miniz.RageToonViewer.RageToonViewerActivity" // change this line 
        android:screenOrientation="portrait"> 
        <intent-filter> 
         <action android:name="android.intent.action.MAIN" /> 
         <category android:name="android.intent.category.LAUNCHER" /> 
        </intent-filter> 
    </activity> 
    

2.Clean項目。並有一個去!

GUD運氣!

0

記住,這說明:java.lang.ClassNotFoundException: co.miniz.RageToon.RageToonViewerActivity in loader dalvik.system.PathClassLoader

檢查您的類路徑。

0

我有同樣的問題,當我用:requestWindowFeature(Window.FEATURE_NO_TITLE);

現在我用下面的代碼,並得到沒有崩潰。

this.requestWindowFeature(Window.FEATURE_NO_TITLE);