我一直在寻找将 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。所以我的问题是:
如何将 8 个 csv 文件的所有值显示到 8 个不同的活动中?
当我有 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 多行)。
那我现在该怎么办?