寫在前面:暑假的時候就單純的想要設計一個倒計時軟件,而後就經過查閱資料等學了一些,包括實現倒計時功能及顯示;背景音樂的添加;圖標的設置;界面的優化設計;從Android studio中把設計的APP提取出來。說實話這個APP確實是有點太簡單了,可是既然作了,就把作的過程和結果簡單記錄一下吧(捂臉笑.gif),雖然也忘得差很少了(捂臉笑.gif)。html
做品展現:
java
安裝包地址:密碼:n652android
app原始圖標以下:
編程
app設計圖標以下(get from internet):
app
app原始背景:ide
嗯!空白學習
app的設計背景以下(get from internet):
優化
app的背景音樂信息:
歌曲名:Shape of You (伴奏)
歌手名:Zoom Karaoke
專輯名:Zoom Karaoke Pop Chart Picks 2017 - Part 1ui
修改後的res結構以下:
this
app名稱和圖標的修改以下:
layout的設計以下:
這個app的主要功能就是實現背景音樂的播放和倒計時的過程顯示(捂臉笑.gif),經過在MainActivity.java代碼中的註釋表達一下本身的思路。MainActivity.java代碼以下:
import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import java.util.Timer; import java.util.TimerTask; public class MainActivity extends Activity implements View.OnClickListener { private EditText inputet; private Button getTime,startTime,stopTime; private TextView time; private double i = 0; private Timer timer=null; private TimerTask task=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); //啓用initView()方法 //播放音樂文件shape MediaPlayer mediaplayer = MediaPlayer.create(this,R.raw.shape); mediaplayer.start(); } //initView()方法 private void initView(){ //創建文本框和按鈕引用 inputet=(EditText) findViewById(R.id.inputtime); getTime=(Button) findViewById(R.id.gettime); startTime=(Button) findViewById(R.id.starttime); stopTime=(Button) findViewById(R.id.stoptime); time=(TextView) findViewById(R.id.time1); //設置監聽事件 getTime.setOnClickListener(this); startTime.setOnClickListener(this); stopTime.setOnClickListener(this); } //設置按鈕以後執行的操做 @Override public void onClick(View v) { switch (v.getId()){ case R.id.gettime: time.setText(inputet.getText().toString());//將時間顯示在文本框裏 i=Double.valueOf(inputet.getText().toString()); break; case R.id.starttime: startTime(); break; case R.id.stoptime: stopTime(); break; } } //建立Handler對象,實現計時功能 private Handler mHandler = new Handler(){ public void handleMessage(Message msg){ time.setText(msg.obj+""); startTime(); }; }; //開始計時方法 public void startTime(){ timer=new Timer(); task=new TimerTask() { @Override //實現數字減小與時間減小相對應 public void run() { i=(double)Math.round( (i-0.1)*10)/10; Message message=mHandler.obtainMessage(); message.obj=i; mHandler.sendMessage(message); } }; timer.schedule(task,100); } //中止計時方法 public void stopTime(){ timer.cancel(); } }
如今看來,這個app可以拓展的地方仍是挺多的