context

kotlin常用工具类总结,高效优雅的开发Android

坚强是说给别人听的谎言 提交于 2020-02-26 07:41:55
  随着Kotlin的普及,很有必要对开发中常用的工具类总结整理,当然包括 利用kotlin扩展Android原生控件方法、属性。 主要分工具类util跟原生控件扩展ext两部分 toast 用法 toast(“hello”) click 用法 button.click{ // todo } 启动activity start+要启动的activity (比如 DemoActivity) SharePreferenceUtil 用法 1). var spValue by SharePreferenceUtil (“key”, “DefaultValue”) 2). set data spValue = “value” 3). get data spValue NetworkUtil 用法 1). isNetworkAvailable(context) 2). isConnected(context) 3). getNetworkType(context) 获取屏幕宽高以及Dp/Px转化用法 1). dp2px(context) or px2dp 2). screenWidth or screenHeight RegularUtil 用法 1). 身份证是否合法 isIDCard(“no”) 2). 手机号是否合法 isMobile(“no”) 3). isEmail是否合法

通过jQuery.Ajax下载文件

别来无恙 提交于 2020-02-26 06:29:25
我在服务器端有一个Struts2操作,用于文件下载。 <action name="download" class="com.xxx.DownAction"> <result name="success" type="stream"> <param name="contentType">text/plain</param> <param name="inputName">imageStream</param> <param name="contentDisposition">attachment;filename={fileName}</param> <param name="bufferSize">1024</param> </result> </action> 但是,当我使用jQuery调用操作时: $.post( "/download.action",{ para1:value1, para2:value2 .... },function(data){ console.info(data); } ); 在Firebug中,我看到数据是通过 Binary流 检索的。 我想知道如何打开 文件下载窗口 ,以便用户可以在本地保存文件吗? #1楼 1.与框架无关:Servlet下载文件作为附件 <!-- with JS --> <a href="javascript:window

Spring AOP 详解

痞子三分冷 提交于 2020-02-26 05:57:42
AOP: AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过 OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心功能毫无关 系对于其他类型的代码,如安全性、异常处理和透明的持续性也都是如此,这种散布在各处的无关的代码被称为横切(cross cutting),在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。 AOP核心概念 1、横切关注点 对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点 2、切面(aspect) 类是对物体特征的抽象,切面就是对横切关注点的抽象 3、连接点(joinpoint) 被拦截到的点,因为Spring只支持方法类型的连接点,所以在Spring中连接点指的就是被拦截到的方法,实际上连接点还可以是字段或者构造器 4、切入点(pointcut) 对连接点进行拦截的定义 5、通知(advice) 所谓通知指的就是指拦截到连接点之后要执行的代码,通知分为前置、后置、异常、最终、环绕通知五类 6、目标对象 代理的目标对象 7、织入(weave

Flutter入门篇(三)- 如何实现登录动画效果

狂风中的少年 提交于 2020-02-26 05:55:13
在上一篇的时候,我们讲解了怎么做一个登录界面,但是之后呢?完全是草草结尾的感觉嘛,这不,接下来就是给大家详细说说,这个登录里面不得鸟的故事。先来看一个登录的过程~~ 分析 可能上面的 gif 图不是很真切,这上面展示了两个功能: 颜色变换的闪屏页面 动画效果的登录页面 有没有感觉这样的登录好像还不错呢,哈哈哈,接下来就详细分析一下这其中的玄机~~ 路由 一般我们的页面跳转都会涉及到路由,路由就是从一个页面跳转到另一个页面的过程,就比如Android中的 Activity 或IOS中的 ViewController 的跳转。 在Flutter中所以的路由都使用 Navigator 来进行管理的,换句话说它就是让这些本来相对独立的个体形成一个完美的整体。那么 Navigator 是直接管理的就是页面吗?当然不是,实际上它管理是 Route 对象,而且提供了管理堆栈的相关方法,比如: Navigator.push (入栈) Navigator.pop (出栈) 虽然能够直接创建一个 navigator ,但是呢,一般不建议这样直接使用,我们常常通过 WidgetsApp 或者 MaterialApp 去创建。还记得 第一篇 的时候,就跟大家提过,Flutter提供了许多widgets,可帮助您构建遵循 Material Design 的应用程序

获取上下文的各种方法之间有什么区别?

*爱你&永不变心* 提交于 2020-02-26 03:57:37
在我看过的各种Android代码中: public class MyActivity extends Activity { public void method() { mContext = this; // since Activity extends Context mContext = getApplicationContext(); mContext = getBaseContext(); } } 但是,我找不到任何合适的解释,哪些更好,以及在什么情况下应该使用。 关于这方面的文件的指示,以及关于如果选择了错误的可能会破坏的指导,将非常感激。 #1楼 我同意在Android中使用Contexts时文档很少,但您可以将各种来源的一些事实拼凑起来。 本博客文章 在谷歌官方Android开发者博客写主要是为了帮助解决内存泄漏,但提供了有关上下文一些有用的信息,以及: 在常规Android应用程序中,通常有两种Context,Activity和Application。 阅读文章一点点进一步讲述两个之间的区别时,你可能要考虑使用应用程序上下文( Activity.getApplicationContext() 而不是使用活动上下文 this )。 基本上,应用程序上下文与应用程序相关联,并且在应用程序的整个生命周期中始终是相同的,因为活动上下文与活动相关联

Android Context初探

旧街凉风 提交于 2020-02-26 02:55:51
1.背景 作为一个Android新手,每次看到使用Context作为参数时,都有点焦虑,有时候传this就可以,有时候又不行,不知道为什么可以,为什么又不可以,根本原因还是对Context是一知半解,偏偏很多地方用到Context作为参数,一直一知半解下去不是办法,有必要研究一下Context究竟是什么。 2.什么是Context? Context中文意思是上下文,在小学语文课时,我们肯定接触过联系上下文理解词语的题目,“上下文”指的是语境,我们对语境的含义肯定是比较了解,一是小学刷那么多题目,二是现实生活中也常碰到,当你暗恋的对象对你说,你真是个好人,你得 根据所处的具体情景进行推断 ,这句话是真夸你还是委婉拒绝了你,那么程序开发里“上下文”的语义是否和语文课里“上下文”的语义一样? 答案是一样的,在程序中,上下文指的是应用程序/对象当前状态,例如C语言中,简单一段c=a+b代码,要能运行起来,首先是a和b得赋值,a和b赋值了,a和b的赋值状态是c=a+b能否运行的上下文,而a和b赋值,运行c=a+b也不是直接能运行,还得main函数先运行起来,main函数运行状态又是main函数里各个代码运行的上下文。 在C语言中,我们不需要特别纠结于上下文这个概念,不影响写代码,但确实也有上下文概念,所谓的周易里说的“百姓日用而不知”,但在Android平台上,特别引入Context作为参数

android获取系统wifi状态等

旧巷老猫 提交于 2020-02-26 02:23:12
WIFI    获取WIFI状态     WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);     if(wifiManager != null){       int wifiState = wifiManager.getWifiState();     }   附:Wifi状态有以下几种:(括号内为所对应的的int值)   1. wifiManager.WIFI_STATE_DISABLED (1)   2. wifiManager..WIFI_STATE_ENABLED (3)   3. wifiManager..WIFI_STATE_DISABLING (0)   4 wifiManager..WIFI_STATE_ENABLING (2)    设置wifi状态     WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);     if(wifiManager == null){       return;     }     int wifiApState = wifiManager.getWifiApState(); /

做开发的过程中,搞着搞着出现异常了,这可怎么办

旧时模样 提交于 2020-02-26 01:05:15
前言 在做android项目开发时,大家都知道如果程序出错了,会弹出来一个强制退出的弹 出框,这个本身没什么问题,但是这个UI实在是太丑了,别说用户接受不了,就连 我们自己本身可能都接受不了。虽然我们在发布程序时总会经过仔细的测试,但是 难免会碰到预料不到的错误。 顺手留下GitHub链接,需要获取相关面试等内容的可以自己去找 ) https://github.com/xiangjiana/Android-MS (VX:mm14525201314) 今天就来自定义一个程序出错时的处理,类似iphone的闪退。(虽然闪退也是用户不 愿意看到的,但是在用户体验上明显比那个原生的弹窗好多了) 废话不多说,直接上代码: CrashHandler /** * 自定义的 异常处理类 , 实现了 UncaughtExceptionHandler接口 * */ public class CrashHandler implements UncaughtExceptionHandler { // 需求是 整个应用程序 只有一个 MyCrash-Handler private static CrashHandler INSTANCE ; private Context context; //1.私有化构造方法 private CrashHandler(){ } public static

Koa2源码精读

别等时光非礼了梦想. 提交于 2020-02-26 00:49:58
看了那么多文章,是时候也来回馈一下掘金这个让我等小白获益匪浅的社区了(●’◡’●),这篇文章主要面对的是在阅读网上其他讲解Koa2源码文章后仍有疑惑的同学,因为我也花了两天的时间来彻底搞清它的源码机制,所以这算是刚出新手村就来回馈了~ 这篇文章可能显得有些啰嗦,因为大部分文章的作者是有一定开发经验的带哥,所以有些新手向的东西直接一笔带过,这也正是为什么网上有那么多讲解好文我还要再写一篇(而且我就是个还没毕业的弟弟):我把你们的坑踩了,你们就可以把省下来的时间做些更有意义的事情,比如把react的源码看了。 文章目录 文中所使用的Koa版本为2.11.0,新鲜的! 带注释的热乎源代码已经上传至GitHub 如果需要更好的阅读体验,可以移步俺的博客 四大护法 new一个Koa(),发生了什么? 好兄弟,我给你看个宝贝! 这个‘洋葱’切起来咋会让人笑呢(/▽\) 错误处理,妥妥的! 四大护法 Koa的源码分为以下四个部分, application.js,主干部分,在这里进行了中间件合并、上下文封装、处理请求&响应、错误监听等操作。 context.js,上下文封装的逻辑,deligate库就是在这里进行代理属性。 request.js,封装ctx.request的逻辑,注意,ctx.req才是Node原生属性,后面会讲。 response.js, ctx.response,同上。

吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:Servlet3.1新增的非阻塞式IO

本秂侑毒 提交于 2020-02-25 22:40:57
<%-- 网站: <a href="http://www.crazyit.org">疯狂Java联盟</a> author yeeku.H.lee kongyeeku@163.com version 1.0 Copyright (C), 2001-2016, yeeku.H.Lee This program is protected by copyright laws. Program Name: Date: --%> <%@ page contentType="text/html; charset=GBK" language="java" session="false"%> <div style="background-color:#ffffdd;height:80px;"> 浏览器提交数据为:${info}<br/> <%=new java.util.Date()%> </div> <!DOCTYPE html> <html> <head> <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" /> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <title> </title> </head> <body> <form action=