我們都已看過時間推移攝影的完美范例。它是在一段時間內(nèi)拍攝多張照片的過程。它可能是每分鐘、每小時甚至每周拍攝一張照片。通過查看一系列時間推移的照片,可以了解事物如何隨時間而變化。一個可能的示例是觀察一幢建筑物如何建造,另一個可能的示例是記錄一朵花如何成長和盛開。
由于已經(jīng)構(gòu)建了一個基于定時器的Camera應(yīng)用程序,因此將它更新成一個時間推移應(yīng)用程序非常簡單。
首先需要改變一些實例變量并加入一個常量。
...
public class TimelapseSnapShot extends Activity implements OnClickListener,
SurfaceHolder.Callback, Camera.PictureCallback {
SurfaceView cameraView;
SurfaceHolder surfaceHolder;
Camera camera;
需要將Button重命名為startStopButton,因為它現(xiàn)在將處理兩個動作,同時將對其余的變量名執(zhí)行幾個細(xì)小的更新。
Button startStopButton;
TextView countdownTextView;
Handler timerUpdateHandler;
boolean timelapseRunning = false;
與前述的示例一樣,currentTime整數(shù)將用于累加兩次照相之間的時間量,而不是從總延遲遞減。將一個稱為SECONDS_BETWEEN_PHOTOS的常量設(shè)置為60。正如其名稱所暗示的那樣,該常量將用于設(shè)定拍攝照片之間等待的時間。
int currentTime = 0;
public static final int SECONDS_BETWEEN_PHOTOS = 60; // 1分鐘
onCreate方法大體上保持相同——只是將引用新的變量名稱。