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

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

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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

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



Vibrator简单介绍与相关方法:


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




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


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

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

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

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

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

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

效果图:

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

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









版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117757.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月31日 下午11:00
下一篇 2022年1月1日 上午6:00


相关推荐

  • 超详细Eclipse安装教程

    超详细Eclipse安装教程超详细 Eclipse 安装教程

    2025年7月25日
    6
  • WebOS系统比较

    WebOS系统比较随着时间的推移 网络的发展 基于浏览器的桌面系统早已成熟并悄悄登陆我们的世界 作为一个开发者 对已经熟知的 WebOS 系统做了一下比较 首先推荐的是大家熟悉的 腾讯的使用人数在中国可以说已经达到了一个顶峰 相信在中国也很少有人不使用进行通讯 而腾讯公司在 WebOS 上算是起步晚的公司 http web com 大家可以点击

    2026年3月19日
    1
  • XRay安装使用以及Burp联动

    XRay安装使用以及Burp联动0x00前言XRay是长亭科技洞鉴核心引擎中提取出的社区版漏洞扫描神器,属于一款功能十分强大的国产被动扫描工具,其应用范围涵括,Web通用漏洞扫描、被动代理扫描、社区POC集成……XRay的定位是一款安全辅助评估工具,而不是攻击工具,其内置的所有payload和poc均为无害化检查。毫不犹豫的说,XRay属于渗透测试人员安全渗透的一大神兵利器!可以想象,当Burp与XRay联动时,必将碰撞出不一样的火花!0x01下载XRay…

    2022年5月7日
    496
  • MAC 上抓取网页数据的工具有哪些?「建议收藏」

    MAC 上抓取网页数据的工具有哪些?

    2022年2月9日
    109
  • java的异或_java中的异或

    java的异或_java中的异或一、异或介绍异或是一种基于二进制的位运算,用符号XOR或者^表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。性质1、交换律2、结合律(即(a^b)^c==a^(b^c))3、对于任何数x,都有x^x=0,x^0=x4、自反性AXORBXORB=AXOR0=A二、异或使用异或运算最常见于多项式除法,不过它最重要的性质还是自反性:A^B^B…

    2022年10月4日
    3
  • 解决gradle下载慢的问题

    解决gradle下载慢的问题开发工具:IntelliJIDEA&AndroidStudio问题:新建项目下载gradle慢的问题解决:打开用户主目录linux平台/home/用户名/.gradlewindows平台c:\Users\用户名\.gradlemacos平台/Users/用户名/.gradle找到./gradle/wrapper/dist/gradle-版本号-bin目

    2022年6月16日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号