- 博客(45)
- 收藏
- 关注
原创 Android 的缓存机制 Lrucache
首先在Android的三级缓存中,其中主要的就是内存缓存和硬盘缓存。这两种缓存机制的实现都应用到了LruCache算法,今天我们就从使用到源码解析,来彻底理解Android中的缓存机制。 Android中缓存策略主要包含缓存的添加、获取和删除这三类操作。如何添加和获取缓存这个比较好理解,那么为什么还要删除缓存呢?这是因为不管是内存缓存还是硬盘缓存,它们的缓存大小都是有限的。当缓存满了之...
2018-06-07 22:34:09
258
原创 Android 自定义广播接收器
/** * 自定义接收器 * * 如果不定义这个 Receiver,则: * 1) 默认用户会打开主界面 * 2) 接收不到自定义消息 */public class PushReceiver extends BroadcastReceiver { private static final String TAG = "JPush"; @Override pu
2017-08-09 11:05:27
724
原创 Android 权限检查工具类
/** * 权限检查工具类 */public class PermissionsCheckUtil { public static final int SETTING_APP = 0x123; private static final int REQUECT_CODE_FILE = 1; private static final int REQUECT_CODE_
2017-08-09 10:43:59
636
原创 Android尺寸转换
public class DisplayUtils { /** * 将px值转换为dp值 */ public static int px2dp(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density;
2017-08-09 10:40:55
526
原创 Android键盘
/** * 移动控件使得键盘不会挤压整体布局 */public class SoftKeyboardUtil { private ViewTreeObserver.OnGlobalLayoutListener onGlobalLayoutListener; private InputMethodManager imm; int vHeight = 0; p
2017-08-09 10:35:53
285
原创 Android 时间滚轴
//时间滚轴public class OptionsPopupWindow extends PopupWindow implements OnClickListener { private View rootView; // 总的布局 private View btnSubmit, btnCancel; private static final String TAG_
2017-08-08 17:44:29
709
原创 Android 实现语音
public class MyTextToSpeech implements TextToSpeech.OnInitListener { /** * 语音 */ private TextToSpeech mTextToSpeech;//TTS对象 private ConcurrentLinkedQueue mBufferedMessages;//消息队列
2017-08-08 17:40:47
493
原创 Android条形图
public class BarChartView extends View{ private Paint paint = new Paint(); private Paint textPaint = new Paint(); private Paint linePaint = new Paint(); private Paint bottomLineP
2017-07-02 13:43:12
632
原创 Android自定义CIrcleView
public class CircleView extends View { private int viewW,viewH; private DrawBackground mBackground; private boolean isInitView = false;//是否初始化过此view里面的所有资源 private Activity mConte
2017-07-02 13:41:29
638
原创 Android线性曲线视图
/** *线性曲线视图 */public class LineGraphView extends GraphView { private enum Action{NONE, DOWN, MOVE, UP} private Enum gesture = Action.NONE; private static final int DEFAULT_LAS
2017-07-02 13:39:44
375
原创 欢迎使用优快云-markdown编辑器
/** * 手势的View lmj */ public class LockPatternView extends View { // Aspect to use when rendering this view private static final int ASPECT_SQUARE = 0; // View will be the minimum o
2017-07-02 13:36:30
451
原创 Android TextVIew 文字横向竖排
public class VerticalTextView extends LinearLayout{ public VerticalTextView(Context context, AttributeSet attrs) { super(context, attrs); setOrientation(VERTICAL);
2017-07-02 13:32:44
2119
原创 Android定制化ListView
/** * 定制化ListView, 实现了锁定其它ListView, 使其它ListView在他滑动时也跟着滑动 * */public class SynchScrollListView extends ListView { private float mDeceleration; /** 关联的ListView **/ priva
2017-07-02 13:29:04
363
原创 Android 实现左右两个ListView共同滑动
/** * 实现左右两个ListView共同滑动,并且保持第一个ListView锁定 * */public class TwoListViewLayout extends RelativeLayout { private LinearLayout mLeft, mRight; private RelativeLayout mLeftHeader, mR
2017-07-02 13:25:50
2705
原创 Android AutoLayout
public class AutoLayout{ private boolean mStatusBarAvailable; private static final String STATUS_BAR_HEIGHT_RES_NAME = "status_bar_height"; DisplayMetrics outMetrics = new Display
2017-07-02 13:22:28
280
原创 Android 自定义NumberPicker
public class NumberPicker extends LinearLayout{ private static final float GOLD_ROTE = 1.618f; /** * The number of items show in the selector wheel. */ private s
2017-07-02 13:19:05
554
原创 Android左右滑动控件实现开关的切换效果
/** * 开关控件,通过左右滑动控件实现开关的切换效果 * 使用时需要设置开关状态监听{@link OnSwitchStateChangeListener} * 切换开关状态有2种方式: * * 1.{@link #on()}, {@link #off()}, 该方式分开操作, 并且带头动作动画 * * 2.{@link #turn(boolean, bo
2017-07-02 13:16:35
4031
原创 Android 自定义Imageview的点击效果
/** * 扩展的{@link ImageView}, 增加了多种点击效果. * 效果请参照{@link ButtonEffect} * */public class UIImageButton extends ImageView { private static final int EFFECT_NONE = 0; /** 光照效果 **/
2017-07-02 13:12:40
2025
原创 Android 自定义日期选择器
public class UIDatePicker extends FrameLayout { /** * The callback used to indicate the user changes\d the date. */ public interface OnDateChangedListener { /**
2017-07-02 13:09:50
317
原创 Android扇形选择器
/** * 扇形选择器 * */public class SelectView extends RelativeLayout { MyView myView; //touch的point private float oldX,oldY; private float originTouchPointX,originTouchPointY;
2017-07-02 13:05:29
493
原创 Android MD5加密
public class MD5 { static final int S11 = 7; static final int S12 = 12; static final int S13 = 17; static final int S14 = 22; static final int S21 = 5;
2017-07-02 13:00:45
218
原创 Android 数据压缩
public class CommonUtils { public static boolean isNotNull(String s){ if(s==null || "".equals(s)) { return false; } return true; } pu
2017-07-02 12:59:29
707
原创 Android Base64Encoder
public class Base64Encoder { private static final char last2byte = (char) Integer .parseInt("00000011", 2); private static final char last4byte = (char) Integer
2017-07-02 12:57:45
1687
原创 Android Base64处理数据
public class Base64 { private static final char[] legalChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" .toCharArray(); public static String en
2017-07-02 12:55:34
206
原创 Android HttpGet工具
public class HttpGetTools implements HttpTools { private static final String TAG = "HttpGetTools"; /** * 连接超时时间,毫秒 */ private static final int TIME_OUT = 60000;
2017-07-02 12:53:33
282
原创 Android数据处理工具
public class DataTools { public static final String TAG = "HttpTools"; /** * 连接超时时间,毫秒 */ private static final int TIME_OUT = 20000; /** * 网络通信缓存
2017-07-02 12:50:42
217
原创 Android 自定义圆形Imageview
public class RoundImageView extends ImageView { private float xRadius = 10; private float yRadius = 10; private Paint paint = new Paint(); public RoundImageView(Context context
2017-07-01 23:08:09
239
原创 Android 自定义文本标签
//自定义文本标签,自动换行public class MyView extends View { private Paint mPaint = new Paint(); public MyView(Context context) { this(context,null); } public MyView(Conte
2017-07-01 23:04:27
582
原创 Android菜单横向ScrollView
public class MenuHorizontalScrollView extends HorizontalScrollView { /*当前控件*/ private MenuHorizontalScrollView me; /*菜单*/ private ListView menu; /*菜单状态*/
2017-07-01 23:01:36
924
原创 Android线性曲线视图
/** *线性曲线视图 */public class LineGraphView extends GraphView { private enum Action{NONE, DOWN, MOVE, UP} private Enum gesture = Action.NONE; private static final int DE
2017-07-01 22:58:26
236
原创 Android的输入法监听布局
public class InputMethodLayout_ll extends LinearLayout { private static final String TAG = "InputMethodLayout"; /** 初始化状态 **/ public static final byte KEYBOARD_STATE_INIT = -1;
2017-07-01 22:54:17
196
原创 一个继承自RelativeLayout的输入法监听布局
public class InputMethodLayout extends RelativeLayout { private static final String TAG = "InputMethodLayout"; /** 初始化状态 **/ public static final byte KEYBOARD_STATE_INIT = -1; /
2017-07-01 22:51:54
357
原创 Android 自定义HorizontalListview
public class HorizontalListView extends AdapterView { public boolean mAlwaysOverrideTouch = true; protected ListAdapter mAdapter; private int mLeftViewIndex = -1; private int mRi
2017-07-01 22:48:54
206
原创 Android曲线图
abstract public class GraphView extends LinearLayout { private static final int LABEL_NUM = 4; protected final Paint paint; private String[] horlabels;//横提示线文字 private
2017-07-01 22:45:22
372
原创 Android自定义View画饼类图
* 画饼图类 */public class ChartView extends View{ int areaX = 0; //矩形框的left int areaY = 0; //矩形框的right int colors[]; int shade_colors[]; int percent[]; private int t
2017-07-01 22:41:00
242
原创 WebView的基类
/** * 程序webview基类 */@SuppressLint({ "SetJavaScriptEnabled", "DefaultLocale", "NewApi" })public class WebBaseActivity extends FragmentActivity { protected Context context; protected
2017-07-01 22:35:51
342
转载 Android 中的接口回调
在Android中到处可见接口回调机制,尤其是UI事件处理方面。举一个最常见的例子button点击事件,button有一个点击方法onClick(),我们知道onclick()是一个回调方法,当用户点击button就执行这个方法。在源码中是这样定义的:[html] view plaincopy//这个是View的一个回调接口 /**
2016-05-16 16:33:03
316
转载 Android里面常用的管理
Android常用Manager1. ActivityManager:与系统中正在运行的所有活动进行交互。获取ActivityManager对象的方法是在拥有context的环境下使用下面的方法。 ActivityManager activityManager= (ActivityManager) getSystemService(ACTIVITY_SERVIC
2016-05-16 16:25:57
783
原创 弹出提示选择日期,地区,三级联动
an packagecom.example.iosdialog; importjava.text.DateFormat;importjava.text.ParseException;importjava.text.SimpleDateFormat;importja
2016-05-16 16:20:49
646
原创 自定义View编写圆形轨迹图
import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.util.AttributeSet;
2016-05-04 23:54:58
470
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人