自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梵韵

Android之路

  • 博客(67)
  • 收藏
  • 关注

原创 单例模式的写法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档单例模式的写法1、懒汉式,线程不安全2、懒汉式,线程安全3、饿汉式4、双检锁/双重校验锁5、登记式/静态内部类6、枚举总结1、懒汉式,线程不安全多线程不安全当使用的使用,才去创建对象,用的时候才去检查有没有实例,如果有则返回,没有则新建。public class Singleton { private static Singleton instance; //私有构造方法 private Singleto.

2022-03-29 11:52:22 286

原创 使用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 8117

原创 对字符串进行各种解析判断的工具类

/** * 字符解析工具类 */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 1020

原创 操作Bitmap的一些工具类

public class BitmapUtil { /** * 质量压缩 (仅仅在文件存储的时候使用此压缩即可,否则没有任何作用) * &lt;p&gt; * 此压缩,只针对文件存储或者文件传输,在内存中,大小是不会改变的 * 如果想要不崩溃,还是得进行尺寸的压缩,真正的缩小内存占用 * * @param image *...

2018-10-26 19:39:17 387

原创 Map对象的遍历方法

如果键值都要for (Map.Entry&lt;String, String&gt; entry : map.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); System.out.println("Key = " + key + ", Value = " + value);}...

2018-10-19 19:28:16 2741

原创 自己封装的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 836

原创 使用ConstraintLayout+FloatingActionButton实现悬浮菜单效果

布局&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android....

2018-09-30 18:58:48 2487 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 613

原创 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 878

原创 APP启动时有一段黑屏或白屏解决方案

styles.xml:&lt;style name="Splash" parent="AppTheme"&gt; &lt;!--启动页背景--&gt; &lt;item name="android:windowBackground"&gt;@drawable/start_page_background&lt;/item&gt; &lt;!--全屏

2018-06-08 19:29:46 1065

原创 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 1674

原创 DrawerLayout使用

布局:&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;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 369

原创 Banner 无限轮播

依赖://banner implementation 'com.youth.banner:banner:1.4.9' implementation 'com.github.bumptech.glide:glide:3.7.0'控件使用:&lt;com.youth.banner.Banner android:id="@+id/banner" android:layou...

2018-05-31 10:56:20 186

原创 RecyclerView上拉刷新

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { ...

2018-05-31 10:37:48 227

原创 自定义view留声机样式--音乐播放器

效果:播放、暂停、进度条、循环播放attrs.xml:&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;resources&gt; &lt;declare-styleable name="GramophoneView"&gt; &lt;attr name="picture_radiu" format=&

2018-05-28 15:22:09 1072

原创 使用okhttp3+retrofit2+rxjava2上传头像

RetrofitInterface://https://www.zhaoapi.cn/file/upload @Multipart @POST("file/upload") Observable&lt;PicturesBean&gt; getPicturesBean(@Part("uid") RequestBody uid,@Part MultipartBody.Part ...

2018-05-23 10:00:22 1721 1

原创 实现音乐播放的一些方式

音乐资源的名字:不能有中文,不能有空格,不能有特殊符号,尽量不要全是数字 音乐播放器:MediaPlayer创建的方式一:一般如果需要添加一个背景音乐,,可以使用这种方式Java代码:public class MainActivity extends Activity { private MediaPlayer player; @Override protected void onCreat...

2018-05-21 15:22:29 839

原创 实现视频播放的一些方式

VideoView结合MediaController播放视频:布局:&lt;VideoView android:id="@+id/video" android:layout_width="match_parent" android:layout_height="match_parent" /&gt;Java代码://加载视频vid...

2018-05-21 14:53:25 402

原创 Double类型数据的精确计算

在Java中为什么会总是出现double值的乘积总是在一个正确的结果左右偏0.0000**1,这是因为当两个double数值相乘时,底层采用转换成二进制来进行乘法的运算,由于在乘完之后在包含小数的二进制中无法完全转换成十进制才会发生这种情况。Java中有一个类是BigDecimal,该类是专门计算一些要求精度很高的算法,常用于银行金融类的计算,BigDecimal一共有4个够造方法,我们不关心用B...

2018-05-20 19:42:03 6316

原创 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 1593

原创 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 138

原创 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 118

原创 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 139

原创 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 186

原创 自定义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 295 2

原创 Fragment(show/hide)实现底部导航栏

抽了点基类重点在initView中的代码。MainActivity:public class MainActivity extends BaseActivity&lt;MainPresenter&gt; implements IMainView, View.OnClickListener { private LinearLayout ll_home; private ImageV...

2018-05-03 11:20:49 461

原创 简易购物车

依赖: 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 198

原创 Android属性动画

Animator属性动画主要的类都在android.animation命名空间下,Animator是属性动画的基类,其是一个抽象类,该类定义了许多重要的方法,如下所示:setDuration(long duration) 通过setDuration方法可以设置动画总共的持续时间,以毫秒为单位。start() 通过start方法可以启动动画,动画启动后不一定会立即运行。如果之前通过调用setStar...

2018-05-02 19:15:11 361

原创 android与JS交互:相互调用方法、跳转到网页

在main下面New - Directory新建assets - New - File新建一个js_android.html&lt;!DOCTYPE html&gt;&lt;html&gt; &lt;head&gt; &lt;meta http-equiv="content-type" content="text/html;charset=utf-8"&gt; ...

2018-04-28 10:29:46 357

原创 ViewPager实现简易轮播图

适配器:public class MyAdapter extends PagerAdapter { private Context context; private List&lt;Integer&gt; list; public MyAdapter(Context context, List&lt;Integer&gt; list) { super(); this.context ...

2018-04-27 14:08:34 994 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 190

原创 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 160

原创 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 314

原创 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 178

原创 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 163

转载 OKHttp使用详解

转载:https://blog.csdn.net/fightingXia/article/details/70947701一,OKHttp介绍okhttp是一个第三方类库,用于android中请求网络。这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCanary) 。用于替代HttpUrlConnection和Apache Htt...

2018-04-20 20:47:55 353

转载 Android使用Handler实现子线程与子线程、子线程与主线程之间通信

转载:https://blog.csdn.net/shaoenxiao/article/details/54561753今天这篇文章只讲一下怎么使用Handler实现子线程与子线程之间、子线程与主线程之间如何进行通信,关于具体的内部实现因为我也没研究过,所以这篇文章讲不了。一、子线程向主线程传值:这个实现比较简单,因为主线程自带Looper机制,所有我们不用创建Looper了,看一下代码吧:首选在...

2018-04-20 19:09:19 8523 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 166

原创 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 114

原创 相机、剪裁、相册的简单调用

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 166

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除