【入門篇】ANDROID開發之BUG專講

來源:互聯網
上載者:User

標籤:

話說諸葛亮是一個優秀的程式猿,每一個錦囊都是應對不同的case而編寫的!但是優秀的程式猿也敵不過更優秀的bug!六齣祈山,七進中原,鞠躬盡瘁,死而後已的諸葛亮只因為有一個錯誤的case-馬謖,整個結構就被break了!

 

BUG真的是一個很討人厭煩的東西,它總是在你以為自己已經戰勝它的時候跳出來嘲笑你。如何才能拿下這些煩人的BUG呢?我想要從DEBUG開始。這裡給剛剛接觸編程的新手們介紹一下Debug的方法,學會了這些方法後反覆練習,當你積累了上萬的有效代碼量以後自然會發現你的水平將大大精進。

 

工具介紹

 

Android Studio:幾乎所有的編譯器都會帶上自己的DEBUG調試器,所以先來講講這個。我這裡就以Android studio為例,Android studio是Google推出的專門同來進行Android開發的軟體,由於針對性比eclipse強所以裡面整合了很多外掛程式個人覺得比eclipse方便不少。現在多數安卓開發人員都在使用這款IDE了。

 

Android Studio內建模擬器:簡單講Android不像C或者C++甚至是單純的Java編程。它從設計到編寫程式到調試,都離不開手機,Android Studio內建一款強大的模擬器,他能在電腦上類比出一台手機,如果你不考慮程式在真實裝置上的相容性,這款模擬器已經非常棒了,一般程式在開發階段的需要都能用模擬器來滿足。

 

雲手機:模擬器也有缺點,它的效率比較低,並且程式在真機上的運行情況,遠比模擬器要複雜,所以開發人員的程式寫好後還需要用真機調試。我不太不願意用自己手機調試,所以會用Testbird的雲手機,它們會在雲端提供好幾百款主流手機,你可以直接用Android Studio等IDE,去遠端連線這些機器做調試,簡直就是為調試Android程式量身定做的,感興趣的同學可以註冊使用,現在免費開放註冊

 

建立一個初始程式

 

首先在建立一個預設的空白工程之後,我們先在工程裡面加點兒東西,這樣我們才有東西可調。因為這篇文章是寫給新手們看的(調試都不會你敢自稱老手?),大家都知道Android編程裡非常重要的一個概念就是MVC,MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。其中模型(model)大家可以不管,因為這涉及到結構和資料類型,本例還涉及不到。

 

View可以這麼概括——你在手機上所看見的都是view或者由view組成的,但這句話反過來是錯的,View並不都是可見的。至於controller控制器你可以將其理解為你的控制邏輯。在Android studio預設工程裡面本來是有一個TextView和一個信封樣的按鈕,我們可以對這個預設工程作出如下修改:添加一個Button按鍵,在使用者按下該按鍵之前那個TextView顯示的內容為預設的“Hello world!”。當使用者按下按鈕以後該TextView變成“->按下的次數”。我把具體步驟貼在這兒:

 

以Design形式開啟content_main.xml,拖出一個Button控制項,再進入content_main.xml的Text形式,在button裡面加入這樣一句話:android:onClick="Btn1_Click",然後進入MainActivity.java檔案,依次加入下面的語句:

import android.widget.*; // 引入JAVA包

TextView textView;//建立一個TextView對象

Button button; // 建立一個button對象

int count = 0;

在onCreate()方法中添加如下語句:

button = (Button)findViewById(R.id.button);

textView = (TextView)findViewById(R.id.textView);//這兩句話將View和controller聯絡了起來,也就是說你對手機上view的操作有了這兩句話才能反映到你的控制邏輯也就是程式中來~

public void Btn1_Click(View view)//按鍵後要作出反映的函數。
{
    String str = "---->" + count;
    textView.setText(str);
    count++;
}

然後運行程式就可以了,按一下數字就會增加一個。這裡先上一張圖(我用的是雲手機,大家有條件的可以用自己的手機或者模擬器):

 

 

DEBUG的第一步,設定斷點

 

現在初始程式就算是完成了,接下來說說調試,Android調試首先你得知道自己在哪兒打斷點,它不像C語言那樣只有C檔案在你想打哪兒打哪兒。Android主要有兩種形勢的檔案,一種是.java檔案一種是.xml檔案。打斷點只能打在.java檔案裡面,因為.java檔案就是控制邏輯。而.xml檔案大家可以理解成視圖檔案或者叫布局檔案,程式走邏輯流程是永遠不會走到那兒的,就算到了也沒有任何的意義。打斷點的方式也非常簡單,只是在某一行代碼前用滑鼠左鍵點一下出現了紅圓點就表示打斷點成功了。如:

 

 

 

打點是使用DEBUG的第一步,那麼接下來就只需要點擊run->debug”run”就可以了。當你的程式運行到斷點所在的位置的時候程式就會自動暫停,如:

 

 

 

如果你是通過DEBUG運行程式手機也會有提示,大家可以看看。

然後程式如果運行到斷點處你就會看見某行處於被選中的狀態,這個時候程式已經暫停了。

 

 

 

這個時候你可以選擇繼續運行到下一個斷點或者自己一步一步的跟蹤調試下去:

一步步調試(F8)

 

 

 

直接運行到下一個斷點(F9)

 

 

Debug的操作核心就只有這簡單的三步:打斷點,通過DEBUG運行程式,按自己的需要選擇調試方式(調試途中也可以打斷點)。

 

今天主要給大家簡單的介紹了一下Debug,是基本使用方式,下一節將為大傢具體講解DEBUG的用法和特性。

 

【入門篇】ANDROID開發之BUG專講

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.