آموزش سیستم عامل اندروید

برنامه نویسی روشن و خاموش کردن چراغ دوربین گوشی

در این آموزش یاد خواهید گرفت که چگونه می توان از چراغ دوربین گوشی به عنوان چراغ قوه استفاده کرد. این آموزش بر روی گوشی هایی کاربرد دارد که دارای LED دوربین می باشد که امروزه اکثر گوشی ها دارا می باشند.

اکثر گوشی ها دارای چراغ یا همان LED می باشند که به اندازه ای قدرتمند هستند که بتوان از آنها به عنوان چراغ قوه استفاده کرد. معمولا بر روی بعضی از گوشی ها در نوار وضعیت (Statusbar) گزینه ای برای روشن کردن این چراغ وجود دارد. اما ما می خواهیم اپلیکیشن خودمان را داشته باشیم تا بتوانیم انواع گزینه های مختلف را نیز به آن اضافه کنیم مانند چشمک زدن.

در آموزش زیر فقط نحوه روشن کردن را به شما آموزش داده ام که بعد از یادگیری آن می توانید هر افکتی را به آن اضافه کنید.

برای روشن و خاموش کردن چراغ دوربین گوشی، اول از همه Permission ها را در AndroidManifest.xml تعریف می کنیم

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="bahonar.flashlight">
    <uses-permission android:name="android.permission.FLASHLIGHT"/>
    <uses-permission android:name="android.permission.CAMERA" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

قسمت layout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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="bahonar.flashlight.MainActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center">
        <ImageButton
            android:id="@+id/btnOn_Off"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:background="@drawable/off"/>
    </LinearLayout>
</RelativeLayout>

حال نوبت به کد برنامه می رسد.
در کد برنامه ما متغیری از نوع boolean ایجاد میکنیم که آخرین وضعیت LED را نگه می دارد.

private boolean IsOn=false;

برنامه از یک دکمه برای روشن و خاموش کردن LED استفاده می کند که برای این کار باید بدانیم که LED الان در چه وضعیتی است. روشن یا خاموش. بنابراین از متغیر IsOn استفاده می کنیم.

package bahonar.flashlight;

import android.hardware.Camera;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;

public class MainActivity extends AppCompatActivity {
    private boolean IsOn=false;//for checking if flashlight is on or off
    private Camera camera;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final ImageButton btnOn_Off=(ImageButton)findViewById(R.id.btnOn_Off);
        btnOn_Off.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(IsOn){//set to OFF
                    camera.stopPreview();//turn off LED
                    camera.release();
                    IsOn=false;
                    btnOn_Off.setImageResource(R.drawable.off);
                }
                else{//set to ON
                    camera = Camera.open();//get instance of Camera
                    Camera.Parameters parameters = camera.getParameters();
                    parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);//set LED state in camera (ON)
                    camera.setParameters(parameters);//set parameter to camera
                    camera.startPreview();//turn on LED
                    IsOn=true;
                    btnOn_Off.setImageResource(R.drawable.on);
                }
            }
        });
    }
}

چراغ دوربین گوشی

۴ دیدگاه دربارهٔ «برنامه نویسی روشن و خاموش کردن چراغ دوربین گوشی»

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.