- 博客(26)
- 收藏
- 关注
原创 Glide和Picasso的区别
Glide就是Picasso的克隆版本,但是细节上还是又不少区别的Picasso和Glide各有所长 根据自己的需要选择合适的。对我而言 我更喜欢Glide 因为它比Picasso快,虽然需要更大的缓存空间来缓存。Glide和Picasso几乎可以做一样多的事情,代码也差不多一样。 区别:1.Glide导入依赖需要使用Support Library V4包2.Glide和Picasso的简单加载图...
2018-06-12 10:11:55 346
原创 EventBus主页面发送消息其他页面接收消息
今天心血来潮 怀着激动的心情来给码友们甩一个小博客!!概念、优点等什么的我就不说了网上一箩筐废话不说了 直接甩代码1.导入依赖compile 'org.greenrobot:eventbus:3.0.0'主页面发送消息:public class MainActivity extends AppC...
2017-11-07 20:15:14 1950 1
原创 Router自定义框架
【简单实现组件之间跳转】基础公共组件中的路由表以key value的映射集合形式存放在堆内存里, 在Application里往map集合中注册需要的类, 需要跳转时通过key获取value即获取目的类即可。【代码实现】创建Router类 实现单例。 声明一个Map集合 Map<String,<? extends Activity>>。 添加注册方法 给Map中添加需要注册的数据。 添加跳转方法 通过Key获取对应Value 实现跳转。 在Application中
2022-05-20 22:18:16 257 1
原创 Android多级选择控件,单级单选,单级多选,多级单选,多级多选
1.导入依赖implementation 'com.github.Tomzem:MultiLevelSelect:1.0.1'2.在Project的build.gradle中添加:allprojects { repositories { maven { url "https://jitpack.io" } }}3.xml布局<Lis...
2019-11-27 17:30:38 1501
原创 哥纵横Android多年,竟然翻车在Json上
Retrofit 是目前主流的网络请求框架,不少用过的小伙伴会遇到这样的问题,绝大部分接口测试都正常,就个别接口尤其是返回失败信息时报了个奇怪的错误信息,而看了自己的代码逻辑也没什么问题。别的接口都是一样的写,却没出现这样的情况,可是后台人员看了也说不关他们的事。刚遇到时会比较懵,有些人不知道什么原因也就无从下手。问题原因排查问题也很简单,把信息百度一下,会发现是解析异常。那就先看下后台返回......
2019-11-27 17:29:17 1025
原创 获取APK的签名信息
1.把apk后缀改为zip 解压2.打开META-INF 找到CERT.RSA文件3.打开cmd 属于命令 keytool -printcert -file D:/CERT.RSA注意:如果出现keytool不是内部或外部命令。。。就在cmd里编辑路径找到keytool.exe所在文件路径下我的是 D:/java/jdk.../bin 再输入命令即可。...
2019-11-25 10:42:07 642
原创 APP开机自启动
项目背景:一个类似快递柜子的智能柜,无人操作定时开关机,所以少不了开机自启动。大概思路:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED。只要在系统中捕捉到这个消息,就启动APP。权限<uses-permission android:nam...
2019-11-25 10:05:36 272
原创 实现关机和重启
我们的项目是在定制的Android系统6.0的平板上使用 根据项目需求,要求实现关机、重启设备的功能。首先我们要知道这种操作都是得有系统级权限的。权限:<manifest ... android:sharedUserId="android.uid.system"><uses-permission android:name="android.permission.S...
2019-11-21 12:53:49 476
原创 版本更新
App一个必要的功能就是 版本更新 ,它有好多种实现方法,比如:腾讯的bugly、蒲公英等,我们也可以自己动手实现。遇到的坑bugly:文档上写着默认3s,有时候会延迟弹框十分钟左右,会有一种集成失败的假象。动手下面就是我自己写的一种实现方式,调用Android手机原生的下载管理器去下载。思路1.网络请求拿到最新版本号2.获取当前版本号,比较版本号,如果服务器上的版本号...
2019-07-17 14:21:08 169
转载 Looper.loop为什么不会阻塞掉UI线程?
要完全彻底理解这个问题,需要准备以下4方面的知识:Process/Thread,Android Binder IPC,Handler/Looper/MessageQueue消息机制,Linux pipe/epoll机制。总结一下楼主主要有3个疑惑:1.Android中为什么主线程不会因为Looper.loop()里的死循环卡死?2.没看见哪里有相关代码为这个死循环准备了一个新线程去运转...
2019-07-12 16:51:58 1712 2
原创 仿QQ微信发动态多张拍照上传
最近项目要增加这样一个新功能 ↓↓↓需 求:审核人员到现场勘查 拍照上传(只能多张拍照 不能用相册里的照片 以求真实)。思路流程:如下 ↓↓↓1.用GridView实现 首先手动添加一条item 用于点击弹出底部Dialog 点击拍照2.调用照相机拍照 返回图片路径3.在回调里面添加到List集合 判断List大小 如果小于9 手动给list添加一条it...
2019-05-14 11:49:24 233 1
原创 融云 Android系统6.0 8.0遇见的问题
昨天集成了一个融云的即时通讯 昨天写的代码还好好的 早上来了运行了一下发现问题了!wtf? Android6.0运行没毛病 到了8.0就出现bug了 !下面是报错信息Process: com.example.ihaji:ipc, PID: 25610java.lang.UnsatisfiedLinkError: dlopen failed: library "libsqlite....
2019-04-15 10:30:42 374
原创 网易云引导页ViewPager联动
分析目测布局:分为两个viewpager,上面展示文字的viewpager和下面的图片viewpager; 进一步观察:上面的文字viewpager滑动有延迟,而图片viewpager是没有滑动自带动画的,而且都没有自带滑动手势效果; 分析得出:两个viewpager都拦截滑动事件,文字viewpager需要设置切换时间,有动画效果,图片viewpager去掉自带动画; 分析图片vi...
2019-01-25 15:52:48 359
原创 一个卡片式菜单
1.在 build.gradle下添加repositories { ... maven { url "https://jitpack.io" }}2.添加依赖dependencies { compile 'com.github.DxTT:coolMenu:v1.1'}3.在XML你的布局中添加CoolMenuFrameLayout控件<co...
2019-01-24 15:38:16 652
原创 EditText软键盘
1.Android中的EditText默认时不弹出软键盘的方法 在 AndroidMainfest.xml中选择当前使用EditText的activity,设置windowSoftInputMode属性为 adjustUnspecified|stateHidden <activity android:name=".Main" android:label="@s...
2018-11-14 11:18:06 250
原创 计算屏幕宽高
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(dm); int width = ...
2018-11-14 11:13:45 446
原创 悬浮按钮
1.xml布局<Button android:id="@+id/btn_move" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:te...
2018-11-14 11:13:06 471
原创 Glide加载圆形图片带白色边框
1.导入Glide依赖compile 'com.github.bumptech.glide:glide:4.0.0-RC1'2.创建一个类 继承BitmapTransformation/** * 加载圆形头像带白色边框 */public class GlideCircleWithBorder extends BitmapTransformation { private...
2018-11-14 11:08:06 1377
原创 圆形ImageView
集成步骤dependencies { ... implementation 'de.hdodenhof:circleimageview:2.2.0'} 布局<com.wjl.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" a...
2018-11-08 10:22:11 140
原创 吐司工具类
集成步骤dependencies { implementation 'com.hjq:toast:3.0'}初始化Toast// 在Application中初始化ToastUtils.init(this);显示Toast ToastUtils.show("我是吐司"); 获取Toast对象ToastUtils.getToast();设置Toa...
2018-11-08 10:03:59 718
原创 标题栏
集成步骤dependencies { implementation 'com.hjq:titlebar:3.5'}属性大全(划重点,要考)<declare-styleable name="TitleBar"> <!-- 标题栏的样式 --> <attr name="bar_style"> <...
2018-11-08 09:48:32 505
转载 权限请求框架
集成步骤dependencies { implementation 'com.hjq:xxpermissions:5.2'}一句代码搞定权限请求,从未如此简单XXPermissions.with(this) //.constantRequest() //可设置被拒绝后继续申请,直到用户授权或者永久拒绝 //.permission(Permi...
2018-11-08 09:40:23 452 1
原创 解决ScrollView嵌套ListView或GridView置顶显示问题
今天无意间发现一个小小的问题,当我们使用ScrollView里面嵌套ListView或GridView的时候页面显示会停留在ListView的item当前,而不是置顶显示整个页面,不要慌,解决办法来了。1.在java代码中ListView或GridView初始化后面添加以下代码:scrollView.smoothScrollTo(0,20);scrollView.setFocusable(true...
2018-06-15 15:45:57 261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人