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

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

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

Vibrator简单介绍与相关方法:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZXJfcGln/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

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

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

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

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

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

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

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

效果图:

代码也非常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;

	@Override
	protected 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);

	}

	@Override
	public 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

时间: 2024-08-04 11:04:21

Android该系统提供的服务--Vibrator(振子)的相关文章

Android系统篇之----Hook系统的AMS服务实现应用启动的拦截功能

技术概念来源:[ 360开源插件框架,项目地址:https://github.com/DroidPluginTeam/DroidPlugin ] 一.Hook系统剪切板服务流程回顾 在之前的一篇文章中已经介绍了 Android中的应用启动流程,这个流程一定要理解透彻,这样我们才可以进行后续的Hook操作,在之前还介绍了Android中如何Hook系统的剪切板服务实现方法的拦截效果,实现原理就是: 1.先找到Hook点,这个一般是分析源码来得到,而一般的Hook点都是静态变量或者是单例方法. 2.

Android版网络办公系统应用客户端+服务端

该项目源码是Android版网络办公系统应用客户端+服务端,也是一个简单的网上办公系统的Android客户端,项目有服务端和客户端部分的源码的,客户端开发环境eclipse  AVD版本 4.0服务器 phpStudy 2013集成环境 Apache+php5.3+ISAPI模式 phpStudy 2013集成环境绿色版下载http://www.phpstudy.net/phpstudy/phpStudy2013d.zip官网   http://www.phpstudy.net/ android

Android 系统提供的主题

android.R.style 列举了系统提供的样式主题. 在 xml 文件中,作为属性值使用时,需要将主题名称中的 "_"(短横)改为 .(点). Theme The default theme for apps on API level 10 and lower. Theme_Black Variant on Theme that ensures the background is completely black. Theme_Black_NoTitleBar Variant o

android系统提供的几种颜色Color

记录一下android自带颜色. Constants public static final int BLACK Added in API level 1 Constant Value: -16777216 (0xff000000)        public static final int BLUE Added in API level 1 Constant Value: -16776961 (0xff0000ff)       public static final int CYAN Ad

Android系统提供的开发常用的包名及作用

android.app :提供高层的程序模型.提供基本的运行环境 android.content :包含各种的对设备上的数据进行访问和发布的类 android.database :通过内容提供者浏览和操作数据库 android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上. android.location :定位和相关服务的类 android.media :提供一些类管理多种音频.视频的媒体接口 android.net :提供帮助网络访问的类,超过

Android基础入门教程——10.4 Vibrator(振动器)

Android基础入门教程--10.4 Vibrator(振动器) 标签(空格分隔): Android基础入门教程 本节引言: 本节我们介绍的是Vibrator(振动器),是手机自带的振动器,别去百度直接搜针振动器,因为 你的搜索结果可能是如图所示的神秘的道具,或者其他神秘道具: 嗯,说回本节介绍的Vibrator,其实就是Android给我们提供的用于机身震动的一个服务! 比如前面我们的Notification中可以设置震动,当收到推送消息的时候我们可以设置震动 提醒,游戏必备,比如"打飞机&

Android 安卓系统架构介绍

android系统架构   从上图中可以看出,Android系统架构为四层结构,从上层到下层分别是应用程序层.应用程序框架层.系统运行库层以及Linux内核层,分别介绍如下: 1)应用程序层 Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序.电话拨号程序.图片浏览器.Web浏览器等应用程序.这些应用程序都是       用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和

Android Binder 系统学习笔记(一)Binder系统的基本使用方法

1.什么是RPC(远程过程调用) Binder系统的目的是实现远程过程调用(RPC),即进程A去调用进程B的某个函数,它是在进程间通信(IPC)的基础上实现的.RPC的一个应用场景如下: A进程想去打开LED,它会去调用led_open,然后调用led_ctl,但是如果A进程并没有权限去打开驱动程序呢? 假设此时有一个进程B由权限去操作LED驱动程序,那么进程A可以通过如下方式来操作LED驱动: ①封装数据,即A进程首先把想要调用的B进程的某个函数的(事先约定好的)代号等信息封装成数据包 ②A进

Android之系统架构

Android 是Google开发的基于Linux平台的开源手机操作系统.它包括操作系统.用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍.Android采用WebKit浏览器引擎,具备触摸屏.高级图形显示和上网功能,用户能够在手机上查看电子邮件.搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台.这里介绍Android的系统架构 android系统架构图 android的系统