Vibromasseur(vibrateur)


Introduction à cette section :

Dans cette section, nous présentons le Vibrateur (vibrateur), qui est le vibrateur fourni avec le téléphone portable Don'. Je ne recherche pas directement sur le vibrateur à aiguille Baidu car Les résultats de votre recherche peuvent être l'accessoire mystérieux 1.gif comme indiqué sur l'image, ou d'autres accessoires mystérieux :

Eh bien, revenons au vibrateur présenté dans cette section, il nous est en fait fourni par Android pour le fuselage Un service choquant! Par exemple, nous pouvons définir une vibration plus tôt dans notre notification. Lorsque nous recevons un message push, nous pouvons définir une vibration. Pour rappel, les jeux sont indispensables, comme le jeu du "jerk off". Quand votre avion explose, il vibre !

Écrivons un exemple simple pour vous familiariser avec l'utilisation de ce vibromasseur !

Documentation officielle de l'API : Vibrateur


1. Obtenez une instance de Vibrateur :


Vibrateur vb = (Vibrator)getSystemService(Service.VIBRATOR_SERVICE);


2. Méthodes associées pouvant être utilisées :

  • abstract void annuler. () : Éteignez ou arrêtez le vibrateur
  • booléen abstrait hasVibrator() : Déterminez si le matériel a un vibrateur
  • void vibrateur(long milliseconds ) : Contrôlez la vibration du téléphone en millisecondes millisecondes
  • void vibrer(long[] pattern, int répétition) : Spécifiez que le téléphone doit vibrer selon le modèle spécifié par pattern ! Par exemple : le motif est new int[200 400 600 800], ce qui signifie qu'il démarre et éteint alternativement le vibrateur au moment de 200 400 600 800 ! Le deuxième est le nombre de répétitions. S'il est -1, il ne vibrera qu'une seule fois. S'il est 0, il vibrera tout le temps. Il existe deux autres méthodes rarement utilisées~ À propos, l'utilisation du vibrateur nécessite également l'ajout des autorisations suivantes à AndroidManifest.xml : <uses-permission android:name="android.permission.VIBRATE"/>

Exemple d'utilisation : définir des vibrations avec différentes fréquences. Appareil :

L'application la plus utilisée pour vibrateur est ce qu'on appelle l'application de massage mobile. Après avoir cherché sur le marché des applications, il y en avait beaucoup et je les ai téléchargées avec désinvolture. Après les avoir examinés, ils sont tous similaires. Ce gadget compte plus de 80 000 téléchargements... enfin, cela ne semble pas être de trop. Cependant, les fonctions courantes sont accomplies en changeant la fréquence de vibration, et on ne sait pas si l'effet dit de massage est réellement efficace. Alors implémentons ensuite un simple masseur ! Le noyau est en fait : les paramètres du tableau dans vibrate(), écrivez simplement un tableau selon vos besoins ! Le code suivant doit être testé sur une vraie machine !

Exécution de rendus :

2.gif

Code d'implémentation :

Mise en page simple fichier, cinq boutons : activity_main.xml :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    
    <Button
        android:id="@+id/btn_hasVibrator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="判断是否有振动器" />


    <Button
        android:id="@+id/btn_short"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="短振动" />

    <Button
        android:id="@+id/btn_long"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="长振动" />

    <Button
        android:id="@+id/btn_rhythm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="节奏振动" />

    <Button
        android:id="@+id/btn_cancle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="取消振动" /></LinearLayout>

Vient ensuite la partie MainActivity.java :

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button btn_hasVibrator;
    private Button btn_short;
    private Button btn_long;
    private Button btn_rhythm;
    private Button btn_cancle;
    private Vibrator myVibrator;
    private Context mContext;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获得系统的Vibrator实例:
        myVibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);
        mContext = MainActivity.this;
        bindViews();
    }

    private void bindViews() {
        btn_hasVibrator = (Button) findViewById(R.id.btn_hasVibrator);
        btn_short = (Button) findViewById(R.id.btn_short);
        btn_long = (Button) findViewById(R.id.btn_long);
        btn_rhythm = (Button) findViewById(R.id.btn_rhythm);
        btn_cancle = (Button) findViewById(R.id.btn_cancle);

        btn_hasVibrator.setOnClickListener(this);
        btn_short.setOnClickListener(this);
        btn_long.setOnClickListener(this);
        btn_rhythm.setOnClickListener(this);
        btn_cancle.setOnClickListener(this);
    }


    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_hasVibrator:
                Toast.makeText(mContext, myVibrator.hasVibrator() ? "当前设备有振动器" : "当前设备无振动器",
                        Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn_short:
                myVibrator.cancel();
                myVibrator.vibrate(new long[]{100, 200, 100, 200}, 0);
                Toast.makeText(mContext, "短振动", Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn_long:
                myVibrator.cancel();
                myVibrator.vibrate(new long[]{100, 100, 100, 1000}, 0);
                Toast.makeText(mContext, "长振动", Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn_rhythm:
                myVibrator.cancel();
                myVibrator.vibrate(new long[]{500, 100, 500, 100, 500, 100}, 0);
                Toast.makeText(mContext, "节奏振动", Toast.LENGTH_SHORT).show();
                break;
            case R.id.btn_cancle:
                myVibrator.cancel();
                Toast.makeText(mContext, "取消振动", Toast.LENGTH_SHORT).show();
        }
    }
}

Au fait, ne manquez pas l'autorisation du vibreur !

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

4. Téléchargement d'un exemple de code :

VibratorDemo.zip


Résumé de cette section :

D'accord, dans cette section, nous avons appris l'utilisation de base du vibrateur (vibrateur). Le code est très simple. Dépêchez-vous et participez. Dans votre APP, faites votre candidature HI~, eh bien, c'est tout, merci Il se fait tard, alors Xiaozhu devrait rentrer chez lui rapidement ! Après tout, je suis encore une jeune fille ! Ce serait mauvais si tu te mouillais~3.gif