原创 android studio分模塊打包apk,多渠道打包,差異化打包
AS利用Gradle實現稍作修改(包名差異(需求如:測試機同時安裝測試版和發佈版)、功能較小差異、圖標應用名不同等較小差異化需求)打包多個不同apk的功能 實現方法 在APP的buid.gradle==>android裏添加 prod
原创 universal-image-loader-1.9.3的簡單使用,異步加載圖片
import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Formatter.BigDecimal
原创 自定義查看密碼輸入框
import android.content.Context; import android.graphics.Rect; import android.graphics.drawable.Drawable; import androi
原创 android 輸入框EditText禁止輸入Emoji表情符
import android.content.Context; import android.text.Editable; import android.text.Selection; import android.text.Spanna
原创 android地圖點聚合
package com.wyw.amap; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Point; i
原创 序列化工具SerializeUtils
public class SerializeUtils { /** * 序列化對象 * * @param person * @return * @throws IOException */ public s
原创 dp sp px 轉換
public class DP_SP_PX_Utils { /** * 將px值轉換爲dip或dp值,保證尺寸大小不變 * * @param pxValue * @param scale *
原创 加密解密工具包DES算法,加密
public class CyptoUtils { public static final String ALGORITHM_DES = "DES/CBC/PKCS5Padding"; /** * DES算法,加
原创 獲取驗證碼button,倒計時按鈕,繼承Button
import java.util.HashMap; import java.util.Map; import java.util.Timer; import java.util.TimerTask; import android.ann
原创 百度地圖滑動後獲取屏幕的中心點百度座標
//地圖狀態改變相關接口 mBaiduMap.setOnMapStatusChangeListener(new OnMapStatusChangeListener() { @Override public void on
原创 SharedPreferences存取工具SpUtil
package com.fei.utils; import android.content.Context; import android.content.SharedPreferences; import android.conten
原创 圓形imageView控件
import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.g
原创 CheckBox、Switch屏蔽setChecked方法對OnCheckedChangeListener的影響
爲了解決這個問題,有兩種方法:個人認爲第二種方案明顯優於第一種方案 方案(1): 程序中定義一個全局變量boolean ignoreChange,然後,調用setChecked方法時改變ignoreChange的值: ignoreChan
原创 android開機啓動Service
package com.fei.bootstart; import android.content.BroadcastReceiver; import android.content.Context; import android.co
原创 檢查網絡設置網絡工具類NetWorkUtil
package com.fei.utils; import android.app.AlertDialog; import android.content.Context; import android.content.DialogIn