Skip to content

Instantly share code, notes, and snippets.

View LanderlYoung's full-sized avatar

LanderlYoung LanderlYoung

  • Tencent.
  • Shenzhen City, Guang Dong province, R.P China
View GitHub Profile
@LanderlYoung
LanderlYoung / ktd.kts
Last active September 28, 2018 13:59
Multi Thread Http Downloader implemented in kotlin script
#! /usr/bin/env kscript
@file:DependsOn("com.xenomachina:kotlin-argparser:2.0.7")
@file:DependsOn("me.tongfei:progressbar:0.7.1")
import com.xenomachina.argparser.ArgParser
import com.xenomachina.argparser.InvalidArgumentException
import com.xenomachina.argparser.SystemExitException
import com.xenomachina.argparser.default
@LanderlYoung
LanderlYoung / ramdisk
Last active August 22, 2018 08:26
Create a RAM disk on macOS to boost up android project building.
#!/bin/bash
#########################################################################
# File Name: ramdisk.sh
# Author: Landerl Young
# e-Mail: LanderlYoung@gmail.com
# Created Time: Wed Aug 22 15:08:28 2018
#########################################################################
VOLUME=RAM_DISK
RAMDISK_LOCATION=/Volumes/$VOLUME
@LanderlYoung
LanderlYoung / WcdbSqlDriver.kt
Created January 18, 2019 06:26
This is a WCDB driver for sqldeight
/*
* Copyright (C) 2018 Square, Inc.
* Copyright (C) 2019 taylorcyang@tencent.com
* Copyright (C) 2019 landerlyoung@gmail.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
@LanderlYoung
LanderlYoung / javaCode.java
Last active October 23, 2020 02:26
Life without jenny
String httpGet(String url) throws IOException {
URL u = new URL(url);
URLConnection conn = u.openConnection();
InputStream input = conn.getInputStream();
byte[] buffer = new byte[1024];
int len = input.read(buffer);
input.close();
return new String(buffer, 0, len);
@LanderlYoung
LanderlYoung / LiveEvent.kt
Last active August 19, 2021 04:26
non sticky LiveData
sealed class LiveEvent<T> : LiveData<T>() {
private var version = 0
/**
* override hashCode and equals,
* so-that, [LiveData.removeObserver] still can work
*/
private inner class ObserverWrapper<T>(
private val other: Observer<T>
) : Observer<T> {
@LanderlYoung
LanderlYoung / MVVM compare.kt
Last active September 24, 2021 02:23
MVVM compare
class ViewModel_1 {
val name = LiveData<String>()
val gender = LiveData<Boolean>()
val loading = LiveData<Boolean>()
val errorMessage = LiveEvent<String>()
fun follow() {
api.follow(xxx)
}