編輯:關於Android編程
主界面代碼:
package com.example.vibrator;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button btn_vibrator_0;
private Button btn_vibrator_1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_vibrator_0 = (Button) findViewById(R.id.btn_vibrator_0);
btn_vibrator_1 = (Button) findViewById(R.id.btn_vibrator_1);
/**
* 點擊設置默認震動模式,震動100毫秒
* */
btn_vibrator_0.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//停止震動
VibratorUtil.VibrateCancel(MainActivity.this);
VibratorUtil.Vibrate(MainActivity.this,100); //震動100ms
}
});
/**
* 點擊設置自定義震動模式,重復震動
* */
btn_vibrator_1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//停止震動
VibratorUtil.VibrateCancel(MainActivity.this);
//設置震動參數,停50毫秒,震動100毫秒
long[] prams={50,100,50,100};
VibratorUtil.Vibrate(MainActivity.this,prams,true); //震動100ms
}
});
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
//停止震動
VibratorUtil.VibrateCancel(MainActivity.this);
}
}
震動功能模塊:
package com.example.vibrator;
import android.app.Activity;
import android.app.Service;
import android.os.Vibrator;
/**
* 手機震動工具類
*
* @author Administrator
*
*/
public class VibratorUtil {
/**
* final Activity activity :調用該方法的Activity實例
* long milliseconds :震動的時長,單位是毫秒
*/
public static void Vibrate(final Activity activity, long milliseconds) {
Vibrator vib = (Vibrator) activity
.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(milliseconds);
}
/**
* final Activity activity :調用該方法的Activity實例
* long[] pattern :自定義震動模式。數組中數字的含義依次是[靜止時長,震動時長,靜止時長,震動時長。。。]時長的單位是毫秒
* boolean isRepeat :是否反復震動,如果是true,反復震動,如果是false,只震動一次
* */
public static void Vibrate(final Activity activity, long[] pattern,
boolean isRepeat) {
Vibrator vib = (Vibrator) activity
.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(pattern, isRepeat ? 1 : -1);
}
/**
* 停止震動
* */
public static void VibrateCancel(final Activity activity){
Vibrator vib = (Vibrator) activity
.getSystemService(Service.VIBRATOR_SERVICE);
vib.cancel();
}
}
android對app進行代碼混淆
接到一個新的任務,對現有項目進行代碼混淆。之前對混淆有過一些了解,但是不夠詳細和完整,知道有些東西混淆起來還是比較棘手的。不過幸好目前的項目不是太復雜(針對混淆這塊來說)
android AChartEnginee講解之自定義圖表類
前段時間下載了AChartEnginee的源碼,並且對源碼的框架進行了一些了解,講解了整個框架的組成部分和每個部分的作用,最近一周則主要看了一下源碼中的demo部分,即如
Android 多媒體開發學習之創建圖片的副本
什麼叫創建圖片的副本? 因為我們直接從BitmapFactory取出來的圖片是可讀的,是不可以修改的。 假設用戶想修改這張圖片,一般是先根據原圖在內存中創建和原圖一模一樣
Android分分鐘教你寫一個個性化的加載框
閒來無事寫的一個加載框,實現效果如下:實現思路:其實看樣子就感覺很簡單的...在自定義Relativelayout裡用onDraw繪制就行了。復習了一下以前學的知識。&n