首页 文章 精选 留言 我的

精选列表

搜索[网站开发],共10000篇文章
优秀的个人博客,低调大师

《Android应用开发攻略》——第3章 测试 3.1 导言:测试

第3章 测试 3.1 导言:测试 Ian Darwin讨论“尽早并经常测试”是测试倡导者们的常用口号。最重要的问题是,“如果你没有测试,如何知道代码能够正常工作?”测试有许多种类型。单元测试单独检查各个组件(不访问网络或者数据库)。JUnit和 TestNG是这方面处于领先地位的框架。在需要与其他组件交互时,单元测试使用模拟对象,有多个好的Java模拟框架。Android提供了许多特殊的测试技术,我们在这里要讨论其中的一些技术。先介绍一下本章中出现的NPE、ANR和FC等术语,后面不再进一步解释。NPE是指Null Pointer Exception(空指针异常),是“传统Java”缩略语。ANR是Android特有的缩略语——Application Not Responding(应用程序未响应),这是当你的应用程序对请求的响应被判断

优秀的个人博客,低调大师

《Android应用开发攻略》——2.15 用提示代替工具提示

2.15 用提示代替工具提示 Daniel Fowler2.15.1 问题Android设备的屏幕可能很小,没有空间供帮助文本使用,而工具提示不是平台的一部分。2.15.2 解决方案Android为View提供了hint属性。2.15.3 讨论有时候,输入字段需要对输入值加以说明。例如,一个要求货物数量的库存订货应用可能需要说明最小的订单数量。在桌面程序中,屏幕空间较大并且使用鼠标,附加的信息可以工具提示(鼠标移过字段时弹出的一个标签)形式显示,也可以使用长的描述性标签。而Android设备的屏幕可能很小,通常也不使用鼠标。替代方案是在View上使用android:hint属性,这能够在输入字段为空时显示包含提示文本的“水印”;用户开始输入时这个“水印”将会消失。android:hint对应的函数是setHint(int resou

优秀的个人博客,低调大师

《Android应用开发攻略》——3.5 测试项目的创建和使用

3.5 测试项目的创建和使用 Adri醤 Santalla3.5.1 问题你需要创建和使用新的测试项目,以测试Android应用程序。3.5.2 解决方案下面是测试项目的创建和使用方法:1 . 在IDE中,创建一个与你的Android应用程序项目关联的新Android项目。2 . 配置测试项目的AndroidManifest.xml文件,加入测试Android应用程序必需的代码行。3 . 最后,编写并运行测试。3.5.3 讨论下面更详细地描述了前述的步骤。第1步:在Android应用项目中创建新的Android测试项目首先,你必须在主应用项目中创建一个新的Android项目以保存测试。如果使用Eclipse,测试是一个项目,如果使用IntelliJ,则是一个模块。IntelliJ IDEA允许在现有项目中嵌套

优秀的个人博客,低调大师

《Android和PHP开发最佳实践》一2.6 Android数据存储

2.6 Android数据存储 前面刚介绍过上下文对象的使用,其最重要的功能之一,就是用于存储应用运行期间产生的中间数据。接下来,我们来讨论Android应用中持久化类型数据的存储方案。对于移动互联网应用来说,我们经常把核心数据存储在服务端,也就是我们常说的“云端”,但是在实际项目中也会经常使用到Android系统内部的数据存储方案,接下来让我们认识一下几种最常用的数据存储方案。 2.6.1 应用配置(Shared Preferences) 在Android系统中,系统配置(Shared Preferences)是一种轻量级的数据存储策略,只能用于存储key-value格式的数据(类似于ini格式),因此这个特点也决定了我们不可能在其中存储其他各种复杂格式的数据。由于系统配置使用起来比较简单方便,所以我们经常用它来存储一些类似于应用配置

优秀的个人博客,低调大师

SpringBoot开发案例之整合定时任务(Scheduled)

来来来小伙伴们,基于上篇的邮件服务,定时任务就不单独分项目了,天然整合进了邮件服务中。 不知道,大家在工作之中,经常会用到那些定时任务去执行特定的业务,这里列举一下我在工作中曾经使用到的几种实现。 任务介绍 Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。Timer的优点在于简单易用;缺点是Timer的所有任务都是由同一个线程调度的,因此所有任务都是串行执行的。同一时间只能有一个任务在执行,前一个任务的延迟或异常都将会影响到之后的任务,不过这种实现已经被项目所废弃。 开源集群任务框架Quartz,这是一个功能比较强大的的调度器,适合做任务集群,解决单点故障,目前项目中在使用。 Spring家族自带的Scheduled,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多,适用于简单的任务,微服务使用很方便。 项目应用 创建任务 代码中,可以发现,sendMail方法上注解被注释掉了,目前我们采用的是xml配置实现的。 import org.springframework.stereotype.Component; /** * 统计失败邮件定时重新发送 * 创建者 科帮网 * 创建时间 2017年7月21日 * */ @Component("sendMail") public class SendMail { //@Scheduled(cron = "0/5 * * * * ?") public void sendMail() { System.out.println("统计失败邮件定时重新发送开始"); } } 配置文件 <!-- 配置任务线性池 --> <task:executor id="executor" pool-size="5" /> <task:scheduler id="scheduler" pool-size="5"/> <!-- 启用注解驱动的定时任务 --> <task:annotation-driven executor="executor" scheduler="scheduler" proxy-target-class="true"/> <task:scheduled-tasks scheduler="scheduler"> <!-- 统计失败邮件定时重新发送 --> <task:scheduled ref="sendMail" method="sendMail" cron="0/5 * * * * ?"/> </task:scheduled-tasks> 启动项目 /** * 启动类 * 创建者 科帮网 * 创建时间 2017年7月19日 * */ @EnableAutoConfiguration @ComponentScan(basePackages={"com.itstyle.main"}) @ImportResource({"classpath:spring-context-dubbo.xml","classpath:spring-context-task.xml"}) public class Application { private static final Logger logger = Logger.getLogger(Application.class); public static void main(String[] args) throws InterruptedException { SpringApplication.run(Application.class, args); logger.info("项目启动 "); } } 启动后,控制台会每5s打印"统计失败邮件定时重新发送开始"。当然Scheduled的功能不仅仅如此,我们查找源码Scheduled类,可以发现还有一些注解属性,这里就不一一为大家介绍了。总之,要养成查看源码API的习惯。 @Target({ java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.ANNOTATION_TYPE }) @Retention(RetentionPolicy.RUNTIME) @Documented @Repeatable(Schedules.class) public @interface Scheduled { public abstract String cron(); public abstract String zone(); public abstract long fixedDelay(); public abstract String fixedDelayString(); public abstract long fixedRate(); public abstract String fixedRateString(); public abstract long initialDelay(); public abstract String initialDelayString(); } 项目:http://git.oschina.net/52itstyle/spring-boot-mail 作者: 小柒 出处: https://blog.52itstyle.com 本文版权归作者和云栖社区所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(345849402@qq.com)咨询。

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册