0

3 日間試しましたが、プログラムがこのファイルまたは他のファイルから読み取ることができません。助けてください!別のプロジェクトを作成してこれを配置しようとしましたが、どちらも機能しませんでした。

    TextView orangeTitle;
    String line;

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gameplay);
    // Show the Up button in the action bar.
    setupActionBar();
    try {
        cardReader(null);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    setOrange();
}

public String cardReader(String args[]) throws IOException
{
    FileInputStream fis = new FileInputStream("C:\\Users\\Alex\\Documents\\Android Development\\HumorMe\\assets\\orangecards.txt");
    BufferedReader bfr = new BufferedReader(new InputStreamReader(fis));
    line = bfr.readLine();
    bfr.close();
    return line;
}

public void setOrange() 
{
    orangeTitle = (TextView)findViewById(R.id.textView1);
    orangeTitle.setText(line);
}
4

2 に答える 2

0

PC 上のパスを介してアセットにアクセスすることはできません。方法については、 http ://developer.android.com/reference/android/content/ContextWrapper.html#getAssets%28%29およびhttp://developer.android.com/reference/android/content/res/AssetManager.htmlを参照してください。アセット ファイルにアクセスします。例えば:

InputStream is = getAssets().open("orangecards.txt")
于 2013-05-06T21:05:01.990 に答える
0

コンピューターからファイルを読み込もうとしているようですが、コードが別の Android デバイスで実行されているため、これは不可能です。デバイスの SD カードにテキスト ファイルを置き、次のようなものを実行してみてください。

FileInputStream fis = new FileInputStream(Environment.getExternalStorageDirectory()+"/test.txt");
于 2013-05-06T20:58:29.623 に答える