Android基础学习(11)-程序调试及代码段
Android基础学习(11)-程序调试及代码段
AlanCooper 发表于3年前
Android基础学习(11)-程序调试及代码段
  • 发表于 3年前
  • 阅读 68
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

一、try...catch...finally错误处理:

package com.wwtiot.ozee5;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class Main extends Activity {
private EditText textX,textY;
private TextView textResult;
private Button btnCaculate;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		//从资源文件夹中获得界面组件
		textX=(EditText)findViewById(R.id.textX);
		textY=(EditText)findViewById(R.id.textY);
		textResult=(TextView)findViewById(R.id.textResult);
		btnCaculate = (Button) findViewById(R.id.btnCaculate);
		
		//设置Button的Listener
		btnCaculate.setOnClickListener(myListener);
			
	}
	
	private Button.OnClickListener myListener = new Button.OnClickListener(){

		@Override
		public void onClick(View v) {
			try{
			int x = Integer.parseInt(textX.getText().toString());
			int y = Integer.parseInt(textY.getText().toString());
			int result = x/y;
			textResult.setText(x+"/"+y+"="+result);
			}catch(NumberFormatException e){
				Toast.makeText(getApplicationContext(), "发生输入非数值的错误!", Toast.LENGTH_SHORT).show();
			}catch(Exception e){
				Toast.makeText(getApplicationContext(), "发生其它的错误!包括分母为0的错误!\n\r错误信息:"+e.toString(), Toast.LENGTH_SHORT).show();
			}finally{
				Toast.makeText(getApplicationContext(), "finally中总会执行!", Toast.LENGTH_SHORT).show();
			}
		}
	};

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}


二、Log-日志文件的使用:

Log日志文件的格式如下:

Log.方法(标签,输出消息)

可用的方法有“verbose”、“debug”、“info”、“warn”、“error5

 

例如:

Private static final String TAG="myLog"

LogCat中,可以通过标签TAG,定位来找出所需的Log信息!

Log.dTAG,“onStart()方法开始运行了!”);

Log.dTAG,“onStart()方法开始运行了!”)语句将“onStart()”字符串输出至“myLog”的标签中!

 

二、日志文件的查看:

1、启动“调试模式”模拟器:

在项目名称上右键单击,选择Debug As/Android Application

2、打开Debug调试窗口:

3、选择Log的种类为“debug”,查看Log.d的输出信息,通常可以使用标签名称来筛选,只获取想要的信息。如此处的TAG(即“myLog”):

1点击Logcat标题栏上的“+”图标,来新增一个Log Filter窗口:

2Filter中输入自定义的日志名称log1

by Log Tag输入标签名称“myLog”,表示要获取所有标签名称为“myLog”的输出消息;

by Log Level中选择“debug”查看Log.d的输出消息;

三、断点:

所谓断点,就是在程序的关键处加入停止点,当程序执行到该处时会暂停,对程序调试非常有帮助。

Main.java

package com.wwtiot.ozee7;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
public class Main extends Activity {
// 声明全局变量
private EditText editNumber;
private TextView txtSum;
private Button btnDo;
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
 
// 获取资源文件中的界面组件
editNumber = (EditText) findViewById(R.id.editNumber);
txtSum = (TextView) findViewById(R.id.txtSum);
btnDo = (Button) findViewById(R.id.btnDo);
 
btnDo.setOnClickListener(new Button.OnClickListener() {
 
@Override
public void onClick(View v) {
int n = Integer.parseInt(editNumber.getText().toString());
int sum = 0;
for (int i = 0; i <= n; i++) {
sum += i;
}
txtSum.setText("总和= " + sum);
}
});
}
 
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
 
}

在上述程序中加入断点进行查看:

1)在Main.java额的263234行前分别按两下设置断点,然后选择工具栏中的下述图标,执行项目并打开Debug窗口:

程序执行到26行上停止,点击下述调试工具栏中的按钮,让程序继续往下执行:

2)出现应用程序的界面,在EditText上输入“5”,然后点击计算按钮;

3)程序停留在第32行的断点上,这时查看Variable窗口可以看到n的值为5。同时也可以看到参数v,也可以将v展开;

4)点击下述调试工具栏上的单步执行图标(或F66次,会发现执行过程,程序在3435行的for循环中反复执行:

5)如果想终止调试,回到一般的编辑状态,可以点击下述调试工具栏上的按钮停止调试:

四、程序代码段:

代码段就是将特定功能程序代码添加到界面上,开发者可以将许多常用的功能分门别类整理好,要使用时即可将程序代码轻松插入到编辑文件里的适当位置。

1、快速创建代码段:

1)选中某一代码片段,点击鼠标右键,在弹出的菜单中点击Add to Snippets

2)如果是第一次创建,输入组名,可输入中文;

3)创建代码段:

2、维护代码段:在上述图中增加删除组或代码段。


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 5
博文 67
码字总数 27450
×
AlanCooper
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: