Сохранять фотографию в каталоге

Нажав на Статью меня ListView открой камеру, но сняв, он не сохраняет ее мне в каталоге, который я создаю.

Каталог, который я создаю, не существует в моменте, который я сохраняю ее, который я врежу?

public class ListaConImag extends AppCompatActivity {

miAdaptador adaptador;
ArrayList<ContenidoVista> datos;
android.widget.ListView lista;
String ANDROID_DATA = "Android/data";
String dirCarpetaImg;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_lista_con_imag);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    lista = (android.widget.ListView) findViewById(R.id.Lista_imag);
    datos = new ArrayList<ContenidoVista>();
    rellenardatos();
    adaptador = new miAdaptador(this, datos);
    lista.setAdapter(adaptador);


    lista.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Animation rotar = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.girar);
            Animation zoom = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.zoom);
            Animation trasparencia = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.trasparencia);
            Animation mover = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.mover);
            switch (position){

                case(0):
                    view.findViewById(R.id.icono).startAnimation(rotar);
                    Intent IntCamara = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                    dirCarpetaImg = Environment.getExternalStorageDirectory()+ ANDROID_DATA+"/com.appjor/";
                    File carpetaImagen = new File(dirCarpetaImg);
                    if(!carpetaImagen.exists()){ //Existe el directorio?
                        carpetaImagen.mkdirs(); // si no existe, lo crea.
                    }
                    File imagenApp = new File(carpetaImagen,"foto.jpg");
                    Uri dirImagen = Uri.fromFile(imagenApp);
                    IntCamara.putExtra(MediaStore.EXTRA_OUTPUT, dirImagen);
                    startActivityForResult(IntCamara, 1);


                break;

                case(1):

                    break;

                case(2):
                    view.findViewById(R.id.icono).startAnimation(trasparencia);
                    break;

                case(3):
                    view.findViewById(R.id.icono).startAnimation(mover);
                    break;
            }
        }


    });

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);


    if(requestCode == 1 && resultCode == RESULT_OK){

      }

    }


private void rellenardatos() {

    datos.add(new ContenidoVista("CAMARA", "Iniciar camara", R.drawable.perro));
    datos.add(new ContenidoVista("INFORMACION", "Mostar informacion", R.drawable.perro1));
    datos.add(new ContenidoVista("Titulo3", "SubTitulo3", R.drawable.perro2));
    datos.add(new ContenidoVista("Titulo4", "SubTitulo4", R.drawable.persona));
     }

  }
1
задан 07.04.2016, 20:26
2 ответа

Проблема состоит в том, что каталог /imagenesApp не существует,

 Bitmap bMap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+
                                                   "/imagenesApp/"+"foto.jpg");

то, что осуществляется регулярно, он состоит в том, чтобы санкционировать, если он не существует, он создается.

String ANDROID_DATA = "/Android/data/";
String externalDir = Environment.getExternalStorageDirectory() +  ANDROID_DATA + "/imagenesApp/";

        File carpetaImgen = new File(externalDir);
                if(!carpetaImgen.exists()){ //Existe el directorio?
                    carpetaImgen.mkdirs(); // si no existe, lo crea.            
                }
2
ответ дан 24.11.2019, 14:37
  • 1
    я это не создаю в File carpetaImgen = new File(Environment.getExternalStorageDirectory(),"imagenesApp"); carpetaImgen.mkdirs()? – Jorge Gonzalez 07.04.2016, 18:07
  • 2
    приложи String ANDROID_DATA = "/Android/data / и quot;; в Environment.getExternalStorageDirectory () увидь мой ответ. – Jorgesys♦ 07.04.2016, 18:16
  • 3
    Я продолжаю иметь ту же проблему, только, который сейчас мне не бросает никакая Exepcion – Jorge Gonzalez 07.04.2016, 20:25
  • 4
    Environment.getExternalStorageDirectory добавляет () .getPath (), Ты можешь печатать стоимость externalDir пожалуйста? – Jorgesys♦ 07.04.2016, 21:51
  • 5
    Адрес: / storage / emulated / 0Android / восходи / com.appjor / – Jorge Gonzalez 08.04.2016, 17:43

Я думаю, что у тебя могли бы быть проблемы с AndroidManifest.xml

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
0
ответ дан 24.11.2019, 14:37

Теги

Похожие вопросы