Skip to content

Instantly share code, notes, and snippets.

View xujiaji's full-sized avatar
🍉
︿( ̄︶ ̄)︿

Xu Jiaji xujiaji

🍉
︿( ̄︶ ̄)︿
View GitHub Profile
@xujiaji
xujiaji / KeyboardTool.kt
Last active May 16, 2019 03:12
android 键盘监听工具 kotlin
import android.app.Activity
import android.graphics.Rect
import android.view.View
import android.view.ViewGroup
import android.view.ViewTreeObserver
import android.app.Application
import android.os.Bundle
object KeyboardTool {
@xujiaji
xujiaji / DynamicLoadApkUtil.java
Created May 17, 2018 06:12
apk动态加载的一些方法
/**
* author: xujiaji
* created on: 2018/5/16 15:28
* description: 动态加载Apk工具类
*/
public class DynamicLoadApkUtil
{
public static class PluginBean
{
@xujiaji
xujiaji / BeanUtil.java
Last active May 16, 2018 04:59
一个通过反射和Map为实体类赋值的工具:https://github.com/JustinSDK/JavaSE6Tutorial/blob/master/docs/CH16.md
public class BeanUtil
{
public static Object getCommand(Map<String, Object> requestMap,
String commandClass)
throws Exception
{
Class c = Class.forName(commandClass);
Object o = c.newInstance();
return updateCommand(requestMap, o);
import java.io.*;
public class FileSystemClassLoader extends ClassLoader {
private String rootDir;
public FileSystemClassLoader(String rootDir) {
this.rootDir = rootDir;
}
@xujiaji
xujiaji / Functional.java
Created May 15, 2018 02:05
Java编程思想:泛型的一些实用性方法对象
interface Combiner<T>
{
T combine(T x, T y);
}
interface UnaryFunction<R, T>
{
R function(T x);
}
@xujiaji
xujiaji / Addable.java
Last active May 14, 2018 02:03
Java编程思想:17.4【用适配器仿真潜在类型机制】,填充
public interface Addable<T> { void add(T t); }
@xujiaji
xujiaji / Apply
Created May 10, 2018 01:28
Java中通过反射应用潜在类型机制
public class Apply
{
public static <T, S extends Iterable<? extends T>>
void apply(S seq, Method f, Object ... args)
{
try
{
for(T t : seq)
{
f.invoke(t, args);