手机震动的节奏(Vibrator对象及周期运用)
新建一个继承Activity类的VibratorActivity,并设置布局文件为:vibrator.xml。
在布局文件中添加1个EditText和一个Button,EditText用于Vibrator频率的控制
<EditText android:id="@+id/vibrator_edit" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/vibrator_edit_hint" />
<Button android:id="@+id/vibrator_btn" style="@android:style/Widget.Button.Inset" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/vibrator_edit_hint" android:text="@string/vibrator" /> |
最后是Activity代码:
package lyx.feng.third;
import lyx.feng.simpletextdemo.R; import android.app.Activity; import android.app.Service; import android.os.Bundle; import android.os.Vibrator; import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;
public class VibratorActivity extends Activity implements OnClickListener { private EditText edit = null; private Button btn = null; private long info[] = null; private Vibrator vibrator = null;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.vibrator); //得到实例化对象 this.edit = (EditText) super.findViewById(R.id.vibrator_edit); this.btn = (Button) super.findViewById(R.id.vibrator_btn); //得到震动服务 this.vibrator = (Vibrator) getApplication().getSystemService( Service.VIBRATOR_SERVICE); //注册按钮 this.btn.setOnClickListener(this); }
@Override public void onClick(View v) { //得到输入框字符串 String temp = this.edit.getText().toString(); //判断temp是否为“”或者null,Toast提示 if (TextUtils.isEmpty(temp)) { Toast.makeText(this, "Not Null", Toast.LENGTH_SHORT).show(); return; } //划分为Long数组 String spit[] = temp.split(","); this.info = new long[spit.length]; for (int i = 0; i < spit.length; i++) { info[i] = Long.valueOf(spit[i]); System.out.print(info[i] + ","); } //开始震动 this.vibrator.vibrate(info, 0); } }
|
最后还要权限:
<uses-permission android:name="android.permission.VIBRATE" />