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;
    }

私が使用した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 を含めました。だから私の質問は:

  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 ユーティリティと、私が大きなアプリケーションの 1 つで使用した Web サービスを処理するための SOAP クラスがあります。それは非常にうまく機能します。

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

于 2013-05-21T15:52:49.617 に答える