Android開發之BUG專講:入門篇(一)

來源:互聯網
上載者:User

標籤:ack   microsoft   資料類型   ade   mic   提示   div   量身定做   params   

前言:

本文周才智 轉載須註明作者與出處。違者必究。

原文地址:http://segmentfault.com/a/1190000004380690

話說諸葛亮是一個優秀的程式員,每個錦囊都是應對不同的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程式量身定做的。
Testbird官方注冊地址(如今送價值260元的體驗機時 啟用時間為1月1日至1月31日)

建立一個初始程式:

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

View能夠這麼概括——你在手機上所看見的都是view或者由view組成的,但這句話反過來是錯的,View並不都是可見的。至於controller控制器你能夠將其理解為你的控制邏輯。

在Android studio預設project裡面本來是有一個TextView和一個信封樣的button,我們能夠對這個預設project作出例如以下改動:加入一個Button按鍵,在使用者按下該按鍵之前那個TextView顯示的內容為預設的“Hello world!”。當使用者按下button以後該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檔案大家能夠理解成視圖檔案或者叫布局檔案,程式走邏輯流程是永遠不會走到那兒的,就算到了也沒有不論什麼的意義。打斷點的方式也很easy,僅僅是在某一行代碼前用滑鼠左鍵點一下出現了紅圓點就表示打斷點成功了。例如以:

打點是使用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.