2013-09-29 4 views
1

을 실행하는 동안 치명적인 예외가 표시됩니다. 응용 프로그램이 예기치 않게 중지되었다는 오류가 표시됩니다. 내 logcat ..에서 너무 많은 오류가 표시됩니다. 오류와 나는xml 안드로이드에서 구문 분석 오류가 발생했습니다. 아래 코드를 실행하는 동안

XMLdemo.java 

package com.example.myfirstapplication; 

import java.io.IOException;  
import java.io.InputStream;  
import java.util.ArrayList; 
import java.util.Iterator; 

import org.xmlpull.v1.XmlPullParser; 
import org.xmlpull.v1.XmlPullParserException; 
import org.xmlpull.v1.XmlPullParserFactory; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.widget.TextView; 

class Product 
{ 

public String name; 
public String quantity; 
public String color; 

    } 
    public class XMLDemo extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    XmlPullParserFactory pullParserFactory; 
    try { 
     pullParserFactory = XmlPullParserFactory.newInstance(); 
     XmlPullParser parser = pullParserFactory.newPullParser(); 

      InputStream in_s = getApplicationContext().getAssets().open("temp.xml"); 
      parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); 
      parser.setInput(in_s, null); 

      parseXML(parser); 

    } catch (XmlPullParserException e) { 

     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

} 

private void parseXML(XmlPullParser parser) throws XmlPullParserException,IOException 
{ 
    ArrayList<Product> products = null; 
    int eventType = parser.getEventType(); 
    Product currentProduct = null; 

    while (eventType != XmlPullParser.END_DOCUMENT){ 
     String name = null; 
     switch (eventType){ 
      case XmlPullParser.START_DOCUMENT: 
       products = new ArrayList(); 
       break; 
      case XmlPullParser.START_TAG: 
       name = parser.getName(); 
       if (name == "product"){ 
        currentProduct = new Product(); 
       } else if (currentProduct != null){ 
        if (name == "productname"){ 
         currentProduct.name = parser.nextText(); 
        } else if (name == "productcolor"){ 
         currentProduct.color = parser.nextText(); 
        } else if (name == "productquantity"){ 
         currentProduct.quantity= parser.nextText(); 
        } 
       } 
       break; 
      case XmlPullParser.END_TAG: 
       name = parser.getName(); 
       if (name.equalsIgnoreCase("product") && currentProduct != null){ 
        products.add(currentProduct); 
       } 
     } 
     eventType = parser.next(); 
    } 

    printProducts(products); 
} 



private void printProducts(ArrayList<Product> products) 
{ 
    String content = ""; 
    Iterator<Product> it = products.iterator(); 
    while(it.hasNext()) 
    { 
     Product currProduct = it.next(); 
     content = content + "nnnProduct :" + currProduct.name + "n"; 
     content = content + "Quantity :" + currProduct.quantity + "n"; 
     content = content + "Color :" + currProduct.color + "n"; 

    } 

    TextView display = (TextView)findViewById(R.id.info); 
    display.setText(content); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 
    } 

MY LAYOUT main.xml에 .... 도와주세요 .... 너무

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<TextView 
    android:id="@+id/info" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="20dp" 
    android:text="TextView" /> 

    </LinearLayout> 

안드로이드 manifest.xml을 치명적인 예외가

,536,913,632 10
<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.myfirstapplication" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.myfirstapplication.MainActivity" 
     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.myfirstapplication.Main2Activity" 
     android:label="@string/title_activity_main2" > 
    </activity> 
</application> 

</manifest> 

로그 캣 오류 당신은 매니페스트에서 올바른 활동 이름을 언급하지 않은

