前言:  日常开发过程中,经常会遇到“连续点击两次退出应用”的需求(和“连续点击多次”的需求(如:手机从设置中进入开发者选项). 直接上代码:双击退出: private long exitTime = 0; /** * 连续点击2次退出 */ public void exitAfterTwice() { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "…
一直使用iPhone作为测试机开发,提交给测试同事Android版本后发现很多适配问题,其中一个非常明显的是,弹出一个modal后,点击Android的返回键,modal不会消失,直接navigation goBack了在Android端需要处理物理按键事件 , 另外可以实现连续两次点击退出APP的功能 componentDidMount(): void { //挂载完,添加返回按键的监听 BackHandler.addEventListener('hardwareBackPress', thi…
最近用monkeyrunner做自动化测试,遇到连续两次点击,第二次点击就会报错“Error sending touch event”. 具体做法如下: device.touch(234,112, 'MonkeyDevice.DOWN_AND_UP') time.sleep(3) device.touch(297,250,'MonkeyDevice.DOWN_AND_UP') 第二次touch的时候报错如下: Error sending touch event: 297 250 DOWN_AND…
1,当用户使用我们的app的时候,有时候无意的或者不是有心的按下了我们的返回键,这时候为了更好的用体验,我们需要让用户再一次确定一下,以便判断用户的真实意图 代码如下: //该功能实现退出时提示的功能 private long curTime; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { //判断是否是按的返回键,且是按下的时候 if (keyCode == KeyEvent.KEYCODE_BACK &&am…
现在的android app在开发时,引入了两次点击返回键退出app的设计 为了避免用户误触,这个设计很人性化 中文网上社区有些同学贴了一些实现的例子,我觉得不是很好 代码如下 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if ((System.currentTimeMillis() - mExitTime) > 2000) { Object mHe…
在用户使用 Android 应用的时候,经常会出现过快且多次点击同一按钮的情况,一方面这是因为应用或手机当前有些卡顿,另一方面也可能是由于很多应用并没有设置按钮点击时的 selector 或者其它按钮响应方式(例如点击按钮时按钮放大,常见于游戏),导致用户误认为没有点击到当前按钮,当然,除了相对应的对应用进行优化和设置点击selector以外,我们还可以做一些其它的工作,例如,判断按钮的 onClick 事件在规定事件段内只响应一次(在论坛的搜索功能中,我们常见到每10秒才可以进行一次搜索的设置…
在Android Studio中下载Android SDK的两种方式(Android Studio3.0.windows) 方式一.设置HTTP Proxy1. 打开Settings2. 点击HTTP Proxy,选择Manual proxy configuration:设置 Host name 为:mirrors.neusoft.edu.cn 设置 Port number 为:80 3. 点击Android SDK,选择SDK Update sites,勾选上Force Https://…,点…
查了资料,发现别人都是说加一个style属性. style="?android:attr/borderlessButtonStyle" 加上了确实管用,但是我绝不是不求甚解的人.追根问题,到底是哪里出了问题?那我就全工程搜索 style="?android:attr/borderlessButtonStyle". 再点击去 接着点 继续 这里发现有两个属性,应该不是background,因为我已经重写了,那么只可能是stateListAnimator.我把这里的代码…
在Android Studio中下载Android SDK的两种方式 Android studio下载地址:http://www.android-studio.org/ 方式一.设置HTTP Proxy1. 打开Settings2. 点击HTTP Proxy,选择Manual proxy configuration:设置 Host name 为:mirrors.neusoft.edu.cn设置 Port number 为:80 3. 点击Android SDK,选择SDK Update site…
在平时开发过程中,MD5加密是一个比较常用的算法,最常见的使用场景就是在帐号注册时,用户输入的密码经md5加密后,传输至服务器保存起来.虽然md5加密经常用,但是md5的加密原理我还真说不上来,对md5的认知目前仅仅停留在会使用的水平,想搞清楚还是要花点时间的,这是md5加密算法的 相关介绍 . 本文主要介绍android平台下两种md5加密方式,分别为基于java语言的md5加密及ndk环境下基于c语言的md5加密. 下面代码为基于java语言的md5加密: public String get…
MonkeyRunner 什么是monkeyrunner monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器.通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上.monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件. monkeyrunner同m…
    说到Android的UI就不得不从一切的开始View开始说.     让我们从Android Developer上的View的Overview和UI Overview来开始吧.     Class Overview     This class represents the basic building block for user interface components. A View occupies a rectangular area on the screen and is…
android studio gradle 两种更新方法更新 第一种.Android studio更新 第一步:在你所在项目文件夹下:你项目根目录gradlewrappergradle-wrapper.properties 修改gradle-wrapper.properties最后一行的地址我的是: distributionUrl=https://services.gradle.org/distributions/gradle-3.3-all.zip 新gradle地址从官方下载的地方有.比如目…
android Fragment的重点: 3.0版本后引入,即minSdk要大于11 Fragment需要嵌套在Activity中使用,当然也可以嵌套到另外一个Fragment中,但这个被嵌套的Fragment也是需要嵌套在Activity中的,间接地说,Fragment还是需要嵌套在Activity中!!受寄主Activity的生命周期影响,当然他也有自己的生命周期!另外不建议在Fragment里面嵌套Fragment因为嵌套在里面的Fragment生命周期不可控!!! 官方文档说创建Frag…
近期,Gartner陆续发布了2018年的数据库系列报告,包括<数据库魔力象限><数据库核心能力>以及<数据库推荐报告>.其中,SequoiaDB巨杉数据库作为业界领先的金融级分布式交易型数据库产品,连续两年入选.此前,SequoiaDB巨杉数据库已于2017年首批入选Gartner数据库报告,和阿里云数据库是仅有的两家连续入选此报告的产品. 金融级用户认可是决定因素 Gartner对于核心应用场景尤其看重,类似大型银行这样的技术要求最严苛.市场需求最大.安全和监管要求…
tileMode(平铺)tileMode(平铺) 的效果类似于 让背景小图不是拉伸而是多个重复(类似于将一张小图设置电脑桌面时的效果) dither(抖动) Dither(图像的抖动处理,当每个颜色值以低于8位表示时,对应图像做抖动处理可以实现在可显示颜色总数比较低(比如256色)时还保持较好的显示效果 <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@dra…
●  什么是JPush ●  一套远程推送解决方案,支持android和iOS两个平台 ●  它能够快捷地为iOS App增加推送功能,减少集成APNs需要的工作量.开发复杂 度 ●  更多的信息,可以参考JPush官方网站:https://www.jpush.cn ●  集成iOS SDK的步骤可以参考 ●  http://docs.jpush.cn/pages/viewpage.action?pageId=2621727 JPush的集成步骤 注册帐号,创建应用 填写iOS App的必要信息…
在正常的业务逻辑中,对客户的分析是必须的也是最经常用到的,根据时间维度计算计算指标连续两月环比情况也是一道必须面对的题目. 国庆放假 先写代码 后面再拆分解释 SELECT a.*,b.年月 AS 上月,b.金额 AS 上月金额,(a.金额-b.金额) AS 金额较上月增长 FROM ( ) AS ID1 FROM ( SELECT a1.city AS 城市,username AS 用户ID,DATE_FORMAT(a1.order_date,"%Y%m") AS 年月,SUM(a1…
需求:给定一个字符串str,将str中连续两个字符为a的字符替换为b(一个或连续超过多个字符a则不替换) 如: a 不替换 b 不替换  ab 不替换 ba 不替换 aba 不替换  aab 替换为 bbb  baa 替换为 bbb  abaabaaabaa 替换为 abbbbaaabbb 中间三个a不作替换 源代码如下ReplaceTest.java: package com.test.zhipengs; /** * A Question * 给定一个字符串str,将str中连续两个字符为a的…
方法1: 主要通过计时器,在一段时间内的连续两次单击,触发双击事件 void init() { m_nClickCount = 0; m_timer = new QTimer(this); connect(m_timer, SIGNAL(timeout()), this, SLOT(onKeyOneClick())); } void mouseReleaseEvent(QMouseEvent*) { if (!m_timer->isActive()) //计数期间,则不重新开始 { m_time…
Android监听消息通知栏点击事件 使用BroadCastReceiver 1 新建一个NotificationClickReceiver 类,并且在清单文件中注册!! public class NotificationClickReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //todo 跳转之前要处理的逻辑 Log.i("TAG&qu…
''' 它接受数字num1和num2,如果在num1的任何位置有一个数字的连续三倍,并且在num2中有一个数字的连续两倍,则返回1. 如果不是这样,则返回0 例子 triple_double(451999277, 41177722899) == 1 num1有三个直的999,num2有两个直的999 triple_double(1222345, 12345) == 0 num1有直接的三重2s,但是num2只有一个2 triple_double(12345, 12345) == 0 triple…
在这篇文章之前,我已经陆陆续续写了几篇博客,介绍了Android Animation是如何使用的,有还不明白的,可以点击查看: 1. Android Animation动画详解(一): 补间动画 2. Android Animation动画详解(二): 组合动画特效 3. Android Animation动画实战(一): 从布局动画引入ListView滑动时,每一Item项的显示动画 今天介绍的也是Android动画的一个实战内容,从屏幕底部滑动弹出PopupWindow. 相信这种效果大家在…
1. 使用GridView自带属性ShowEditButton和ShowDeleteButton,均设为True  <Columns> ... <asp:CommandField ShowEditButton="True" ShowDeleteButton="True"></asp:CommandField> </Columns> 则在GridView指定列的位置会显示Edit和Delete的LinkButton 2.…
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> //头文件 #import "MoreView.h" @interface RootViewController : UIViewController { //是否点击 BOOL isSwitch; //红色UIView界面 MoreView *moreView; } @end RootViewController.m //点击任何处,显示出红色…
默认情况下,bootstrap 弹出框点击其他区域时,弹出框会自动关闭,在很多时候,我们可能会希望达到和原生弹出框一样的效果,避免不小心点击其他区域时弹框自动隐藏,尤其是对于一些复杂的表单,重复填写可能会带来很不好的体验效果,所以,我们会希望不会发生这种情况,事实上bootstrap dialog提供了大量的选项可以设置各种dialog的行为和效果.如下所示: <div class="modal fade" id="myModal" tabindex=&quo…
/************************************************************************* > File Name: 38_NumbersAppearOnce.cpp > Author: Juntaran > Mail: JuntaranMail@gmail.com > Created Time: 2016年09月03日 星期六 10时50分32秒 **************************************…
jquery层居中,点击小图查看大图,弹出层居中代码 http://www.cnblogs.com/simpledev/p/3566280.html 见第一版,发现一个情况,如果页面内容多出一屏的情况下,点击查看图片的时候,弹出的层图片在最上面居中,并没有在当前的滚动栏处屏幕居中.修改代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/htm…
一.前言 在编写页面的时候,我们经常使用到弹出层.对于弹出层,原本的意义就是增加与用户的交互,提升用户的好感度.如果弹出层都没有较好的体验,那何谈通过交互来提升好感... 首先提出几个弹出层的注意点: 弹出层的界面需要统一,不一致的弹出层并不能增加美感,相反还会显得页面布局更加杂乱无章: 弹出层的设计一定要好看,按钮要符合项目的主色调: 弹出层的宽度固定屏幕占比,设置max-width,高度根据内容自适应: 点击其他区域隐藏弹出层... 二.正文 今天,主要说说点击其他区域隐藏弹出层.笔者被这个…
笔记本:Levono E440   问题描述: 在控制面板中,点击鼠标时,弹出“无法连接synaptics定点装置驱动程序”错误,如何解决? 即使在安装联想的驱动后,也没办法解决   解决步骤: 1.查看驱动文件安装位置: "开始“--”运行“--regedit(打开注册表)--依次打开  HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVERSION/Run 查看SynTPEnh对应的路径: 比如,我的为:C:\Program File…