工欲善其事必先利其器.像我们从零开始撸一个App的话,选择最合适的语言是首要任务.如果你跟我一样对Java蹒跚的步态和僵硬的语法颇感无奈,那么Kotlin在很大程度上不会令你失望.虽然为了符合JVM规范和兼容Java,它引入了一些较为复杂的概念和语法,很多同学就是因此放弃入门.其实越深入进去,就会越欲罢不能.除了Android开发,博主也常在后端使用Kotlin编码,有时因为某些原因同时使用Java混编.总的来说,能减少代码量,提高生产效率,似乎代码结构也更清晰了.如果你没有Kotlin的经验,…
一个成功的App背后肯定有一堆后端服务提供支撑,认证授权服务(Authentication and Authorization Service,以下称AAS)就是其中之一,它是约束App.保障资源安全的必备组件.现在也有第三方平台提供此类服务,但万事不求人,自己撸才是我们的风格. 本文假设读者有一定的OAuth2知识,若没有可先阅读博主以前写的一篇博文,或其它资料. Why PKCE? 当我们开发一个App(本文指的是Native App),选择何种AAS协议或模式是必须要谨慎考虑的问题.这就需…
Fragment简介 Fragment自从Android 3.0引入开始,它所承担的角色就是显而易见的.它之于Activity就如html片段之于页面,好处无需赘述. Fragment的生命周期和Activity一样,都不是由开发人员而是由系统维护的.自然而然的,每当它们被重建时,系统只会去调用它们的无参构造器,带参构造器会被无视.那如果要在它们创建时传入初始化数据咋办呢?这也是为什么类似OnCreateXXX方法里会有Bundle这个玩意儿的存在,就是用于开发人员存取相关的数据,如下所示: /…
Dagger2是一个IOC框架,一般用于Android平台,第一次接触的朋友,一定会被搞得晕头转向.它延续了Java平台Spring框架代码碎片化,注解满天飞的传统.尝试将各处代码片段串联起来,理清思绪,真不是件容易的事.更不用说还有各版本细微的差别. 与Spring不同的是,Spring是通过反射创建对象的,而Dagger2是[通过apt插件]在编译期间生成代码,这些生成的代码负责依赖对象创建. 本文旨在以简单通俗易懂的方式说明如何使用Dagger2,对其背后设计不做深入探讨.人生苦短,码农更…
目标 前段时间打造了一款简单易用功能全面的图片上传组件,现在就来将上传的图片以图片集的形式展现到App上.出于用户体验考虑,加载新图片采用[无限]滚动模式,Android平台上我们优选RecyclerView组件. 显示图片,用的自然是ImageView,然而它并不支持直接加载网络图片,需要先通过其它网络组件(如HttpURLConnection.okhttp3等)将图片获取到本地,得到BitMap数据,然后通过setImageBitmap()加载. ImageView也有setImageURI…
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981 [之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发] 相关文章: Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xd…
1.鼠标经过导航中li时,一个活动的li跟随鼠标移动,最终移动到鼠标的停留的位置.(如需鼠标离开后让活动的li回到初始位置,则用jq hover事件,当鼠标离开时,给活动的li设置left是0) 2.鼠标经过div时,图片放大,layer层出现 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title&g…
以下为TestIntentData工程 MainActivity如下: package cn.testintentdata; import java.util.List; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.a…
Electron介绍 简单来说,Electron就是可以让你用Javascript.HTML.CSS来编写运行于Windows.macOS.Linux系统之上的桌面应用的库.本文的目的是通过使用Electron开发一个完整但简单的小应用:记事本,来体验一下这个神器的开发过程.本文犹如Hello World一样的存在,是个入门级笔记,但如果你之前从未接触过Electron,而又对它有兴趣,某想信这会是一篇值得一看的入门教程. PS:这篇文章是基于Windows的开发过程,未对macOS.Linux…
创建第一个Servlet(Dynamic Web Project方式) 注意:无论是以注解的方式还是xml的方式配置一个servlet,servlet的url-pattern一定要以一个"/"开头,否则启动项目时报错. 1.前期准备 参考另一篇文章——Eclipse 下载.安装.取消自动更新.设置编码.关联Tomcat 地址:https://www.cnblogs.com/Mike_Chang/p/9334057.html 2.具体步骤 (1)选择File | New | Dynami…