studio strings programacion móviles libro desarrollo curso array aplicaciones android android-studio assets streamreader

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.


  1. Paso 1: Abrir en el archivo Name_Project-Name_Project.iml.
  2. Ver la línea: option name = "ASSETS_FOLDER_RELATIVE_PATH" value = "/ src / main / assets"
  3. Paso 2: crea una subcarpeta "assets" en la carpeta principal.
  4. Paso 3: coloca el archivo en esta carpeta.
  5. 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)