【问题标题】:How do I import a text list or CSV file?如何导入文本列表或 CSV 文件?
【发布时间】:2019-07-01 21:23:26
【问题描述】:

我认为将文本文件或 CSV 文件从我的计算机复制到手机很容易,但我需要应用程序读取文本文件并能够通过单击按钮随机化列表。

我创建了一个非常简单的应用程序,它获取电影标题列表并在单击按钮时将该列表随机化到列表视图中。

现在我需要将包含更大列表的文本或 CSV 文件下载到应用程序中。

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

Button getList;
ListView movieList;
ArrayList<String> moviePicks;
long seed = System.nanoTime();



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    getList = (Button) findViewById(R.id.btnGetList);
    getList.setOnClickListener(this);

    movieList = (ListView) findViewById(R.id.LV_Movies);

    moviePicks = new ArrayList<String>();

    moviePicks.add("Star Wars: A New Hope");
    moviePicks.add("Star Wars: Revenge of the Jedi");
    moviePicks.add("Die Hard");
    moviePicks.add("The Pink Panther");
    moviePicks.add("Hunt for Red October");
    moviePicks.add("Swat");
    moviePicks.add("Entrapment");
    moviePicks.add("Back to the Future");
    moviePicks.add("Jaws");
    moviePicks.add("The Fast and the Furious");
    moviePicks.add("Rounders");
    moviePicks.add("Pearl Harbor");
    moviePicks.add("Doom");
    moviePicks.add("Hells Gate");
    moviePicks.add("Avatar");
    moviePicks.add("Coaster");
    moviePicks.add("Brick Mansions");


}

@Override
public void onClick(View view) {

    Collections.shuffle(moviePicks, new Random(seed));

    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, moviePicks);

    movieList.setAdapter(arrayAdapter);

}

如何将文本文件作为随机列表读入?

【问题讨论】:

    标签: android listview arraylist import


    【解决方案1】:

    如果您想在应用程序中内置一些默认数据,我建议您将 CSV 添加到您的资产文件夹中,然后使用 FileInputStream 阅读——查看此 SO 帖子了解更多信息:

    Reading CSV file in resources folder android

    【讨论】:

    • 不一定是“默认”数据。实际列表将根据列表中项目的增加或减少不时更新。因此,在列表本身已更改时能够上传列表是一项主要任务。
    • @DaveHenderson 您是否考虑过将 CSV 文件托管在远程服务器上?我认为这比要求用户在他们的设备上本地打开 CSV 更好的用户体验(这是可能的,但 Android 不能很好地处理本地文件)
    • 嘿...是的,我很快就发现了这一点,挑战就在这里。现在,它使用的列表是电影列表。但是,如果我想将该列表更改为汽车或蔬菜列表怎么办?更改列表的能力确实是关键。我可以从 DropBox 抓取文件上传到应用程序,但将其存储在设备上然后从中读取仍然是挂机。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 2011-04-07
    • 2012-06-20
    • 2021-12-26
    相关资源
    最近更新 更多