admin管理员组文章数量:1388080
I am trying to setup a CameraX Preview on an Android App using Java in Android Studio.
I am following the example from .
(I am also using a little: ).
I have 2 Errors:
Error 1. When I try:
Preview previewView = findViewById(R.id.previewView);
The Error says:
Preview previewView = findViewById(R.id.previewView)
where T is a type-variable:T extends View declared in method <T>findViewById(int)
Error 2.
When I try:
preview.setSurfaceProvider(previewView.getSurfaceProvider());
The Error says:
Preview.getSurfaceProvider can only be called from within the same library group
(referenced groupId=androidx. camera from groupId=MiVi)
My Code:
[MainActivity.java]:
package com.example.mivi;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import androidx.camera.core.Camera;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.Preview;
import androidx.camera.view.PreviewView;
import androidx.core.content.ContextCompat;
import androidx.lifecycle.LifecycleOwner;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import .jetbrains.annotations.Nullable;
import java.util.concurrent.ExecutionException;
import androidx.camera.lifecycle.ProcessCameraProvider;
import com.googlemon.util.concurrent.ListenableFuture;
public class MainActivity extends AppCompatActivity {
private ListenableFuture<ProcessCameraProvider> cameraProviderFuture;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cameraProviderFuture = ProcessCameraProvider.getInstance(this);
cameraProviderFuture.addListener(() -> {
try {
ProcessCameraProvider cameraProvider = cameraProviderFuture.get();
bindPreview(cameraProvider);
} catch (ExecutionException | InterruptedException e) {
// No errors need to be handled for this Future.
// This should never be reached.
}
}, ContextCompat.getMainExecutor(this));
void bindPreview(@NonNull ProcessCameraProvider cameraProvider) {
Preview preview = new Preview.Builder().build();
Preview previewView = findViewById(R.id.previewView);
CameraSelector cameraSelector = new CameraSelector.Builder()
.requireLensFacing(CameraSelector.LENS_FACING_FRONT)
.build();
preview.setSurfaceProvider(previewView.getSurfaceProvider());
Camera camera
= cameraProvider.bindToLifecycle((LifecycleOwner)this,cameraSelector,preview);
}
}
[activity_main.xml]:
<RelativeLayout xmlns:android=";
xmlns:tools=";
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<androidx.camera.view.PreviewView
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_below="@+id/text_mivi"
android:id="@+id/previewView" />
</RelativeLayout>
[build.gradle.kts]:
plugins {
alias(libs.plugins.android.application)
}
android {
namespace = "com.example.mivi"
compileSdk = 35
defaultConfig {
applicationId = "com.example.mivi"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
buildFeatures {
viewBinding = true
}
}
dependencies {
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.constraintlayout)
implementation(libs.navigation.fragment)
implementation(libs.navigation.ui)
testImplementation(libs.junit)
androidTestImplementation(libs.ext.junit)
androidTestImplementation(libs.espresso.core)
implementation(libs.camera.camera2)
implementation(libs.camera.lifecycle.v150alpha06)
implementation(libs.camera.video)
implementation(libs.camera.view)
implementation(libs.androidx.camera.mlkit.vision)
implementation(libs.androidx.camera.extensions)
}
I tried to follow the example and configuration exactly from developer.android.
I am getting 2 errors.
I have googled the errors a lot.
I cannot find an answer anywhere to the errors.
I expected it to work because the resource seems very good, and no one else seems to have the same errors.
Thanks,
Alex
本文标签:
版权声明:本文标题:Android CameraX Preview in Java using Android Develper Example. Incompatible Types & Called from Within Same Library Gro 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744547382a2611979.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论