Так что я впервые работаю в студии Android, и у меня очень важный проект. Я пытаюсь создать экран, на котором отображается камера (например, Snapchat ui) с некоторыми кнопками сверху, например:
Сейчас я пишу следующий код:
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.
Можете ли вы помочь мне исправить ошибки?
выше я вижу синтаксическую ошибку, правильно ли компилируется этот код?




Что вы подразумеваете под 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 в импорт
попробуйте эту строку кода, чтобы получить изображение с камеры
прежде всего добавьте разрешение камеры в 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) {
}
}
}
у меня есть этот код для работы. если у вас есть проблемы с кодом, прокомментируйте меня
Посмотрите этот код .... stackoverflow.com/questions/49771172/…