Android基础学习(11)-程序调试及代码段

一、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调试窗口:

212357_AS1h_1054307.png

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

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

212451_bUCY_1054307.png

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

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

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

212556_NdIU_1054307.png

三、断点:

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

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窗口:

212819_oSYH_1054307.png

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

212929_b75K_1054307.png

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

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

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

213035_t1tz_1054307.png

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

213250_QBRX_1054307.png

四、程序代码段:

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

1、快速创建代码段:

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

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

3)创建代码段:

215335_q4eI_1054307.png

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


转载于:https://my.oschina.net/zhouyang2021/blog/321137

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值