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;
}
私が使用した2番目のコードは機能しません
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 アプリケーションを開発しており、libs にも 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 行を超える必要があります)。
それで、私は今何をすべきですか?