iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0
Mobile Development

Android Studio開發過程和介紹系列 第 21

【DAY 21】 簡單介紹Toast、Log

  • 分享至 

  • xImage
  •  

前言

Toast跟Log通常都會用來顯示一個動作有沒有執行,不過Toast會在畫面上顯示出來,而Log會以系統訊息的樣子顯示,因此在使用上前者會用來提示使用者現在的狀態,例如登入後就顯示已登入;後者則是用來除錯,例如可以在傳送資料前後加個Log,將傳送跟接收的資料印出來,還有也可以將錯誤訊息轉換成好看懂得形式,以便之後進行除錯的工作。

布局設定

這次的實作我打算用的簡單一點,用一個按鈕按下後就同時使用Toast和Log,因此這邊我就省略程式碼的部分,直接跳到MainActivity

MainActivity

使用Toast的方法就像下面這樣

Toast.makeText(this,"按下按鈕後跳出的訊息",Toast.LENGTH_LONG).show();

makeText(要顯示的介面,想要彈出的訊息,duration)

  • 顯示的介面填入this指定為現在這個activity。
  • 想要彈出的訊息,就如字面上所說的填入文字就好。
  • duration,這裡要填入這個訊息要存在多久的參數,有Toast.Length_SHORT跟LONG可以填入。
  • 最後記得要.show,將設定好的Toast給顯示出來。

按下按鈕後就會在底下看到這個
https://ithelp.ithome.com.tw/upload/images/20231001/20161500pjjYLFbsl8.png

使用log的方法

Log.d("mine", "可以填入想要讓系統彈出的訊息,這樣能幫助在除錯時可以更好分辨是哪個部分出錯。");

log有分deimrw,每個都有自己特別的用途,
比較萬用的是 d、e ,d是指Debug,e是Error
log.d通常會用來檢查一些程式執行的結果,第一個會填入tag,之後就可以用tag去找log的訊息,後面就是填入想讓它顯示的訊息,
log.e會多一個接收錯誤訊息的功能,可以用來找出報錯的原因。

log的訊息要到下面的Logat才看的到
https://ithelp.ithome.com.tw/upload/images/20231001/20161500xSOWPA41TN.png

整體程式碼就長這樣

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Button button;
    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = findViewById(R.id.button);

        button.setOnClickListener(view -> {
            Toast.makeText(this,"按下按鈕後跳出的訊息",Toast.LENGTH_LONG).show();

            Log.d("mine", "可以填入想要讓系統彈出的訊息,這樣能幫助在除錯時可以更好分辨是哪個部分出錯。");
        });
    }
}

以上簡單介紹除錯方式就到這邊,之後可以多加善用讓程式的除錯工作變得更簡單,除此之外Toast也可以印用在登入介面,按下登入後就彈出訊息告知已登入的訊息,下一篇文章我會介紹各種進度條的使用方法。


上一篇
【DAY 20】 RecyclerView + Dialog
下一篇
【DAY 22】 各種進度條介紹
系列文
Android Studio開發過程和介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言