Android学习开发(5)------GeoQuiz(4)


前言

本章将讲解如何处理应用的bug,同时也会介绍如何使用LogCat、Android Lint以及Android Studio内置的代码调试器。

一·异常与栈跟踪(QuizActivity.java)

public class QuizActivity extends AppCompatActivity {     
...    
private void updateQuestion() {   
Log.d(TAG, "Updating question text ", new Exception());  
 int question = mQuestionBank[mCurrentIndex].getTextResId();   
 mQuestionTextView.setText(question);     
 }
public class QuizActivity extends AppCompatActivity {     
...    
 private void updateQuestion() {    
 int question = mQuestionBank[mCurrentIndex].getTextResId();   
 mQuestionTextView.setText(question);     
 } 

二。设置断点

1.取消代码注释(QuizActivity.java)

@Override  
protected void onCreate(Bundle savedInstanceState) {     
super.onCreate(savedInstanceState);     ...     
mNextButton = (Button)findViewById(R.id.next_button);     
mNextButton.setOnClickListener(new View.OnClickListener() {   
@Override   
public void onClick(View v) {   
~~//~~  mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length;  
 updateQuestion();  
  }     
  }
  );     
  ... 
  } 

三。使用Android Lint

Android Lint是Android应用代码的静态分析器(static analyzer)。作为一个特殊程序,它能在不运行代码的情况下检查代码错误。凭着对Android框架 的熟练掌握,Android Lint能深入检查代码,找出编译器无法发现的问题。在大多数情况下,Android Lint检查出的问题都值得重视。

不匹配的对象类型(QuizActivity.java) @
 @Override  
 protected void onCreate(Bundle savedInstanceState) {     
 super.onCreate(savedInstanceState);     
 Log.d(TAG, "onCreate(Bundle) called");     
 setContentView(R.layout.activity_quiz);     
 ...     
 mQuestionTextView = (TextView)findViewById(R.id.question_text_view); 
    
    ~~mTrueButton = (Button)findViewById(R.id.true_button);~~      
    mTrueButton = (Button)findViewById(R.id.question_text_view);     
    ... } 

修正类型不匹配的代码错误(QuizActivity.java) 
@Override protected void onCreate(Bundle savedInstanceState) {     
super.onCreate(savedInstanceState);      
Log.d(TAG, "onCreate(Bundle) called");     
setContentView(R.layout.activity_quiz); 
    mQuestionTextView = (TextView)findViewById(R.id.question_text_view); 
    ~~mTrueButton = (Button)findViewById(R.id.question_text_view);~~      
    mTrueButton = (Button)findViewById(R.id.true_button);     ... }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值