Kotlin

AndroidアプリのViewをPDFファイルとして出力する方法

PdfDocument というAndroidアプリからPDFファイルを出力したい時に
便利なAPIがAndroid SDK 19から用意されています。

続きを読む

AndroidのカメラサポートライブラリのCameraXを使ってみました

Androidのカメラ制御は
カメラが対応している解像度の取得や
プレビュー解像度の設定、画面回転など
いくつか面倒なステップを踏む必要がありますが
それらを吸収してくれる公式ライブラリがCameraXです。

ライブラリの使用方法はGoogleのCameraXのドキュメントに記載されていますが、
実際に動かしてみたコードを以下に記載します。
MainActivityにカメラプレビューを表示するだけの機能を持つアプリです。

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.camera.core.CameraSelector
import androidx.camera.core.Preview
import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.view.PreviewView
import androidx.core.content.ContextCompat
import androidx.lifecycle.LifecycleOwner
import com.google.common.util.concurrent.ListenableFuture

class MainActivity : AppCompatActivity() {
    private lateinit var cameraProviderFuture: ListenableFuture<ProcessCameraProvider>
    private lateinit var previewView : PreviewView
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // PreviewView
        previewView = findViewById(R.id.cameraPreview)

        // CameraProvider リクエスト
        cameraProviderFuture = ProcessCameraProvider.getInstance(this)

        // タスクを実行するエグゼキューター
        val executor = ContextCompat.getMainExecutor(this)

        // リスナー用タスク
        val listenerRunnable = Runnable {
            // ListenableFutureからCameraProviderを取得
            val cameraProvider = cameraProviderFuture.get()
            // ライフサイクルにバインド -カメラの指定とプレビューの設定も行う
            bindToLifecycle(cameraProvider)
        }

        // CameraProvider リクエスト のリスナーをセット
        cameraProviderFuture.addListener(listenerRunnable, executor)
    }

    private fun bindToLifecycle(cameraProvider: ProcessCameraProvider)
    {
        // Previewを作成
        val preview : Preview = Preview.Builder().build()
        // 背面カメラを選択
        val cameraSelector : CameraSelector = CameraSelector.Builder()
            .requireLensFacing(CameraSelector.LENS_FACING_BACK)
            .build()
        // Previewとレイアウト上のPreviewViewを接続
        preview.setSurfaceProvider(previewView.surfaceProvider)

        // CameraProvider をライフサイクルにバインド
        val camera = cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview)
    }
}

Kotlinで書いているのもありますが、
ライブラリを使用しない時と比べて、ぐっと必要なコード量が減っています。

画像の撮影や、画像分析もライブラリに含まれているようです。

水曜担当:Tanaka



AndroidでQRCodeを作成しよう

Android用のバーコードスキャナーライブラリの
journeyapps.comのzxing-android-embedded
を使用して文字列からQRコードを作成するアプリのご紹介です。

続きを読む

Android ダイアログを画面いっぱいに表示する

お知らせの通知などのActivityを覆うようなダイアログを表示させたい時に
使える”ほぼ”全画面ダイアログを表示させる方法のご紹介です。

続きを読む

AndroidのViewをフェードイン(アウト)させる時に便利なAlphaAnimationクラス

AndroidのViewをフェードイン(アウト)させる時に便利な
AlphaAnimationクラスをご紹介します。

続きを読む


アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム