Apm29's Studio.

Apm29's Studio.

it's better to burn out than to fade away

Git Submodule(子模块)
缘起之前在做flutter项目的时候小小接触过submodule,flutter项目里面ios/Android子项目都是git submodule,最近在写hexo博客的时候,需要用到自定义的主题,于是把themes下面的主题文件夹作为了submodule,所有又稍微研究了下. 介绍 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。 我们举一个例子。 假设你正在开发一个网站然后创建了 Atom 订阅。 你决定使用一个库,而不是写自己...
Android Webview设置Cookie
Android中的webview相当于在App中新开了一个浏览器客户端,所以cookie不会和App的普通网络请求同步,需要我们手动吧cookie设置到webview中(如果需要用到cookie的话) 首先我们要从App的普通请求的返回中获取cookie: 不同的请求方式取cookie的方式可能有所不同,项目中以volley为例: 在volley请求中一般需要定义一个Request对象继承自com.android.volley.Request 其中需要覆写多个方法,包括com.zhaosha.zsnetservice.util.CookiePostRequest#parseNetwork...
NPM设置Registry
一、使用淘宝镜像 1.临时使用 1npm --registry https://registry.npm.taobao.org install express 2.持久使用 1npm config set registry https://registry.npm.taobao.org 3.通过cnpm 1npm install -g cnpm --registry=https://registry.npm.taobao.org 二、使用官方镜像1npm config set registry http...
LiveData
简介 LiveData是androidx.lifecycle-livedata包下的一个抽象类,实现了一种关联了生命周期的简单观察者模式,主要的功能就是用于视图层与数据间的单向一对多通知,一个LiveData会持有一个可观察的Data对象,一开始是处于NOT_SET状态,当用户通过setValue方法更新后,LiveData会遍历所有的observer(处于Active状态的),通知他们Data的更新.LiveData的行为会在Lifecycle范围内,避免很多Activity Leak和空指针 本文代码样例都是kotlin,LiveData的源码是java LiveData的使用...
AndroidDevMetrics
AndroidDevMetrics 项目地址 https://github.com/apm29/AndroidDevMetrics Usage 1234567891011 public class ExampleApplication extends Application { @Override public void onCreate() { super.onCreate(); //Use it only in debug builds if (BuildConfig.DEBUG) { ...
PDFViewer on Android
Android中显示PDFiOS的WebView能从线上url直接显示pdf,而Android的WebView不能直接显示,Android的WebView要显示pdf需要拼接url到google的一个url显示,国内需要翻墙…所以这条路肯定走不通了 12urlWebView.loadUrl("http://docs.google.com/gview?embedded=true&url=" + "YOUR_DOC_URL_HERE"); github...
RxCache
RxCache123456789101112131415161718/** * 此为RxCache官方Demo */public interface CacheProviders { @LifeCache(duration = 2, timeUnit = TimeUnit.MINUTES) Observable<Reply<List<Repo>>> getRepos(Observable<List<Repo>> oRepos, DynamicKey userName,...
RxLifecycle
RxLifecycle:基于第二个事件流(生命周期)来帮助我们自动完成一个序列(sequence) UsageYou must start with an Observable<T> representing a lifecycle stream. Then you use RxLifecycle to binda sequence to that lifecycle. You can bind when the lifecycle emits anything: 123myObservable .compose(RxLifecycle.bind(lifecycle))...
Jetpack
Jetpack1. Components Dependencies AppCompat 依赖于原先的support v4包,包含了ActionBar,AppCompatActivity,cardview,gridlayout,recyclerview等支持 2. 迁移到AndroidX 需要AndroidStudio3.2+ 在gradle.properties中加入12android.useAndroidX=trueandroid.enableJetifier=true sync 下Gradle后需要把原有项目中的support库中的类重新import,谷...
在TextView中显示Html格式的文字
在TextView中显示Html格式的文字/图片/超链接简单显示网页形式内容 Html有fromHtml(String, ImageGetter, TagHandler)等多个方法将String对象转换为Spanned对象,而Spanned可以显示各种Span定义的颜色/行为等 TextView的setMovementMethod(MovementMethod movement)方法可以设置自动处理url形式的链接,但是默认是跳转浏览器 图片显示 图片显示需要自己实现Html.ImageGetter类,实现 getDrawable方法把url转换为Drawable返回(这边用了Futu...
avatar
Apm29
It's better to burn out than to fade away
FRIENDS
juejin