2012-03-21 122 views
0

我在应用程序中使用opencsv,但每当我尝试读取我的csv文件时,应用程序都会崩溃。在应用程序中打开csv文件时android应用程序崩溃

下面是我使用的代码:

​​

每当我尝试注释掉这些行,应用程序工作得很好。这可能是什么问题?

这里是每当我按一下按钮用于打开使用上面的代码的新的活动日志:

03-21 11:59:28.147: E/AndroidRuntime(825): FATAL EXCEPTION: main 
03-21 11:59:28.147: E/AndroidRuntime(825): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.meralco.pms/com.meralco.pms.SinActivity}: java.lang.NullPointerException 
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
03-21 11:59:28.147: E/AndroidRuntime(825): at android.os.Handler.dispatchMessage(Handler.java:99) 
03-21 11:59:28.147: E/AndroidRuntime(825): at android.os.Looper.loop(Looper.java:123) 
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread.main(ActivityThread.java:4627) 
03-21 11:59:28.147: E/AndroidRuntime(825): at java.lang.reflect.Method.invokeNative(Native Method) 
03-21 11:59:28.147: E/AndroidRuntime(825): at java.lang.reflect.Method.invoke(Method.java:521) 
03-21 11:59:28.147: E/AndroidRuntime(825): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
03-21 11:59:28.147: E/AndroidRuntime(825): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
03-21 11:59:28.147: E/AndroidRuntime(825): at dalvik.system.NativeStart.main(Native Method) 
03-21 11:59:28.147: E/AndroidRuntime(825): Caused by: java.lang.NullPointerException 
03-21 11:59:28.147: E/AndroidRuntime(825): at com.meralco.pms.SinActivity.onCreate(SinActivity.java:36) 
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
03-21 11:59:28.147: E/AndroidRuntime(825): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
03-21 11:59:28.147: E/AndroidRuntime(825): ... 11 more 
+0

您可能无法获得资产sample.csv的InputStreamReader.where资产是您的csv – 2012-03-21 04:48:02

回答

0

请仔细阅读整个日志。

03-21 11:59:28.147: E/AndroidRuntime(825): Caused by: java.lang.NullPointerException 
03-21 11:59:28.147: E/AndroidRuntime(825): at com.meralco.pms.SinActivity.onCreate(SinActivity.java:36) 

见行数36,如果你做任何错误there.Post的onCreate代码,这样可以看看

希望这有助于。

+0

经历的日志,发现线36个指向 'textResult.setText( “SINNNNNNNNNSSSSSSS”);' figured'android:src =“@ + id/text”'should should''android:id =“@ + id/text”' changed它现在我的代码工作! :) 谢谢! – yojoannn 2012-03-21 06:07:57

0
BufferedReader CSVFile = 
     new BufferedReader(new FileReader(new InputStreamReader(getAssets().open("sample.csv"))); 

    String dataRow = CSVFile.readLine(); 


    while (dataRow != null){ 
    String[] dataArray = dataRow.split(","); 
    for (String item:dataArray) { 
     System.out.print(item + "\t"); 
    } 
    System.out.println(); 
    dataRow = CSVFile.readLine(); 
    } 
    // Close the file once all data has been read. 
    CSVFile.close(); 

**或* * 使用CSV阅读

CsvReader products = new CsvReader("sample.csv"); 

       products.readHeaders(); 

       while (products.readRecord()) 
       { 
        String productID = products.get("field1"); 
        String productName = products.get("field2"); 
        String supplierID = products.get("field3"); 
        String categoryID = products.get("field4"); 
    } 
    products.close(); 

希望它对你有帮助

+0

感谢您的这一点。可能很快就会需要它。 – yojoannn 2012-03-21 06:11:19