به نام خدا،سلام خدمت همه دوستان و همراهان همیشگی اپ این اپس.امروز میخواهیم با ویبره (Vibrator) در اندروید کار کنیم.زمانی نیاز داریم تا برای اعلام اخطار به صورت سخت افزاری از ویبره استفاده کنیم.نحوه استفاده از Vibrator در برنامه نویسی اندروید بسیار ساده است و تنها کافی که ویبرتون رو تعریف کنید.مسئله مهمی که باید بهش توجه کنید اینه که در استفاده از ویبره یا هر عنصری که به نوعی با سخت افزار اندروید کار میکنه نوع دسترسی اون رو در Manifest فعال کنید،در غیر این صورت برنامه شما کار نخواهد کرد.
خُب با این تصیفات میریم سراغ محیط ایکلیپس و برنامه خودمون رو مینویسیم.یک پروژه جدید ایجاد میکنیم و نامش رو Vibrator قرار میدیم،بروی لایه مون یک دکمه (Button) میزاریم و اسمش رو larzesh میزاریم! الان همه مارهای رو که انجام دادیم رو ذخیره میکنیم با دکمه Ctrl+S و میریم سراغ MainActivity و کد نویسی جاوای برنامه.کاری که میکنیم اینکه در مرحله اول دکمه رو معرفی میکنیم،در مرحله دوم یک رویداد کلیک بهش میدیم و در قسمت سوم دستور فعال سازی ویبره رو با این کد Vibrator vib = (Vibrator) getSystemService(MainActivity.VIBRATOR_SERVICE) میدیمو در اخر مدت زمان لرزش رو با دستور long milliseconds تعریف میکنیم و اون رو به Vibrator نسبت میدیم. در زیر کدهای کامل بخش MainActivity.java رو مشاهده میکنید.
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //معرفی دکمه و تعریف رویداد کلیک Button btnvibrate = (Button) findViewById(R.id.button1); btnvibrate.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //فعال سازی ویبره در اندروید Vibrator vib = (Vibrator) getSystemService(MainActivity.VIBRATOR_SERVICE); //زمان تعیین شده برای ویبره زدن long milliseconds = 1000; //VIBRATOR_SERVICE ست کردن زمان ویبره به vib.vibrate(milliseconds); } }); }
حالا باید نوع دسترسی رو در برنامه تون فعال کنید تا برنامه بدون هیچ مشکلی اجرا بشه در زیر هم نوع دسترسی و هم کدهای کامل بخش Manifest رو میبینید.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.appinapps.vibrate" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.VIBRATE"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.appinapps.vibrate.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
می خواستم بپرسم من دقیقا نفهمیدم نوع دسترسی را چه طور و با چه دستوری انجام می شود اگر ممکن است کمی بیشتر توضیح دهید