Skip to content

Instantly share code, notes, and snippets.

📱
Working

Yang Hui kyze8439690

📱
Working
Block or report user

Report or block kyze8439690

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View proguard-rules.txt
-optimizationpasses 5
# 混淆时不会产生形形色色的类名
-dontusemixedcaseclassnames
# 指定不去忽略非公共的类库
-dontskipnonpubliclibraryclasses
# 不预校验
-dontpreverify
View gist:5bafc99a65a0f4298db3
1.debug false
2.sign true
3.test proguard
4.change version code
5.upload new apk to umeng and test update works
6.merge master to release branch
7.upload new apk to appstores
@kyze8439690
kyze8439690 / ActivityLifecycleLogger.java
Last active Jan 12, 2016
Activity Lifecycle Logger, not support onActivityResult()
View ActivityLifecycleLogger.java
//call if(BuildConfig.DEBUG) registerActivityLifecycleCallbacks(new ActivityLifecycleLogger()) in your own Application class.
public class ActivityLifecycleLogger implements Application.ActivityLifecycleCallbacks {
private static final String TAG = "LifeCycleLogger";
private static final Class[] LOG_CYCLE_ACTIVITIES = new Class[] {
//add activities you want to log here
MainActivity.class
};
@kyze8439690
kyze8439690 / PermissionUtils
Created Feb 3, 2016
android 6.0 request permission callback pattern
View PermissionUtils
import android.app.Activity;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.StringRes;
import android.support.v4.app.ActivityCompat;
import java.util.Map;
@kyze8439690
kyze8439690 / gist:8eb2da153cd207cd330b
Created Jul 6, 2014
run asynctask concurrently on targetSdkVersion 13+
View gist:8eb2da153cd207cd330b
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB_MR1) {
task.execute();
} else {
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
View GridFragment.java
package android.support.v4.app;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
View StackPageTransformer.java
import android.support.v4.view.ViewPager;
import android.view.View;
public class StackPageTransformer implements ViewPager.PageTransformer {
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void transformPage(View page, float position) {
final float alpha;
final float translationX;
@kyze8439690
kyze8439690 / build.gradle
Last active Jan 19, 2017
Use build.gradle to compile all jars in libs folder and ndk support
View build.gradle
//compile all jar in libs folder
dependencies {
compile fileTree(dir: 'libs' , include: '*.jar')
}
//pack all so file into a jar and compile it
task nativeLibsToJar(
type: Zip,
description: 'create a jar archive of the native libs') {
destinationDir file('./libs')
baseName 'native-libs'
@kyze8439690
kyze8439690 / SelectorImageView.java
Created Apr 12, 2015
ImageView that will draw a selector on top of image, support normal drawable and the newest RippleDrawable.
View SelectorImageView.java
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.widget.ImageView;
import me.yugy.app.timeline.R;
@kyze8439690
kyze8439690 / CursorAdapter2
Created Oct 19, 2014
CursorAdapter used for RecyclerView
View CursorAdapter2
package me.yugy.cnbeta.widget;
import android.content.Context;
import android.database.ContentObserver;
import android.database.Cursor;
import android.database.DataSetObservable;
import android.database.DataSetObserver;
import android.os.Handler;
import android.support.v7.widget.RecyclerView;
import android.view.ViewGroup;
You can’t perform that action at this time.