- 博客(67)
- 收藏
- 关注
原创 单例模式的写法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档单例模式的写法1、懒汉式,线程不安全2、懒汉式,线程安全3、饿汉式4、双检锁/双重校验锁5、登记式/静态内部类6、枚举总结1、懒汉式,线程不安全多线程不安全当使用的使用,才去创建对象,用的时候才去检查有没有实例,如果有则返回,没有则新建。public class Singleton { private static Singleton instance; //私有构造方法 private Singleto.
2022-03-29 11:52:22
340
原创 使用Glide得到 Bitmap、Drawable
/** * @param url 通过URL得到 Drawable * @return */ public static void getDrawableGlide(String url, CustomTarget<Drawable> customTarget) { Glide.with(mContext).load(url).into...
2019-11-20 22:00:18
8514
原创 对字符串进行各种解析判断的工具类
/** * 字符解析工具类 */public class CharacterParser { private static int[] pyvalue = new int[]{-20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -20230, -20051, -20036, -20032, ...
2018-11-06 10:01:24
1124
原创 操作Bitmap的一些工具类
public class BitmapUtil { /** * 质量压缩 (仅仅在文件存储的时候使用此压缩即可,否则没有任何作用) * <p> * 此压缩,只针对文件存储或者文件传输,在内存中,大小是不会改变的 * 如果想要不崩溃,还是得进行尺寸的压缩,真正的缩小内存占用 * * @param image *...
2018-10-26 19:39:17
425
原创 Map对象的遍历方法
如果键值都要for (Map.Entry<String, String> entry : map.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); System.out.println("Key = " + key + ", Value = " + value);}...
2018-10-19 19:28:16
2789
原创 自己封装的Log优化工具类
/** * Log方法优化工具类 * 只在Debug模式下打印log并添加 log代码定位 */public class L { private L() { /* cannot be instantiated */ throw new UnsupportedOperationException("cannot be instantiated");...
2018-09-30 19:02:33
872
原创 使用ConstraintLayout+FloatingActionButton实现悬浮菜单效果
布局<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android....
2018-09-30 18:58:48
2585
1
原创 判断点击的是否是指定的view
/** * 判断点击的是否是指定的view * @param view 指定的view * @param ev * @return */ private boolean inRangeOfView(View view, MotionEvent ev){ int[] location = new int[2]; ...
2018-09-30 18:39:00
656
原创 Xbanner的基本使用
依赖:implementation 'com.xhb:xbanner:1.2.2'implementation 'com.nineoldandroids:library:2.4.0'implementation 'com.github.bumptech.glide:glide:3.7.0'implementation 'jp.wasabeef:glide-transformations:...
2018-06-11 13:34:24
922
原创 APP启动时有一段黑屏或白屏解决方案
styles.xml:<style name="Splash" parent="AppTheme"> <!--启动页背景--> <item name="android:windowBackground">@drawable/start_page_background</item> <!--全屏
2018-06-08 19:29:46
1115
原创 android界面有输入框时,点击空白处,隐藏键盘并且清除焦点
//事件分发控制@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { View view = getCurrentFocus(); if (isHideInput(view, ev)) {...
2018-06-08 15:38:23
1743
原创 DrawerLayout使用
布局:<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-...
2018-06-06 11:30:14
414
原创 Banner 无限轮播
依赖://banner implementation 'com.youth.banner:banner:1.4.9' implementation 'com.github.bumptech.glide:glide:3.7.0'控件使用:<com.youth.banner.Banner android:id="@+id/banner" android:layou...
2018-05-31 10:56:20
215
原创 RecyclerView上拉刷新
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { ...
2018-05-31 10:37:48
270
原创 自定义view留声机样式--音乐播放器
效果:播放、暂停、进度条、循环播放attrs.xml:<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="GramophoneView"> <attr name="picture_radiu" format=&
2018-05-28 15:22:09
1134
原创 使用okhttp3+retrofit2+rxjava2上传头像
RetrofitInterface://https://www.zhaoapi.cn/file/upload @Multipart @POST("file/upload") Observable<PicturesBean> getPicturesBean(@Part("uid") RequestBody uid,@Part MultipartBody.Part ...
2018-05-23 10:00:22
1764
原创 实现音乐播放的一些方式
音乐资源的名字:不能有中文,不能有空格,不能有特殊符号,尽量不要全是数字 音乐播放器:MediaPlayer创建的方式一:一般如果需要添加一个背景音乐,,可以使用这种方式Java代码:public class MainActivity extends Activity { private MediaPlayer player; @Override protected void onCreat...
2018-05-21 15:22:29
902
原创 实现视频播放的一些方式
VideoView结合MediaController播放视频:布局:<VideoView android:id="@+id/video" android:layout_width="match_parent" android:layout_height="match_parent" />Java代码://加载视频vid...
2018-05-21 14:53:25
443
原创 Double类型数据的精确计算
在Java中为什么会总是出现double值的乘积总是在一个正确的结果左右偏0.0000**1,这是因为当两个double数值相乘时,底层采用转换成二进制来进行乘法的运算,由于在乘完之后在包含小数的二进制中无法完全转换成十进制才会发生这种情况。Java中有一个类是BigDecimal,该类是专门计算一些要求精度很高的算法,常用于银行金融类的计算,BigDecimal一共有4个够造方法,我们不关心用B...
2018-05-20 19:42:03
6430
原创 okhttp3+retrofit2+rxjava2使用
依赖: //retrofit2 implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation 'com.squareup.retrofit2:converter-gson:2.4.0' implementation 'com.squareup.retrofit2:adapter-rxj...
2018-05-16 17:23:46
1633
原创 Retrofit2.0初识
参考:https://blog.csdn.net/carson_ho/article/details/73732076依赖: implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation 'com.squareup.retrofit2:converter-gson:2.4.0' implementa...
2018-05-15 14:05:32
174
原创 GreenDao初识
依赖:implementation 'org.greenrobot:greendao:3.2.2' implementation 'org.greenrobot:greendao-generator:3.2.2'在Module的build.gradle中配置:apply plugin: 'org.greenrobot.greendao'android { ......省略 ...
2018-05-15 11:06:06
139
原创 EventBus初体验
依赖:implementation 'org.greenrobot:eventbus:3.1.1'添加EventBus混淆规则,在proguard-rules.pro混淆规则文件中添加如下规则:# EventBus-keepattributes *Annotation*-keepclassmembers class ** { @org.greenrobot.eventbus.Subsc...
2018-05-10 11:36:09
161
原创 Fresco初识
依赖: // 其他依赖 implementation 'com.facebook.fresco:fresco:1.9.0' // 支持 GIF 动图,需要添加 implementation 'com.facebook.fresco:animated-gif:1.9.0' // 支持 WebP (静态图+动图),需要添加 implementatio...
2018-05-09 14:55:54
214
原创 自定义View实现小球斜向下移动
MyView:public class MyView extends View { // 设置需要用到的变量 public static final float RADIUS = 70f;// 圆的半径 = 70 private Point currentPoint;// 当前点坐标 private Paint mPaint;// 绘图画笔 // 构造方...
2018-05-04 08:13:26
344
2
原创 Fragment(show/hide)实现底部导航栏
抽了点基类重点在initView中的代码。MainActivity:public class MainActivity extends BaseActivity<MainPresenter> implements IMainView, View.OnClickListener { private LinearLayout ll_home; private ImageV...
2018-05-03 11:20:49
511
原创 简易购物车
依赖: implementation 'com.google.code.gson:gson:2.8.3' implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' implementation 'com.squareup.okhttp3:okhttp:3.10.0' ...
2018-05-02 20:19:01
233
原创 Android属性动画
Animator属性动画主要的类都在android.animation命名空间下,Animator是属性动画的基类,其是一个抽象类,该类定义了许多重要的方法,如下所示:setDuration(long duration) 通过setDuration方法可以设置动画总共的持续时间,以毫秒为单位。start() 通过start方法可以启动动画,动画启动后不一定会立即运行。如果之前通过调用setStar...
2018-05-02 19:15:11
410
原创 android与JS交互:相互调用方法、跳转到网页
在main下面New - Directory新建assets - New - File新建一个js_android.html<!DOCTYPE html><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> ...
2018-04-28 10:29:46
399
原创 ViewPager实现简易轮播图
适配器:public class MyAdapter extends PagerAdapter { private Context context; private List<Integer> list; public MyAdapter(Context context, List<Integer> list) { super(); this.context ...
2018-04-27 14:08:34
1044
1
原创 MVP框架
HttpUtilsCallback:public interface HttpUtilsCallback { void onSuccess(String success); void onFail(int errCode, String errMsg);}NetUtil:public class NetUtil implements Callback { private ...
2018-04-24 14:32:42
208
原创 okHttp的get与post简单封装
public class NetUtil implements Callback { private static NetUtil INSTANCE; private final OkHttpClient okHttpClient; private HttpUtilsCallback httpUtilsCallback; private NetUtil() { ...
2018-04-24 09:32:51
193
原创 MVP登录注册
依赖:implementation 'com.squareup.okhttp3:okhttp:3.10.0' implementation 'com.google.code.gson:gson:2.2.4'Constant:public class Constant { public static final String BASE_URL = "https://www.zhaoa...
2018-04-23 12:13:35
330
原创 RecyclerView列表布局
依赖: implementation 'com.android.support:recyclerview-v7:26.1.0' implementation 'com.squareup.okhttp3:okhttp:3.10.0' implementation 'com.google.code.gson:gson:2.2.4' implementation 'com....
2018-04-23 11:49:01
202
原创 SharedPreferences实现简易的自动登录、记住密码
public class MainActivity extends Activity { private EditText edit1; private EditText edit2; private CheckBox cb1; private CheckBox cb2; private Button btn1; private SharedPreferences sharedPre...
2018-04-22 19:33:47
195
转载 OKHttp使用详解
转载:https://blog.csdn.net/fightingXia/article/details/70947701一,OKHttp介绍okhttp是一个第三方类库,用于android中请求网络。这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCanary) 。用于替代HttpUrlConnection和Apache Htt...
2018-04-20 20:47:55
442
转载 Android使用Handler实现子线程与子线程、子线程与主线程之间通信
转载:https://blog.csdn.net/shaoenxiao/article/details/54561753今天这篇文章只讲一下怎么使用Handler实现子线程与子线程之间、子线程与主线程之间如何进行通信,关于具体的内部实现因为我也没研究过,所以这篇文章讲不了。一、子线程向主线程传值:这个实现比较简单,因为主线程自带Looper机制,所有我们不用创建Looper了,看一下代码吧:首选在...
2018-04-20 19:09:19
8612
1
原创 AlertDialog的基础实现
public class MainActivity extends Activity { protected int i; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activit...
2018-04-20 10:20:16
199
原创 PopupWindow基础实现
public class MainActivity extends Activity { private Button btn; private PopupWindow window; private EditText edit_text; private Button btn1; @Override protected void onCreate(Bundle savedInst...
2018-04-20 10:15:01
135
原创 相机、剪裁、相册的简单调用
import java.io.File;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.net.Uri;import android.os.Bundle;import android.os.Environment;impor...
2018-04-20 09:51:07
183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人