Skip to content

Instantly share code, notes, and snippets.

@panpf
panpf / gist:652fab17869b6c332f2b7cdcc3bed968
Created May 9, 2019 03:44
shell 获取当前时间戳(精确到毫秒)代码
startTime=$[$(date +%s%N)/1000000]
@panpf
panpf / time_format.sh
Created May 9, 2019 03:43
shell 时间差(用时)格式化代码
usedTimeHourFormatted="`awk 'BEGIN{printf "%.1f\n",('${endTime}'-'${startTime}')/'3600000'}'`小时"
@panpf
panpf / ActivityEventRegistrar.kt
Created August 1, 2018 08:58
EventBus 事件注册器
package me.panpf.event
import android.annotation.TargetApi
import android.app.Activity
import android.app.Application
import android.os.Build
import android.os.Bundle
import android.support.annotation.RequiresApi
import android.support.v4.app.FragmentActivity
import android.view.View
@panpf
panpf / ArgsBinder.kt
Last active June 14, 2018 06:54
Android 参数注入 kotlin 扩展
@file:Suppress("unused")
package me.panpf.args.ktx
import android.app.Activity
import android.os.Build
import android.os.Bundle
import android.os.IBinder
import android.os.Parcelable
import android.support.annotation.RequiresApi
@panpf
panpf / ViewModelBinder.kt
Last active June 9, 2018 13:17
Android arch ViewModel kotlin bind
@file:Suppress("RedundantVisibilityModifier")
package me.panpf.arch.ktx
import android.arch.lifecycle.ViewModel
import android.arch.lifecycle.ViewModelProviders
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentActivity
import kotlin.properties.ReadOnlyProperty
import kotlin.reflect.KClass
@panpf
panpf / HanziToPinyin.java
Created May 26, 2018 00:49
从 Android 自带通讯录软件中提取的汉子转拼音工具类
package me.panpf.recycler.sticky.sample.util;
/*
* Copyright (C) 2011 The Android Open Source Project
*
* 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
@panpf
panpf / ListQuerier.java
Created March 1, 2018 06:09
Android List 查询器,可查询列表、统计个数、获取单个元素
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ListQuerier<Data> {
@panpf
panpf / NetworkState.java
Created March 1, 2018 04:54
Android 网络状态工具类
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
/**
* 判断网络状态的工具类,可一次性满足是否有网络以及什么网络类型
*/
@panpf
panpf / RSAHelper.java
Last active September 29, 2017 03:33
RSA 加密、解密、生成 KEY、签名、验证
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Base64;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
@panpf
panpf / DESHelper.java
Last active September 28, 2017 09:46
DES 对称加解密
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Base64;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import java.security.spec.AlgorithmParameterSpec;
import java.security.spec.InvalidKeySpecException;