0

我一直在寻找将 csv 文件中的值显示到 Android 应用程序的方法,但没有成功。(我完全是 JAVA 和 Android 的初学者)

每次我从互联网上修改代码时,我的系统要么无法正常工作(Test.apk 已停止工作),要么在 apk 中完全不显示任何内容。

我的 Eclipse Java 透视图概览如下图所示。

http://i.stack.imgur.com/kQqyM.png

我在程序中使用的 1 个代码(在我的 Test.java 中):

package com.test;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;


import android.app.Activity;
import android.content.Context;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.view.Menu;
import au.com.bytecode.opencsv.CSVReader;


public class TEST extends Activity {

private List<String[]> readCsv;

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

}

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

public final List<String[]> readCsv(Context context) {
      List<String[]> questionList = new ArrayList<String[]>();
      AssetManager assetManager = context.getAssets();

      try {
        InputStream csvStream = assetManager.open("Velox-I OBDH.csv");
        InputStreamReader csvStreamReader = new InputStreamReader(csvStream);
        CSVReader csvReader = new CSVReader(csvStreamReader);
        String[] line;

        // throw away the header
        csvReader.readNext();

        while ((line = csvReader.readNext()) != null) {
          questionList.add(line);
        }
      } catch (IOException e) {
        e.printStackTrace();
      }
      return questionList;
    }

我使用的第二个代码最终不起作用

package com.test;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;


import android.app.Activity;
import android.content.Context;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.view.Menu;
import au.com.bytecode.opencsv.CSVReader;


public class TEST extends Activity {



public final List<String[]> readCsv(Context context) {
      List<String[]> questionList = new ArrayList<String[]>();
      AssetManager assetManager = context.getAssets();

      try {
        InputStream csvStream = assetManager.open("Velox-I OBDH.csv");
        InputStreamReader csvStreamReader = new InputStreamReader(csvStream);
        CSVReader csvReader = new CSVReader(csvStreamReader);
        String[] line;

        // throw away the header
        csvReader.readNext();

        while ((line = csvReader.readNext()) != null) {
          questionList.add(line);
        }
      } catch (IOException e) {
        e.printStackTrace();
      }
      return questionList;
    }

为了您的所有信息,我正在使用 Eclipse 开发我的 Android 应用程序,并且我也确实在我的库中包含了 openCSV.jar。所以我的问题是:

  1. 如何将 8 个 csv 文件的所有值显示到 8 个不同的活动中?

  2. 当我有 csv 阅读器代码时,如何将其放入 Java 类并将其连接到 xml 或 android 以便可以显示 csv 中的值。

csv 文件中的一些值示例:

920004,"PSAT_XBP_Channel_Mask" 920006,"PSAT_XBP_Scan_Duration" 920007,"PSAT_XBP_Extended_PAN_ID_hi"

(这 8 个 CSV 文件总共应该有 1000 多行)。

那我现在该怎么办?

4

1 回答 1

0

访问 CSV 文件将有助于我们查看原始数据。

无论如何,我建议你看看这个项目。它是一个帮助android初学者的开源项目库。它有许多 CSV 实用程序和一个 SOAP 类,用于处理我在我的一个大型应用程序中使用过的 Web 服务。它工作得很好。

https://code.google.com/p/alternate-java-bridge-library/

于 2013-05-21T15:52:49.617 回答