¿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); 
  • Tamaño androide de la sombra del dragshadowbuilder
  • Establecer anclaje personalizado al arrastrar una vista
  • Android obtiene tiempo en este formato `aaaa-mm-dd hh: mm: ss`
  • ¿Cómo se puede desplazar un "punto de destino" de Android drag-shadow de su "punto de contacto"?
  • Cómo escribir un InputStream potencialmente enorme para el archivo?
  • Drag'n'Drop ConcurentModificationException
  • Cómo arrastrar varias vistas de botón en java
  • ¿Cómo obtener el formato de fecha seleccionado por el usuario en Android?
  • ¿Cómo restringir el arrastrar y soltar a lo largo del eje y sólo en android?
  • Cómo obtener las coordenadas X, Y correctas de un DragEvent.ACTION_DROP
  • Cómo hacer Drag & Drop Button en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.