¿Por qué estoy recibiendo este error "recurso esperado de tipo raw" en Android Studio?

Estaba intentando fijar el papel pintado del defecto usando un botón pero por alguna razón cuando fijé el InputStream en el método de OnCreate, consigo este error "recurso esperado del tipo crudo". Estoy referenciando la carpeta dibujable y usando la imagen icon.png que está en la carpeta dibujable. Yo estaba siguiendo los tutoriales en la serie NewBoston y parece que funciona bien para Travis, pero por alguna razón la mía no funciona en Android Studio. ¿Cuál podría ser el error? Gracias

Camera.java:

package com.example.user.cameraapplication; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.widget.Button; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.Switch; import java.io.IOException; import java.io.InputStream; /** * Created by user on 16-08-2015. */ public class Camera extends Activity implements View.OnClickListener{ ImageView iv; Button b1,b2; ImageButton img; Intent i; final static int cameractivity = 0; Bitmap b; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.photo); inititalize(); InputStream is = getResources().openRawResource(R.drawable.icon); b = BitmapFactory.decodeStream(is); } private void inititalize() { iv = (ImageView)findViewById(R.id.iView1); img = (ImageButton)findViewById(R.id.imgbtn); b1 = (Button)findViewById(R.id.btn1); b2 = (Button)findViewById(R.id.btn2); b1.setOnClickListener(this); b2.setOnClickListener(this); } @Override public void onClick(View v) { switch(v.getId()){ case R.id.btn1: try { getApplicationContext().setWallpaper(b); } catch (IOException e) { e.printStackTrace(); } break; case R.id.imgbtn: i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(i,cameractivity); break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode==RESULT_OK) { Bundle extras = data.getExtras(); b = (Bitmap)extras.get("data"); iv.setImageBitmap(b); } } } 

Imagen:

Imagen

2 Solutions collect form web for “¿Por qué estoy recibiendo este error "recurso esperado de tipo raw" en Android Studio?”

El error se produjo porque Android Studio esperaba un archivo de recursos de tipo raw.

Solución 1:

Cree una nueva carpeta en su carpeta "res" llamada "raw", y coloque su icono allí. La carpeta en bruto debe contener todos los archivos multimedia de la aplicación.

Luego reemplaza

 InputStream is = getResources().openRawResource(R.drawable.icon); 

con

 InputStream is = getResources().openRawResource(R.raw.icon); 

Solución 2:

Otra solución es hacerlo así. Esto no requiere que cree una carpeta en bruto:

 InputStream is = getResources().openRawResource(+ R.drawable.icon); 

Reemplazar

 InputStream is = getResources().openRawResource(R.drawable.icon); 

Con

 InputStream is = getResources().openRawResource(+ R.drawable.icon); 
  • Leer WCF REST fecha de android
  • Cómo crear una sombra de arrastre personalizada?
  • Android - Restringir arrastrar y soltar a un cuadro delimitador
  • Cómo convertir la ubicación de toque de View en la ubicación de la pantalla HTML de WebView
  • Arrastrar y soltar sin eliminar del propietario
  • ¿Cómo obtener la vista mientras arrastrar y soltar en android?
  • Android: realizar arrastrar y soltar mediante programación
  • Cómo arrastrar varias vistas de botón en java
  • Cómo hacer Drag & Drop Button en Android
  • OnDragListener - ¿hay alguna biblioteca de compatibilidad para niveles de Android <11?
  • Arrastrar y soltar con onDraglistener animar para volver a la posición original si no se deja caer en el objetivo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.