写在前面:暑假的时候就单纯的想要设计一个倒计时软件,而后就经过查阅资料等学了一些,包括实现倒计时功能及显示;背景音乐的添加;图标的设置;界面的优化设计;从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可以拓展的地方仍是挺多的