Android该系统提供的服务--Vibrator(振子)

——转载请注明出处:coder-pig



Vibrator简单介绍与相关方法:


Android该系统提供的服务--Vibrator(振子)_第1张图片




简单demo——设置频率不同的振动器


对于Vibrator用的最广泛的莫过于所谓的手机按摩器类的app,在app市场一搜,一堆,笔者随便下了几个下来瞅瞅

,都是大同小异的,这点小玩意居然有8W多的下载量...好吧,好像也不算多,只是普遍功能都是切换振动频率来完毕

所谓的按摩效果,是否真的有效就不得而知了,那么接下来

我们就来实现一个简单的按摩器吧!

核心事实上就是vibrate()中的数组的參数,依据自己需求写一个数组就能够了!

由于模拟器不会振动的,所以须要在手机上执行才会有效果哦!


效果图:

Android该系统提供的服务--Vibrator(振子)_第2张图片

代码也非常easy,布局的话就四个简单的button而已

activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/LinearLayout1"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.jay.example.vibratordemo.MainActivity" >    <Button        android:id="@+id/btnshort"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="短振动" />    <Button        android:id="@+id/btnlong"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="长振动" />        <Button        android:id="@+id/btnrhythm"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="节奏振动" />              <Button        android:id="@+id/btncancle"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="取消振动" />       </LinearLayout>

接着就是MainActivity的编写了,这里和上一节的写法是一样的,让Activity类实现OnClickListener接口

重写onClick方法,依据不同的view的id就能够推断是哪个button点击了,这样的写法的优点是对于组件较多的

情况这样写能够简化代码!

MainActivity.java:

package com.jay.example.vibratordemo;import android.app.Activity;import android.app.Service;import android.os.Bundle;import android.os.Vibrator;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener{private Button btnshort;private Button btnlong;private Button btnrhythm;private Button btncancel;private Vibrator myVibrator;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnshort = (Button) findViewById(R.id.btnshort);btnlong = (Button) findViewById(R.id.btnlong);btnrhythm = (Button) findViewById(R.id.btnrhythm);btncancel = (Button) findViewById(R.id.btncancle);btnshort.setOnClickListener(this);btnlong.setOnClickListener(this);btnrhythm.setOnClickListener(this);btncancel.setOnClickListener(this);//获得系统的Vibrator实例:myVibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btnshort:myVibrator.cancel();myVibrator.vibrate(new long[]{100,200,100,200}, 0);Toast.makeText(getApplicationContext(), "短振动", Toast.LENGTH_SHORT).show();break;case R.id.btnlong:myVibrator.cancel();myVibrator.vibrate(new long[]{100,100,100,1000}, 0);Toast.makeText(getApplicationContext(), "长振动", Toast.LENGTH_SHORT).show();break;case R.id.btnrhythm:myVibrator.cancel();myVibrator.vibrate(new long[]{500,100,500,100,500,100}, 0);Toast.makeText(getApplicationContext(), "节奏振动", Toast.LENGTH_SHORT).show();break;case R.id.btncancle:myVibrator.cancel();Toast.makeText(getApplicationContext(), "取消振动", Toast.LENGTH_SHORT).show();}}}

最后别忘了在AndroidManifest.xml文件里加入权限哦!

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



好了,基本使用方法事实上也是非常easy的,这里就不多说了,另外上面也说了,虚拟机是没有震动效果的,所以

须要把应用公布到手机上才干检測效果了!參考代码下载:vibratorDemo.rar

为了方便各位,直接把apk导出来吧,直接下载安装到手机就能够測试效果了,当然仅仅是个小demo,不会

推送广告,乱发短信什么的=-=!安装时能够查看所须要的权限!apk下载:vibratorDemo.apk










更多相关文章

  1. Android P 系统设置默认值
  2. Android系统属性SystemProperties分析
  3. 查看android系统设备信息
  4. Android图像处理系统1.4图像的锐化-边缘检测
  5. 关于Android电池管理系统(二)
  6. Android系统-按键字符表(*.kcm)
  7. Android 实现ListView 3D效果 - 1
  8. Android 水波纹点击效果
  9. Android系统添加自己写的工具

随机推荐

  1. Android系统启动流程 -- bootloader
  2. 转:Android——定位和地图
  3. Android(安卓)数据库初窥
  4. android 蓝牙4.0广播功能应用
  5. Android Studio 实时显示布局文件Preview
  6. Android实现TCP与UDP传输
  7. Android 应用冻结流程分析
  8. Android 屏幕适配方案
  9. 设置ListView每条数据之间的间隔
  10. Android Animation动画详解(一): 补间动画