Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 3719|回复: 5

[android] 安卓开发之bug专讲

  [复制链接]

该用户从未签到

发表于 2016-6-24 14:49:47 | 显示全部楼层 |阅读模式
话说诸葛亮是一个优秀的程序猿,每一个锦囊都是应对不同的case而编写的!但是优秀的程序猿也敌不过更优秀的bug!六出祈山,七进中原,鞠躬尽瘁,死而后已的诸葛亮只因为有一个错误的case-马谡,整个结构就被break了!
BUG真的是一个很讨人厌烦的东西,它总是在你以为自己已经战胜它的时候跳出来嘲笑你。如何才能拿下这些烦人的BUG呢?我想要从DEBUG开始。这里给刚刚接触编程的新手们介绍一下Debug的方法,学会了这些方法后反复练习,当你积累了上万的有效代码量以后自然会发现你的水平将大大精进。
工具介绍:
Android Studio:几乎所有的编译器都会带上自己的DEBUG调试器,所以先来讲讲这个。我这里就以Android studio为例,Android studio是谷歌推出的专门同来进行Android开发的软件,由于针对性比eclipse强所以里面集成了很多插件个人觉得比eclipse方便不少。现在多数安卓开发者都在使用这款IDE了。
Android Studio自带模拟器:简单讲Android不像C或者C++甚至是单纯的java编程。它从设计到编写程序到调试,都离不开手机,Android Studio自带一款强大的模拟器,他能在电脑上模拟出一台手机,如果你不考虑程序在真实设备上的兼容性,这款模拟器已经非常棒了,一般程序在开发阶段的需要都能用模拟器来满足。
云手机:模拟器也有缺点,它的效率比较低,并且程序在真机上的运行情况,远比模拟器要复杂,所以开发者的程序写好后还需要用真机来调试。我不太不愿意用自己手机调试,所以会用Testbird APP测试平台的云手机,它们会在云端提供好几百款主流手机,你可以直接用Android Studio等IDE,去远程连接这些机器做调试,简直就是为调试Android程序量身定做的。
Testbird官方注册地址
建立一个初始程序:
首先在建立一个默认的空白工程之后,我们先在工程里面加点儿东西,这样我们才有东西可调。因为这篇文章是写给新手们看的(调试都不会你敢自称老手?),大家都知道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里面加入这样一句话:androidundefinednClick="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的用法和特性。

回复

使用道具 举报

该用户从未签到

发表于 2017-7-16 11:41:06 | 显示全部楼层
谷谷交易平台都有卖的
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2017-12-28 03:54:28 | 显示全部楼层
《开发票》联系:18392595184
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-1-22 18:56:12 | 显示全部楼层
不限流量不限网速,山区、农村、城镇高速免费上网不花钱!最新9500WG接收信号高达19公里,无论您身在地球任何一个角落,都能搜到信号实现免费上网,最新软件全自动智能管理,信号强,网速快,优先自动连接上网,免去您任何手动繁琐作,保证让您高速上网免费不花钱就是这么简单!
朋友们,您还在为家里装修要拉网线烦恼吗?还在忧愁每年交昂贵网费吗?还在苦恼出差无法上网吗?还在傻傻节省4G流量每月还要高达几十元流量费吗?还在敢怒不敢言的公司、学校、宿舍限制上网吗?还在苦逼每天站在阳台高举手机为了搜一个wifi吗?世界上最遥远的距离是明明有wifi,却用不了是多么痛苦的事!玩一会王者荣耀没了几个G的流量,看了一会视频,没了几个G的流量,壕!?还是无奈!?明明很节省,没用少则几十元多则上百元的流量费,如此高昂的费用是不是让您皱眉呢?没关系,用最新9500WG永久免费上网吧!只要238元让您永久免费上网不花钱,无需电脑,无需布线,只需插电,电脑、手机、平板免费上网就是这么任性,wifi信号覆盖高达19公里,无需站阳台,无需放窗外,想在哪里就在哪里!信号强,网速快,免费上网,能免则免,免费到底!
免费热线:188-2652-1502  客服QQ:1094201567 官网 www.ccyxf.com
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-2-3 22:07:33 | 显示全部楼层
女 用 催 情 药 哪 里 有 卖▇买★QQ微信同号86450585全国支持货到付款,安全隐私保护█信誉第一诚信合作。专业的品质,强劲的效果,回头客信赖。【国外进口老店】!【招代理,投入三万,月入十万以上,市场需求大,酒吧夜场网吧ktv酒店】
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2018-2-24 22:25:59 | 显示全部楼层
三网合一,尽享电信、联通、广电高速上网0资费,不限流量不限网速,山区、农村、城镇高速免费上网永不花钱!最新9500WG接收信号距离高达19公里,无论您身在地球任何一个角落,都能搜到信号实现免费上网,最新软件全自动智能管理,信号强,网速快,优先自动连接上网,免去您任何手动繁琐作,保证让您高速上网免费不花钱就是这么简单!
朋友们,您还在为家里装修要拉网线烦恼吗?还在忧愁每年交昂贵网费吗?还在苦恼出差无法上网吗?还在傻傻节省4G流量每月还要高达几十元流量费吗?还在敢怒不敢言的公司、学校、宿舍限制上网吗?还在苦逼每天站在阳台高举手机为了搜一个wifi吗?世界上最遥远的距离是明明有wifi,却用不了是多么痛苦的事!玩一会王者荣耀没了几个G的流量,看了一会视频,没了几个G的流量,壕!?还是无奈!?明明很节省,没用少则几十元多则上百元的流量费,如此高昂的费用是不是让您皱眉呢?没关系,用最新9500WG永久免费上网吧!只要238元让您永久免费上网不花钱,无需电脑,无需布线,只需插电,电脑、手机、平板免费上网就是这么任性,wifi信号覆盖高达19公里,无需站阳台,无需放窗外,想在哪里就在哪里!信号强,网速快,免费上网,能免则免,免费到底!
免费热线:188-2652-1502  客服QQ:1094201567 官网 www.ccyxf.com












9500WG
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-3-29 15:47 , Processed in 0.383283 second(s), 47 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表