Skip to content

Instantly share code, notes, and snippets.

@panpf
panpf / DateJudging.java
Last active August 29, 2015 14:01
日期判定器,提供了一系列的is方法,用于判定给定日期是昨天还是明天、是上周还是下周、是上个月还是下个月、是去年还是明年,另外你还可以使用isAdd()方法判断其它属性
package me.xiaopan.java.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
/**
@panpf
panpf / gist:8c7e90a2ebff5815d6c9
Last active August 29, 2015 14:05
Android - Get Android ID
@Override
public String getAndroidId() {
return Secure.getString(MApplication.getAppContext().getContentResolver(), Secure.ANDROID_ID);
}
@panpf
panpf / gist:477f60a6550220b085b9
Last active August 29, 2015 14:05
Android - 关闭软键盘
/**
* 关闭软键盘
* @param activity
*/
public static void closeSoftInput(Activity activity){
InputMethodManager methodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
methodManager.hideSoftInputFromWindow(activity.getWindow().getDecorView().getWindowToken(), 0);
}
@panpf
panpf / ListViewLoadMoreManager.java
Last active August 29, 2015 14:06
Android - ListView加载更多管理器
import java.lang.reflect.Field;
import android.content.Context;
import android.graphics.Color;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AbsListView;
@panpf
panpf / gist:d7fd4d79b617e03eac9e
Created September 17, 2014 04:36
Android - 判断是否是系统应用
PackageManager packageManager = context.getPackageManager();
List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0);
for(PackageInfo packageInfo : packageInfos){
if((ApplicationInfo.FLAG_SYSTEM&packageInfo.applicationInfo.flags) != 0){
Log.w("应用", packageInfo.packageName+" "+packageInfo.applicationInfo.loadLabel(packageManager)+" 系统应用");
}else{
Log.d("应用", packageInfo.packageName+" "+packageInfo.applicationInfo.loadLabel(packageManager)+" 用户应用");
}
}
@panpf
panpf / gist:359df54e89aa05803374
Created September 17, 2014 05:58
Android - 获取APP的安装包在系统中的位置
PackageManager packageManager = context.getPackageManager();
List<PackageInfo> packageInfos = packageManager.getInstalledPackages(0);
for(PackageInfo packageInfo : packageInfos){
Log.w("应用", packageInfo.applicationInfo.loadLabel(packageManager)+" 包名:"+packageInfo.packageName+" 安装包位置:"+packageInfo.applicationInfo.publicSourceDir);
}
@panpf
panpf / gist:012621a716028d9d1142
Last active August 29, 2015 14:15
Android解析APK文件(Android parse APK file from SD Card)
public void parseApk(Context context, String apkFilePath){
    PackageManager packageManager = context.getPackageManager();
    PackageInfo packageInfo = packageManager.getPackageArchiveInfo(apkFilePath, 0);
    if(packageInfo != null){
        packageInfo.applicationInfo.sourceDir = apkFilePath;
        packageInfo.applicationInfo.publicSourceDir = apkFilePath;
        String name = packageInfo.applicationInfo.loadLabel(packageManager).toString();
        String packageName = packageInfo.packageName;
 String versionName = packageInfo.versionName;
@panpf
panpf / StorageAnalyzer.java
Last active March 2, 2016 12:28
Android - 用来获取存储相关的信息
package me.xiaopan.android.strogetest;
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.os.Environment;
import android.os.storage.StorageManager;
import android.util.Log;
import java.lang.reflect.InvocationTargetException;
@panpf
panpf / gist:939584f498aedb5b1ccb
Last active April 27, 2016 07:14
Android - 根据/system/bin/或/system/xbin目录下是否存在su文件判断是否已ROOT
/**
* 根据/system/bin/或/system/xbin目录下是否存在su文件判断是否已ROOT
* @return
*/
public static boolean isRoot() {
try {
return new File("/system/bin/su").exists() || new File("/system/xbin/su").exists();
} catch (Exception e) {
return false;
}
@panpf
panpf / JsonFormatter.java
Created July 22, 2016 05:01
一个简单的JSON字符串格式化工具
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.Iterator;
/**
* 一个简单的JSON字符串格式化工具
*/
public class JsonFormatter {