如何将 csv 文件中的数据打印到 secondactivity?
How to print data from csv file onto secondactivity?
我正在创建一个应用程序,该应用程序在其 Raw 资源文件夹中存储了一个 csv 文件,当我单击 main Activity 中的一个按钮时,它应该在第二个 Activity 中打印 csv 文件的数据].但是当我启动应用程序然后使用按钮启动第二个 activity 时,它的输出是空白的...
我已经尝试使用堆栈溢出的各种代码,但无法获得预期的结果。我的 csv 文件很长,但我在这里保留了一部分,所以请多多包涵 ;-) :
6200,30,10,9
6200 N,30,10,9
6200 NR,30,10,9
6200 ZNR,30,10,9
6200 ZZNR,30,10,9
6300,35,10,11
6300 2RS,35,10,11
6300 RS,35,10,11
6300 Z,35,10,11
6300 ZZ,35,10,11
6201,32,12,10
6201 2RS,32,12,10
6201 N,32,12,10
6201 NR,32,12,10
6201 RS,32,12,10
6201 Z,32,12,10
6201 ZNR,32,12,10
6201 ZZ,32,12,10
这是我的代码:-
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = findViewById(R.id.button1);
Button button2 = findViewById(R.id.button2);
Button button3 = findViewById(R.id.button3);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SecondActivity();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ThirdActivity();
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FourthActivity();
}
});
}
public void SecondActivity() {
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
public void ThirdActivity(){
Intent intent = new Intent(this, ThirdActivity.class);
startActivity(intent);
}
public void FourthActivity(){
Intent intent = new Intent(this,FourthActivity.class);
startActivity(intent);
}
SecondActivity.java
public class SecondActivity extends AppCompatActivity {
InputStream inputStream;
String[] data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
inputStream = getResources().openRawResource(R.raw.bearingdata);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
try {
String csvLine;
while ((csvLine = reader.readLine()) != null)
{
data=csvLine.split(",");
try{
Log.e("Data ",""+data[0]) ;
Log.e("Data ",""+data[0]+""+data[1]+""+data[2]) ;
}catch (Exception e){
Log.e("Problem",e.toString());
}
}
}
catch (IOException ex) {
throw new RuntimeException("Error in reading CSV file: "+ex);
}
}
所以我是不是遗漏了一些东西,比如为 csv 文件创建一个单独的 java class 还是我的一些代码遗漏了什么???请帮忙,因为我只是想学习一些编码并正确地做到这一点。
另外,我想在 SecondActivity 上以列表视图显示 csv 文件。
@Nachiketa,
我已经尝试了您的共享代码并使用资产管理器进行了修改,并且能够在 logcat 中看到数据。请看下面的代码,
AssetManager am = getAssets();
try {
InputStream is = am.open("one.csv");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String csvLine;
while ((csvLine = reader.readLine()) != null)
{
data=csvLine.split(",");
try{
Log.e("Data ",""+data[0]) ;
Log.e("Data ",""+data[0]+""+data[1]+""+data[2]) ;
}catch (Exception e){
Log.e("Problem",e.toString());
}
}
} catch (IOException e) {
e.printStackTrace();
}
如果解决了您的问题,请检查并标记为已回答。
谢谢
我正在创建一个应用程序,该应用程序在其 Raw 资源文件夹中存储了一个 csv 文件,当我单击 main Activity 中的一个按钮时,它应该在第二个 Activity 中打印 csv 文件的数据].但是当我启动应用程序然后使用按钮启动第二个 activity 时,它的输出是空白的...
我已经尝试使用堆栈溢出的各种代码,但无法获得预期的结果。我的 csv 文件很长,但我在这里保留了一部分,所以请多多包涵 ;-) :
6200,30,10,9
6200 N,30,10,9
6200 NR,30,10,9
6200 ZNR,30,10,9
6200 ZZNR,30,10,9
6300,35,10,11
6300 2RS,35,10,11
6300 RS,35,10,11
6300 Z,35,10,11
6300 ZZ,35,10,11
6201,32,12,10
6201 2RS,32,12,10
6201 N,32,12,10
6201 NR,32,12,10
6201 RS,32,12,10
6201 Z,32,12,10
6201 ZNR,32,12,10
6201 ZZ,32,12,10
这是我的代码:-
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = findViewById(R.id.button1);
Button button2 = findViewById(R.id.button2);
Button button3 = findViewById(R.id.button3);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SecondActivity();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ThirdActivity();
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FourthActivity();
}
});
}
public void SecondActivity() {
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
public void ThirdActivity(){
Intent intent = new Intent(this, ThirdActivity.class);
startActivity(intent);
}
public void FourthActivity(){
Intent intent = new Intent(this,FourthActivity.class);
startActivity(intent);
}
SecondActivity.java
public class SecondActivity extends AppCompatActivity {
InputStream inputStream;
String[] data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
inputStream = getResources().openRawResource(R.raw.bearingdata);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
try {
String csvLine;
while ((csvLine = reader.readLine()) != null)
{
data=csvLine.split(",");
try{
Log.e("Data ",""+data[0]) ;
Log.e("Data ",""+data[0]+""+data[1]+""+data[2]) ;
}catch (Exception e){
Log.e("Problem",e.toString());
}
}
}
catch (IOException ex) {
throw new RuntimeException("Error in reading CSV file: "+ex);
}
}
所以我是不是遗漏了一些东西,比如为 csv 文件创建一个单独的 java class 还是我的一些代码遗漏了什么???请帮忙,因为我只是想学习一些编码并正确地做到这一点。
另外,我想在 SecondActivity 上以列表视图显示 csv 文件。
@Nachiketa,
我已经尝试了您的共享代码并使用资产管理器进行了修改,并且能够在 logcat 中看到数据。请看下面的代码,
AssetManager am = getAssets();
try {
InputStream is = am.open("one.csv");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String csvLine;
while ((csvLine = reader.readLine()) != null)
{
data=csvLine.split(",");
try{
Log.e("Data ",""+data[0]) ;
Log.e("Data ",""+data[0]+""+data[1]+""+data[2]) ;
}catch (Exception e){
Log.e("Problem",e.toString());
}
}
} catch (IOException e) {
e.printStackTrace();
}
如果解决了您的问题,请检查并标记为已回答。
谢谢