我一直在寻找方法来显示我的csv文件中的值到Android应用程序,但没有成功。(我完全是JAVA和Android的初学者)
每次我从互联网上获取要修改的代码时,我的系统要么不工作(Test.apk已经停止工作),要么在apk中完全不显示任何内容。
我的eclipse Java透视图概述如下图所示。
https://i.stack.imgur.com/kQqyM.png我在程序中使用的代码之一(在我的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行)。
那我现在该怎么办呢?
如果能访问CSV文件,我们就能看到原始数据了。
无论如何,我建议你看看这个项目。它是一个开源项目库,可以帮助android初学者。它有许多CSV实用程序以及用于处理我在一个大型应用程序中使用的web服务的SOAP类。它工作得很好。
https://code.google.com/p/alternate-java-bridge-library/