09-29 19:55:21.378: D/AndroidRuntime(275): Shutting down VM 
09-29 19:55:21.378: W/dalvikvm(275): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
09-29 19:55:21.398: E/AndroidRuntime(275): FATAL EXCEPTION: main 
09-29 19:55:21.398: E/AndroidRuntime(275): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.myfirstapplication/com.example.myfirstapplication.MainActivity}: java.lang.ClassNotFoundException: com.example.myfirstapplication.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.myfirstapplication-1.apk] 
09-29 19:55:21.398: E/AndroidRuntime(275): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 
09-29 19:55:21.398: E/AndroidRuntime(275): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
09-29 19:55:21.398: E/AndroidRuntime(275): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
09-29 19:55:21.398: E/AndroidRuntime(275): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
09-29 19:55:21.398: E/AndroidRuntime(275): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-29 19:55:21.398: E/AndroidRuntime(275): at android.os.Looper.loop(Looper.java:123) 
09-29 19:55:21.398: E/AndroidRuntime(275): at android.app.ActivityThread.main(ActivityThread.java:4627) 
09-29 19:55:21.398: E/AndroidRuntime(275): at java.lang.reflect.Method.invokeNative(Native Method) 
09-29 19:55:21.398: E/AndroidRuntime(275): at java.lang.reflect.Method.invoke(Method.java:521) 
09-29 19:55:21.398: E/AndroidRuntime(275): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
09-29 19:55:21.398: E/AndroidRuntime(275): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
09-29 19:55:21.398: E/AndroidRuntime(275): at dalvik.system.NativeStart.main(Native Method) 
09-29 19:55:21.398: E/AndroidRuntime(275): Caused by: java.lang.ClassNotFoundException: com.example.myfirstapplication.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.myfirstapplication-1.apk] 
09-29 19:55:21.398: E/AndroidRuntime(275): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
09-29 19:55:21.398: E/AndroidRuntime(275): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
09-29 19:55:21.398: E/AndroidRuntime(275): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
09-29 19:55:21.398: E/AndroidRuntime(275): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
09-29 19:55:21.398: E/AndroidRuntime(275): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) 
09-29 19:55:21.398: E/AndroidRuntime(275): ... 11 more 
09-29 20:12:36.938: D/AndroidRuntime(298): Shutting down VM 
09-29 20:12:36.998: W/dalvikvm(298): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
09-29 20:12:37.058: E/AndroidRuntime(298): FATAL EXCEPTION: main 
09-29 20:12:37.058: E/AndroidRuntime(298): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.myfirstapplication/com.example.myfirstapplication.MainActivity}: java.lang.ClassNotFoundException: com.example.myfirstapplication.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.myfirstapplication-1.apk] 
09-29 20:12:37.058: E/AndroidRuntime(298): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 
09-29 20:12:37.058: E/AndroidRuntime(298): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
09-29 20:12:37.058: E/AndroidRuntime(298): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
09-29 20:12:37.058: E/AndroidRuntime(298): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
09-29 20:12:37.058: E/AndroidRuntime(298): at android.os.Handler.dispatchMessage(Handler.java:99) 
09-29 20:12:37.058: E/AndroidRuntime(298): at android.os.Looper.loop(Looper.java:123) 
09-29 20:12:37.058: E/AndroidRuntime(298): at android.app.ActivityThread.main(ActivityThread.java:4627) 
09-29 20:12:37.058: E/AndroidRuntime(298): at java.lang.reflect.Method.invokeNative(Native Method) 
09-29 20:12:37.058: E/AndroidRuntime(298): at java.lang.reflect.Method.invoke(Method.java:521) 
09-29 20:12:37.058: E/AndroidRuntime(298): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
09-29 20:12:37.058: E/AndroidRuntime(298): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
09-29 20:12:37.058: E/AndroidRuntime(298): at dalvik.system.NativeStart.main(Native Method) 
09-29 20:12:37.058: E/AndroidRuntime(298): Caused by: java.lang.ClassNotFoundException: com.example.myfirstapplication.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.myfirstapplication-1.apk] 
09-29 20:12:37.058: E/AndroidRuntime(298): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
09-29 20:12:37.058: E/AndroidRuntime(298): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
09-29 20:12:37.058: E/AndroidRuntime(298): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
09-29 20:12:37.058: E/AndroidRuntime(298): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
09-29 20:12:37.058: E/AndroidRuntime(298): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) 
09-29 20:12:37.058: E/AndroidRuntime(298): ... 11 more 
+1

문자열을 비교하는 데 ==를 사용하지 마십시오. 그게 문제가 아닌 것은 확실하지만 START_TAG 사례가이 문제를 다루고 있으며 잘못된 것입니다. –

+0

프로젝트 빌드를 새로 고쳐보십시오! 그것도 당신에게 ClassNotFoundException를 제공합니다. – ashu

답변

1

을 실행하는 동안. MainActivity에 대해 언급했습니다. 대신 XMLDemo 여야합니다.

com.example.myfirstapplication.MainActivity를 com.example.myfirstapplication.XMLDemo로 바꾸면됩니다. 적절한 액티비티 이름이 매니페스트에 없으므로 ClassNotFoundException이 발생합니다.

관련 문제