Попытка получить доступ к камере на Android

Так что я впервые работаю в студии Android, и у меня очень важный проект. Я пытаюсь создать экран, на котором отображается камера (например, Snapchat ui) с некоторыми кнопками сверху, например:

Попытка получить доступ к камере на Android

Сейчас я пишу следующий код:

package com.none.www.aarogya;

import android.content.Intent;
import android.graphics.Bitmap;
import android.media.Image;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class HomeScreen extends AppCompatActivity {

    public static final int CAMERA_REQUEST = 10;
    private ImageView imgDumpCam;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home_screen);

        imgDumpCam = findViewById(R.id.imgDumpCam);


        btnTake = h(View v); {
            Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, CAMERA_REQUEST);
        }

    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        //If user choose okay than following code will work
        if (resultCode == RESULT_OK){
            if (requestCode == CAMERA_REQUEST){
                //we are hearing back from camera
            Bitmap cameraImage = (Bitmap) data.getExtras().get("data");
                // we get the image from the camera
            imgDumpCam .setImageBitmap(cameraImage);
            }
        }


    }
}
}

Я получаю следующие ошибки:

Error:(24, 9) error: illegal start of expression
Error:(24, 16) error: illegal start of expression
Error:(24, 35) error: ')' expected
Error:(24, 37) error: illegal start of expression
Error:(24, 38) error: ';' expected
Error:(46, 1) error: class, interface, or enum expected
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

Можете ли вы помочь мне исправить ошибки?

Посмотрите этот код .... stackoverflow.com/questions/49771172/…

Amit Jangid 17.10.2018 09:09

выше я вижу синтаксическую ошибку, правильно ли компилируется этот код?

kuber singh 17.10.2018 09:11
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
365
2

Ответы 2

Что вы подразумеваете под btnTake = h(View v); это утверждение? Если вы хотите сделать снимок нажатием кнопки btnTake, сделайте следующее

        import android.content.Intent;
        import android.graphics.Bitmap;
        import android.provider.MediaStore;
        import android.support.v7.app.AppCompatActivity;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.Button;
        import android.widget.ImageView;

        public class HomeScreen extends AppCompatActivity {

            public static final int CAMERA_REQUEST = 10;
            private ImageView imgDumpCam;

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_home_screen);
                imgDumpCam = findViewById(R.id.imgDumpCam);
                Button btnTake = findViewById(R.id.your_btn_take_id);
                btnTake.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                        startActivityForResult(cameraIntent, CAMERA_REQUEST);
                    }
                });
            }

            @Override
            protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);
                //If user choose okay than following code will work
                if (resultCode == RESULT_OK) {
                    if (requestCode == CAMERA_REQUEST) {
                        //we are hearing back from camera
                        Bitmap cameraImage = (Bitmap) data.getExtras().get("data");
                        // we get the image from the camera
                        imgDumpCam.setImageBitmap(cameraImage);
                    }
                }

            }
        }

просто импортируйте его. Добавьте import com.none.www.aarogya.R в импорт

Sarath Kn 17.10.2018 13:39

попробуйте эту строку кода, чтобы получить изображение с камеры

прежде всего добавьте разрешение камеры в menifest.xml и проверьте разрешение выполнения

а затем добавьте этот код

    login=findViewById(R.id.login);
    login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            clickImageFromCamera();
        }
    });
}

public void clickImageFromCamera() {
       Intent camIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

        if (camIntent.resolveActivity(getPackageManager()) != null) {
            startActivityForResult(camIntent, REQUEST_CAMERA);

    }
}
/*on activity result */
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CAMERA && resultCode == RESULT_OK) {
        if (data != null && data.getExtras() != null) {

        }
    }
}

у меня есть этот код для работы. если у вас есть проблемы с кодом, прокомментируйте меня

Другие вопросы по теме