آموزش اندروید استودیوآموزش های برنامه نویسی اندروید

آموزش برنامه نویسی اندروید با اندروید استودیو (بخش سی و چهارم: کار با ویبره (Vibrator) در اندروید)

گاهی پیش می آید که در برنامه ای، اخطاری به صورت ویبره داشته باشیم. این اخطار می تواند نوعی هشدار باشد که کاربر را از چیزی، مطلع می سازد. گاهی دیگر نیز ویبره جنبه سرگرمی دارد. حتی عملکردهای دیگری نیز برای ویبره می توان قائل شد. پس دانستن چگونگی پیاده سازی ویبره در اپلیکیشن های اندرویدی می تواند برنامه شما را کاربردی تر سازد.

در این بخش قرار است با ویبره (Vibrator) کار کنیم. نحوه پیاده سازی و کار کردن با ویبره در اندروید خیلی سخت نیست و تنها کافی ست که ویبره را در کد جاوای برنامه تعریف کنیم. ولی از آنجایی که وقتی حرف از کار سخت افزار پلتفرم اندرویدی می آید، حتما دسترسی ها هم باید مشخص و تعیین شوند. پس باید در قسمت AndroidManifest نیز مانند بخش قبل، دسترسی هایی را به برنامه اندرویدی خود بدهیم.

من یک پروژه با نام Vibrator-Gsm در اندروید استودیو خودم ایجاد می کنم. از مسیر  app -> res -> activity_main.xml به قسمت لایه اپلیکیشن رفته و در قسمت Design این لایه، از Paletteها، یک Button را به لایه اپلیکیشن می کشم. اسم این Button را Vibrate می گذارم. آیدی Button من نیز، همان Button است.

در قسمت اول، یک متغیر از نوع Button به اسم BtnVbrte ایجاد می کنم و Button موجود در لایه را به BtnVbrte نسبت می دهم.

Button BtnVbrte = (Button) findViewById(R.id.button);

سپس باید در قسمت بعدی، یک رویداد Listener معرفی کنم تا وقتی بر روی Button کلیک شد، عملکرد تعریف شده توسط ما را از خود نشان داد. این عملکرد در واقع، همان ویبره می باشد.

رویداد Listener برای متغیر BtnVbrte توسط دستور زیر تعریف می شود:

BtnVbrte.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

      // کد شما                

            }
        });

در مرحله بعد در داخل Listener دکمه Button ما، یک متغیر به نام دلخواه (در اینجا Vib) از نوع Vibrator معرفی می کنم. این متغیر در واقع از سرویس کلاس Vibrate استفاده می کند.

Vibrator Vib = (Vibrator) getSystemService(MainActivity.VIBRATOR_SERVICE);

سپس مدت زمان ویبره را نیز با استفاده از دستور زیر مشخص می کنیم. ( در اینجا 2 ثانیه = 2000 میلی ثانیه)

long milliseconds = 2000;

Vib.vibrate(milliseconds);

کد کامل MainActivity

package com.gsm_developers.vibrator_gsm;

import android.os.Vibrator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

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

        Button BtnVbrte = (Button) findViewById(R.id.button);

        BtnVbrte.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                Vibrator Vib = (Vibrator) getSystemService(MainActivity.VIBRATOR_SERVICE);

                long milliseconds = 2000;

                Vib.vibrate(milliseconds);

            }
        });
    }
}

برای دادن دسترسی ویبره به برنامه، باید به قسمت AndroidManifests.xml رفته (مسیر app -> Manifests -> AndroidManifest.xml) و سپس کد زیر را در آنجا قبل از تگ application> نوشت.

<uses-permission android:name="android.permission.VIBRATE"/>

کد کامل AndroidManifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.gsm_developers.vibrator_gsm">
    <uses-permission android:name="android.permission.VIBRATE"/>
    <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>

با زدن دکمه Button که در اپلیکیشن ما Vibrate نام دارد، عمل ویبره انجام می شود.

البته پیغام من جهت تست بوده چون در دستگاه شبیه ساز، انجام شده و ویبره ای به صورت عملی نمیتوانستم مشاهده کنم. و کد آن در زیر آمده تا پس از اجرای دستور ویبره، این دستور اجرا شود.

Toast.makeText(MainActivity.this, "عمل ویبره انجام شد", Toast.LENGTH_LONG).show();

Arash

طراح سایت و برنامه نویس

یک دیدگاه

  1. کارتون عالیه خسته نباشید جامعه برنامه نویس ها به چنین آموزش هایی کوتاه و پرباری احتیاج داشت اگر امکان دارد درمورد رویداد swipe در اپ های اندرویدی هم بنویسید ممنون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا