2012-06-26 3 views
0

데이터를 파싱하고 textview에 표시하고 있습니다. 매니페스트 파일에서 필요한 모든 권한과 필요한 권한을 초기화했지만. 여전히 치명적인 오류가 발생합니다. 코드를 살펴보십시오. 미리 감사드립니다.치명적 예외 주 : 활동 구성 요소를 시작할 수 없습니다.

안드로이드 2.1 i.ie API-7..ut를 사용하면 응용 프로그램이 성공적으로 실행되고 있습니다. 그러나 안드로이드 4.0.3 즉 API-15로 교체하면 동일한 reeor ..가 throw됩니다. logcat에서 언급했듯이 파일

주요 활동

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

View layout = findViewById(R.id.layout); 


TextView id[]; 
TextView Name[]; 
TextView Email[]; 
TextView Address[]; 


try{ 
    SAXParserFactory saxPF= SAXParserFactory.newInstance(); 
    SAXParser saxP = saxPF.newSAXParser(); 
    XMLReader xmlR = saxP.getXMLReader(); 

    URL url = new URL("http://xyz"); 

    XMLHandler myXMLHandler = new XMLHandler(); 
    xmlR.setContentHandler(myXMLHandler); 
    xmlR.parse(new InputSource(url.openStream())); 

}catch(Exception e){ 
    e.printStackTrace(); 
} 


data= XMLHandler.data; 

id = new TextView[data.getId().size()]; 
Name = new TextView[data.getName().size()]; 
Email = new TextView[data.getEmail().size()]; 


for(int i=0 ; i <data.getName().size(); i++) 
{ 
    id[i] = new TextView (this); 
    id[i].setText("Id : " + data.getId().get(i)); 


    Name[i] = new TextView(this); 
    Name[i].setText("Name : " + data.getName().get(i)); 


    Email[i] = new TextView(this); 
    Email[i].setText("Email : " + data.getEmail().get(i)); 


((ViewGroup)layout).addView(id[i]); 
((ViewGroup)layout).addView(Name[i]); 
((ViewGroup)layout).addView(Email[i]); 


} 

XMLGettersSetters 클래스

public class XMLGettersSetters { 

    private ArrayList<String> id = new ArrayList<String>(); 
    private ArrayList<String> Name = new ArrayList<String>(); 
    private ArrayList<String> Email = new ArrayList<String>(); 


    public ArrayList<String> getId(){ 

     return id; 
    } 

    public void setId(String id){ 
     this.id.add(id); 
    } 



    public ArrayList<String> getName(){ 
     return Name; 
    } 

    public void setName(String name) 
    { 
     this.Name.add(name); 
    } 



    public ArrayList<String> getEmail(){ 
     return Email; 

    } 
    public void setEmail(String email){ 
     this.Email.add(email); 

    } 




} 

XMLHandler 클래스

,536,913 63,210
public class XMLHandler extends DefaultHandler { 
    String elementValue= null; 
    Boolean elementOn = false; 
    public static XMLGettersSetters data = null; 

    public static XMLGettersSetters getXMLData(){ 
     return data; 
    } 

    public static void setXMLData(XMLGettersSetters data) 
    { 
     XMLHandler.data=data; 
    } 



    public void startElement(String uri,String localName,String qName,Attributes attributes) throws SAXException{ 
     elementOn=true; 



     if(localName.equals("ExaReceipts")){ 
      data = new XMLGettersSetters(); 

     }else if(localName.equals("Organisation")){ 
    } 
    } 

    public void endElement(String uri,String localName,String qName)throws SAXException 
    { 

     elementOn = false; 

     if(localName.equalsIgnoreCase("id")) 
      data.setId(elementValue); 

     else if(localName.equalsIgnoreCase("Name")) 
      data.setName(elementValue); 

     else if(localName.equalsIgnoreCase("Email")) 
     data.setEmail(elementValue); 
    } 



    public void characters (char[] ch , int start , int length)throws SAXException 
    { 
     if(elementOn){ 
      elementValue= new String(ch,start,length); 
      elementOn=false; 
     } 

    } 

} 

의 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.spinnertest1" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="15" /> 
<uses-permission android:name="android.permission.INTERNET" />" 
    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:name=".SpinnerTest1Activity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

로그 캣

06-26 17:41:38.482: W/dalvikvm(2129): threadid=1: thread exiting with uncaught exception (group=0x409c01f8) 
06-26 17:41:38.492: E/AndroidRuntime(2129): FATAL EXCEPTION: main 
06-26 17:41:38.492: E/AndroidRuntime(2129): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.spinnertest1/com.spinnertest1.SpinnerTest1Activity}: java.lang.NullPointerException 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at android.app.ActivityThread.access$600(ActivityThread.java:123) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at android.os.Looper.loop(Looper.java:137) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at android.app.ActivityThread.main(ActivityThread.java:4424) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at dalvik.system.NativeStart.main(Native Method) 
06-26 17:41:38.492: E/AndroidRuntime(2129): Caused by: java.lang.NullPointerException 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at com.spinnertest1.SpinnerTest1Activity.onCreate(SpinnerTest1Activity.java:58) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at android.app.Activity.performCreate(Activity.java:4465) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 
06-26 17:41:38.492: E/AndroidRuntime(2129):  ... 11 more 
+2

전체 스택 추적을 게시하고 코드에서 던져진 행을 표시하십시오. – Jave

+0

LogCat 오류 – Xenione

+0

보기 레이아웃 = findViewById (R.id.layout); 이 대신 시도하십시오 레이아웃보기 = (보기) findViewById (R.id.layout); – rajpara

답변

0

당신이 execute() 메소드를 호출하고 있습니까?

execute(URL); 

http://exareceipts.exa.com.au/request_queue/invoice_request/get_test_data

가 사용하고있는 URL은 XML 태그에 있지 않습니다.

+0

"이 아닙니다 "정교 해주세요" – Shweta

+0

"OnCreate method"안에 다음 코드를 추가하면 응용 프로그램이 작동합니다 .. 사용하지 말고 권장되는 작업이지만 StrictMode.ThreadPolicy 정책 = new StrictMode.ThreadPolicy.Builder(). permitAll(). build(); StrictMode.setThreadPolicy (policy); – Shweta

관련 문제