2017-2018-20172311 暑期編程做業:APP

2017-2018-20172311 暑期編程做業:實現一個簡單倒計時APP

  • 寫在前面:暑假的時候就單純的想要設計一個倒計時軟件,而後就經過查閱資料等學了一些,包括實現倒計時功能及顯示;背景音樂的添加;圖標的設置;界面的優化設計;從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的設計以下:

製做以前的準備工做:

  • 1.作一個什麼樣的app呢?
    王老師讓咱們暑期本身設計實現一個app,因而,作一個遊戲?一個詞典?一個音樂軟件?一個交易平臺?······最後,仍是從最簡單的開始吧。計算器上學期實現了,就作一個簡單的計時器吧!
  • 2.倒計時功能如何實現啊?
    上網查閱計時器實現的總體思路並進行深刻學習。
  • 3.app名字怎麼改?app圖標怎麼設置?app背景怎麼設置?app音樂怎麼導入和使用?
    前三個問題很是感謝王志偉同窗的幫助,hahahaha!第四個問題很是感謝譚鑫同窗的幫助,hahahaha!
  • 4.Android studio裏設計的app如何提取出來?
    查閱資料Android Studio 生成正式簽名apk(app-release.apk)的兩種方式,同時也很是感謝譚鑫同窗的協助,hahahaha!

製做過程

主功能的實現:

這個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可以拓展的地方仍是挺多的

  • app的介紹以及使用功能
  • 添加正計時功能的
  • 添加間隔計時報時功能,好比每隔必定時間報一次時
  • 添加背景音樂選擇以及是否播放功能 、
  • 添加開啓多組計時功能

反思與總結

  • 雖然這個APP很簡單(捂臉笑.jpg),可是經過本身的學習也讓我受益不淺。我學到了如何建立一個app項目,如何設計app的圖標和名字,如何添加背景圖片和背景音樂以及如何將一些在IDEA裏實現的代碼在Android studio裏使用等等,這些很基礎,也很重要!當我把這個app安裝包傳到手機上安裝並運行成功的時候!我真的很是開心!這是個人第一個專屬app啊!可是,此次暑期做業的完成質量確實不高,主要是由於本身當時對本身提出的要求有點低了,並且在app開發的功能設計上也存在很大不足!但願在之後的學習中去努力提升本身,開發出更好的軟件來吧!

參考文獻

相關文章
相關標籤/搜索