Я посмотрел вокруг, чтобы выяснить, где сохранить общие текстовые файлы для чтения в моем проекте Android, но не смог найти однозначного ответа. Когда я сохраняю свой файл "foo.txt" в моей папке res / raw, как кто-то предложил (мне пришлось создать необработанную папку), файл R.java получает ошибку для этих строк:
public static final class raw {
public static final int 1_1=0x7f050000;
}
Это потому, что мой файл содержит строку "1_1" в первой строке, которую я хочу иметь. Где в структуре папок я должен поместить свой файл, чтобы иметь возможность читать его? Файл создан не на Android, а вручную мной.
Может ли кто-нибудь также посоветовать, как читать файл в следующем формате? Я хочу иметь возможность читать строки и числа по одному и вставлять в переменные Java в моем проекте Android. Лучше всего разделять запятыми или пробелами?
1_1
String
Int
Int String String Int Int Float Float Int Int
Int String String Int Int Float Float Int Int
Int String String Int Int Float Float Int Int
Int String String Int Int Float Float Int Int
Int String String Int Int Float Float Int Int
Int String String Int Int Float Float Int Int
Обновлено с большим кодом:
package com.my.package;
import java.io.File;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
//public class GameActivity extends FragmentActivity implements OnClickListener {
public class GameActivity extends Activity implements OnClickListener{
private ImageButton leftPauseButton;
private ImageButton rightPauseButton;
private ImageButton leftButton1;
private ImageButton leftButton2;
private ImageButton leftButton3;
private ImageButton rightButton1;
private ImageButton rightButton2;
private ImageButton rightButton3;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.testlayout);
TextView txtView = (TextView) (findViewById(R.id.testID_canBeRemoved));
//Did not work
//int resourceId = this.getResources().getIdentifier("com.my.package:raw/foo.txt", null, null);
//File f = new File("com.my.package:raw/foo.txt");
//Does not work - file.exists() returns a zero value
File file = new File("assets/foo.txt");
if ( file.exists() ){
txtView.setText("Exists");
}
else{
txtView.setText("Does not exist");
}
// InitiateUIComponents();
}
//This is for using another xml layout
private void InitiateUIComponents(){
leftPauseButton = (ImageButton) (findViewById(R.id.leftPauseButtonID));
rightPauseButton = (ImageButton) (findViewById(R.id.rightPauseButtonID));
leftButton1 = (ImageButton) (findViewById(R.id.leftMenuButton1ID));
leftButton2 = (ImageButton) (findViewById(R.id.leftMenuButton2ID));
leftButton3 = (ImageButton) (findViewById(R.id.leftMenuButton3ID));
rightButton1 = (ImageButton) (findViewById(R.id.rightMenuButton1ID));
rightButton2 = (ImageButton) (findViewById(R.id.rightMenuButton2ID));
rightButton3 = (ImageButton) (findViewById(R.id.rightMenuButton3ID));
leftPauseButton.setOnClickListener(this);
rightPauseButton.setOnClickListener(this);
leftButton1.setOnClickListener(this);
leftButton2.setOnClickListener(this);
leftButton3.setOnClickListener(this);
rightButton1.setOnClickListener(this);
rightButton2.setOnClickListener(this);
rightButton3.setOnClickListener(this);
}
//This is for using another xml layout
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.leftPauseButtonID:
Toast.makeText(this, "Left pause button clicked!", Toast.LENGTH_SHORT).show();
break;
case R.id.rightPauseButtonID:
Toast.makeText(this, "Right pause button clicked!", Toast.LENGTH_SHORT).show();
break;
case R.id.leftMenuButton1ID:
Toast.makeText(this, "Left menu button 1 clicked!", Toast.LENGTH_SHORT).show();
break;
case R.id.leftMenuButton2ID:
Toast.makeText(this, "Left menu button 2 clicked!", Toast.LENGTH_SHORT).show();
break;
case R.id.leftMenuButton3ID:
Toast.makeText(this, "Left menu button 3 clicked!", Toast.LENGTH_SHORT).show();
break;
case R.id.rightMenuButton1ID:
Toast.makeText(this, "Right menu button 1 clicked!", Toast.LENGTH_SHORT).show();
break;
case R.id.rightMenuButton2ID:
Toast.makeText(this, "Right menu button 2 clicked!", Toast.LENGTH_SHORT).show();
break;
case R.id.rightMenuButton3ID:
Toast.makeText(this, "Right menu button 3 clicked!", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
А вот XML-файл для этого теста:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/testID_canBeRemoved"
android:text="Blabla"
>
</TextView>
</LinearLayout>