前言:

老实说,我有点不知道该讲什么了,希望看过的人能给我提提意见,感激不尽。

本期知识点:

长按事件,log的简单使用,双击退出程序功能的实现

正文:

上一期我们了解到点击事件其实就是让控件绑定一个监听器,之后在监听器中写上相关的处理代码,如弹出Toast弹窗啊等等,长按事件与点击事件十分类似,过程实现的也是几乎一样的

问题来了,竟然是一样的,那么之前在点击事件中说的五种设置监听器的方法在长按事件中能否也能实现呢?答案是可以的,限于时间,我就不一一测试了,以之前点击事件,直接实现了一个onlongclick接口,之后为控件绑定监听器,复写监听器中的方法

效果:

上面的图片很好的展示了我们的效果,不知道大家是不是注意到了,我们使用的Toast弹窗就是被用来当做检查测试来使用的,这里我们的代码还比较少,用Toast没有什么问题,但是,日后,可能我们写的代码很多,也很复杂,测试的时候出现了bug,我们用Toast去检查的话是不是很头疼?所以接下来向大家简单的介绍一下Log的使用

Log的使用其实很简单,我们只需要打上Log,之后按下tab键就会像Toast那样补全代码,我电脑不知道最近怎么了,按下tab键无法补全代码,不过,大家的电脑应该是可以的

我在长按事件中添加了图片中的代码,Log.d里面接收两个String参数,第一个是Tag(标识),第二个则是内容,一般使用的时候,我们可以在当前的activity中声明一个静态String常量,之后调用Log的时候,Tag就直接使用该常量即可,如下面的例子

private static final TAG = “MainActivity”;

要怎么样去查看呢?打开Android Monitor,就会出现一个面板,之后,我们就在模拟器中进行相关的操作,返回查看就会显示消息了

我们在许多APP都有双击退出程序的功能,这个功能想必大家应该也有兴趣吧,所以来讲解一下

Activity中有一个方法名为onBackPressed,如名字可以知道就是当我们按下返回键时候就会调用此方法

实现的思路,当按下返回键时,弹出一个Toast,提示用户需要再按一次才可以退出程序,用户如果在两秒内再次按下了返回键就退出程序,否则不退出程序

这里我们还需要在onDestroy加上System.exit(0);

代表着完全退出,如果不加的程序就会报错

效果:

教我徒弟Android开发入门(三)的更多相关文章

  1. 教我徒弟Android开发入门(一)

    前言: 这个系列的教程是为我徒弟准备的,也适合还不懂java但是想学android开发的小白们~ 本系列是在Android Studio的环境下运行,默认大家的开发环境都是配置好了的 没有配置好的同学 ...

  2. 教我徒弟Android开发入门(二)

    前言: 上一期实现了简单的QQ登录效果,这一期继续对上一期进行扩展 本期的知识点: Toast弹窗,三种方法实现按钮的点击事件监听 正文:   Toast弹窗其实很简单,在Android Studio ...

  3. 教我徒弟Android开发入门(四)

    本期知识点: 两大常用布局的简单介绍 在我们的APP使用第三方库 Android Studio常用快捷键 一.两大常用布局 1.LinearLayout线性布局 线性布局,可以垂直显示或者水平显示,设 ...

  4. Android开发入门

    教我徒弟Android开发入门(一) 教我徒弟Android开发入门(二) 教我徒弟Android开发入门(三) 出处:http://www.cnblogs.com/kexing/tag/Androi ...

  5. [译]:Xamarin.Android开发入门——Hello,Android Multiscreen深入理解

    原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本 ...

  6. [译]:Xamarin.Android开发入门——Hello,Android深入理解

    返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...

  7. [译]:Xamarin.Android开发入门——Hello,Android快速上手

    返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...

  8. Android开发入门经典【申明:来源于网络】

    Android开发入门经典[申明:来源于网络] 地址:http://wenku.baidu.com/view/6e7634050740be1e650e9a7b.html?re=view

  9. Android开发入门要点记录:四大组件

    cocos2dx跨平台开发中需要了解android开发,昨天快速的浏览了一本Android开发入门教程,因为之前也似懂非懂的写过Activity,Intent,XML文件,还有里面许多控件甚至编程思想 ...

随机推荐

  1. c# Nlog 非xml cs方法配置

    public static void InitLog(TargetWithLayout target = null, string level = "Debug", string ...

  2. 用VS2015编译sqlcipher

    简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌 ...

  3. 启动mysql遇到1067问题

    最近安装sql的时候,出现一些问题:启动的时候出现1067错误 在网上找了很多方法,比如删除mysql安装目录下date的bdata1, ib_logfile0, .. 等innodb的文件, 比如修 ...

  4. 异步请求时有时会让js不起作用,那么重新加载js

    function reloadSmartMenu() { var jsElem = document.createElement('script'); jsElem.src= path+'/syste ...

  5. elasticsearch节点(角色)类型解释node.master和node.data

    在生产环境下,如果不修改elasticsearch节点的角色信息,在高数据量,高并发的场景下集群容易出现脑裂等问题. 默认情况下,elasticsearch集群中每个节点都有成为主节点的资格,也都存储 ...

  6. Python世界里的赋值运算符

    Python赋值运算符 以下假设变量a为10,变量b为20: "=" 的作用是把右边的数值赋值给左边的变量 示例1:编程实现145893秒是几天几小时几分钟几秒钟? total = ...

  7. MysqL错误之_ERROR! MySQL server PID file could not be found!

    在配置Mysql主从GTID模式下,启动Mysql服务时出现报错,搜索了一番,找到了一个简单可靠的方法,直接成功.如果遇到相同问题没有解决的童鞋,那就去试一下很多其他方案,如,强制杀掉进程重启,修改其 ...

  8. 剑指offer第二天

    18.二叉树的镜像 操作给定的二叉树,将其变换为源二叉树的镜像. /** public class TreeNode { int val = 0; TreeNode left = null; Tree ...

  9. UVA - 11270 轮廓线DP

    其实这题还能用状压DP解决,可是时间达到2000ms只能过掉POJ2411.状压DP解法详见状压DP解POJ2411 贴上POJ2411AC代码 : 2000ms 时间复杂度h*w*(2^w)*(2^ ...

  10. 在SpringBoot中存放session到Redis

    前言 今天你们将再一次领略到SpringBoot的开发到底有多快,以及SpringBoot的思想(默认配置) 我们将使用redis存放用户的session,用户session存放策略有很多,有存放到内 ...