strings - programacion android pdf 2018
Cargue un archivo de texto simple en Android Studio (3)
Obtuve un nuevo proyecto usando el nuevo Android Studio IDE de Google.
Estoy intentando cargar un archivo de texto simple usando un InputStreamReader
. Recibo una excepción de archivo no encontrado. Ahora no hay activos / carpeta. Intenté crear uno y agregar mi archivo en muchos puntos diferentes (en la raíz del proyecto, en la raíz del archivo .java, etc.) He intentado mover el archivo pero aún así no obtener el archivo encontró.
Ahora que nunca fue un problema usar Eclipse ya que hay una carpeta de activos creada por cualquier plantilla.
¿Alguien sabe a dónde deben ir los activos o cómo cargarlos?
Aquí está el código utilizado, falla en .open ():
InputStream iS = resources.getAssets().open("bla.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(iS));
También probé este código en Eclipse, funciona y el contenido del archivo se carga. Por lo tanto, es probable que haya un paso necesario en Android Studio.
- Paso 1: Abrir en el archivo Name_Project-Name_Project.iml.
- Ver la línea: option name = "ASSETS_FOLDER_RELATIVE_PATH" value = "/ src / main / assets"
- Paso 2: crea una subcarpeta "assets" en la carpeta principal.
- Paso 3: coloca el archivo en esta carpeta.
- Paso 4: cárgalo. Hecho.
Este código funcionará para usted. Traerá todos los datos del archivo.
public class Quiz extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
try {
PlayWithRawFiles();
} catch (IOException e) {
Toast.makeText(getApplicationContext(),
"Problems: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
}// onCreate
public void PlayWithRawFiles() throws IOException {
String str="";
StringBuffer buf = new StringBuffer();
InputStream is = this.getResources().openRawResource(R.raw.ashraf);
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
if (is!=null) {
while ((str = reader.readLine()) != null) {
buf.append(str + "/n" );
}
}
is.close();
TextView tv=(TextView)findViewById(R.id.tv1);
tv.setText(buf.toString());
}//
}
La respuesta correcta no funcionó para mí exactamente. Esto funciona:
Vaya a la vista del proyecto y luego vaya a la app/src/main
y cree nuevos assets
directorio
para cargar el archivo:
InputStream is = getApplicationContext().getAssets().open("bla.txt");
o:
InputStream is = context.getAssets().open("bla.txt");
y luego conviértalo en una cadena de cualquier forma que desee, ejemplos aquí
video detallado de cómo hacerlo (no mío)