自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (7)
  • 收藏
  • 关注

转载 ProgressBar高度填充、设置背景颜色和进度条颜色

仅仅记录,方便自己学习查找资料:progressbar设置progressDrawable,用渐变色,不用图片的方式实现。

2024-01-25 16:33:07 632

转载 ConstraintLayout-那些很有用但是你可能不知道的用法

仅仅是记录,方便后面遇到问题自己查找,记录了文章的链接:ConstraintLayout-那些很有用但是你可能不知道的用法_layout_gonemargintop-CSDN博客

2024-01-25 11:37:01 55

原创 androidstudio 正则全局替换

替换为postValue形式,即:xxLiveData.postValue(SlideHttpResult.Success(isLeft, true))例如:把项目中所有的xxLiveData.value = SlideHttpResult.Success(isLeft, true)2,.*要用括号括起来,方便和下面的括号里的$1整体替换。小补充:^表示开启正则,$表示结束正则。1,选中右上角的星号,表示开启正则。3,上图中黑色部分,就是预览结果。

2023-12-26 20:23:11 620

转载 apktool静态调试反编译

完成后我们在F:\Android\apktools\dex2jar-2.0目录下就会多了个classes-dex2jar.jar文件,这个就是我们需要的jar文件,接下来就是如何查看java代码了,这里笔者借用一个工具jd-gui(下载链接),下载完解压(这里选择window平台),然后用它打开classes-dex2jar.jar就可以了,如果你的apk经过混淆,那么看到的都是a、b之类的。第一步:把你的apk后缀名改为zip,然后解压后,就会发现有个classes.dex,这里面就是java源码了。

2023-12-21 11:19:14 365

原创 git常用命令总结

一,撤销本地commit的记录,注意是还没有push到远端的奥androidstudio上操作:选中要提交的记录的上一个记录,也就是你想回退到的某个记录。如你提交的第55个commit有问题,想撤回,你就选中第54个记录,然后右键,选择reset current branch to here。在后续的弹框中选择soft即可。几个类型选择区别如下使用 git reset HEAD^ 命令默认的就是mixed模式,此命令表示不删除本地工作空间提交的代码,也即保留对工作区的修改,但是修改未进入暂存区。

2023-11-21 16:23:33 640

转载 低功耗蓝牙相关文章,附Demo

这是转载别人的文章,供自己后期研究学习使用,并附上Demo,方便大家。Demo中有些许问题,大家可以从原文链接中查看。

2023-10-23 09:27:23 58

原创 webstrom2018.1.3激活文章

好不容易找到了一个可以使用的文章,保存下来,以后激活再用(注:我下载的2018版的,19的没有尝试)链接:https://blog.csdn.net/xr510002594/article/details/81488461...

2019-08-08 09:31:59 325

原创 vue插件收集

工作记录,收集的两篇文章https://www.cnblogs.com/calamus/p/8242446.htmlhttps://www.imooc.com/article/45209

2019-08-01 10:03:21 183

原创 as报错UnsupportedOperationException

解决:当时我的项目中使用了分包,如下图那么在项目的gradle文件中加入dexOptions,修改为如下图:

2017-12-08 11:01:01 377

原创 键盘弹起和消失的监听2中方式

第一种方式:该方式适用于键盘弹起,然后activity被顶上去的情况,因为只有activity被顶上去了,才能计算高度差。如果不能顶上去,那么高度差就为0,所以监听不到键盘的弹起和消失。下面请看代码:第一步 activity 配置  android:windowSoftInputMode="stateAlwaysHidden|adjustResize"第二步 activity 实现 i

2017-04-24 11:20:49 491

原创 PopWindow的showAsDropDown在7.0手机上显示位置错乱问题

只需要重写下面的方法即可:@Overridepublic void showAsDropDown(View anchor) { if(Build.VERSION.SDK_INT == 24) { Rect rect = new Rect(); anchor.getGlobalVisibleRect(rect); int h

2017-04-13 18:02:20 2159 2

原创 命令行签名apk,以及修改签名文件跟debugkey一致,放到build路径下即可运行

下面介绍的是:修改签名文件跟debugkey一致,放到build路径下即可运行:说明:keytool工具在你Eclipse的jdk路径下,一般是拷贝一份你生成的原keystore文件到jdk的bin目录下,通过截图里的命令行来修改完成。注意:签名的时候密码一定不要忘记了,alis别名也要记住了。当应用正式上线的时候,记得要用最开始生成的那个keystore文

2017-03-30 13:47:12 932

原创 AS导入GitHub上下载下来的项目特别慢,卡在Build Gradler

1.AS打开速度慢在Android Studio的bin目录里,打开idea.prooperties文件,添加disable.android.first.run=true再次打开时,启动加快2.AS项目导入慢打开别人的项目时,或者AS升级后,项目打开很慢,这是因为,AS自动检测到gradle和当前不匹配,去官网下载了,所以很慢。手动下载好gradle对应的版本然后设

2017-03-07 16:26:49 2162 1

转载 AndroidFix热修复例子

背景 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。有时候仅仅是为了修改了一行代码,也要付出巨大的成本进行换包和重新发布。这时候就提出一个问题:有没有办法以补丁的方式动态修复紧急Bug,不再需要重新发布App,不再需要用户重新下载,覆盖安装?目

2017-01-06 16:43:08 758

原创 VideoView以及Surface+MediaPlayer播放视频RAW下视频方式

一:首先讲VideoView1videoView的第一种播放方式: videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.ceshi));//ceshi是在RAW目录下的mp4视频         videoView.start();2 videoview的第二种

2017-01-03 23:00:14 2798

原创 JS和安卓互相调用以及Scheme协议完成外部链接跳转app指定页面

一: Scheme协议完成外部链接跳转app指定页面什么是 URL Scheme?    android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。URL Schem

2016-12-28 11:27:04 17334 1

原创 调用系统相册上传图片到服务器--OPPO等部分手机上出现短暂的显示桌面问题

主要原因是主体样式设置的问题:这里把appTheme设置一个style即可:        @color/white                false        true出现其他的短暂显示桌面问题,都可以使用上面的方式去解决。

2016-12-24 13:03:34 3469 1

转载 This app has been built with an incorrect configuration. Please configure your build for VectorDraw

This app has been built with an incorrect configuration. Please configure your build for VectorDrawa运行apk后的异常是:07-26 14:23:27.882: E/AndroidRuntime(8517): Java.lang.RuntimeException: U

2016-12-23 14:42:22 933

原创 判断手机是否有虚拟键盘

/** * 判断底部navigator是否已经显示 * @param windowManager * @return */@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)public static boolean hasSoftKeys(WindowManager windowManager){ Display d = windowM

2016-08-10 16:21:59 1954

原创 图片自适应

WindowManager wm = this.getWindowManager(); int width = wm.getDefaultDisplay().getWidth(); ImageView imageView = new ImageView(mContext); //注释部分是自适应图片的高度。单独的setAdjustVi

2016-08-03 16:03:48 419

原创 动态的添加ImageView到LinearLayout中并居中显示

ImageView imageView = new ImageView(mActivity);imageView.setImageResource(R.mipmap.gengduo);LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,Lin

2016-08-03 15:58:57 10855

原创 动态的创建ImageView,并设置图片自适应

WindowManager wm = this.getWindowManager();int width = wm.getDefaultDisplay().getWidth();ImageView imageView = new ImageView(mContext);imageView.setAdjustViewBounds(true);//设置图片自适应,只是这句话必须结合下面的setM

2016-07-28 14:23:46 4735

原创 AppPlugin:Unsupported

问题如图:具体的解决方法:这个错误的原因是在 工程的build.gradle文件中的gradle 工具配置使用了gradle:+将它classpath 'com.android.tools.build:gradle:+'替换为固定版本的gradle。问题解决 classpath "com.android.tools.build:gradle:2.1.0"

2016-07-28 10:27:24 393

原创 PagerSlidingTabStrip关联viewpager时,viewpager上fragment切换时保持数据状态,以及viewpager默认缓存的去除

一:布局文件为:com.ddhealer.nidmall.view.PagerSlidingTabStrip android:layout_marginLeft="13dp" android:layout_marginRight="13dp" android:id="@+id/pagerSlidingTabStrip" android:layout_widt

2016-07-28 09:10:52 2443 1

原创 MaterialDesign相关效果实现

一:水波纹默认的风格实现    只需要在xml文件中为控件设置背景bacground为:?android:attr/selectableItemBackground二:还有一种默认的风格是:?android:attr/selectableItemBackgroundBorderless三:就是通过drawable来实现了。    该实现方式类似于我们之前经常用的状态选择器。

2016-07-14 13:32:18 424

原创 内存泄漏问题

我们在做android应用开发的时候经常会陷入内存泄漏的问题中,大多数时候内存的泄漏都是由于犯了相同的错误:长期持有了一个Context的引用。“泄漏”意味着你保持着它的一个引用,从而使它不能被垃圾回收机制回收,也就是说当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了。

2016-07-12 17:08:59 677

原创 属性动画的简单用法收集

有时候我们想让某个控件实时的去执行某个属性动画,而有时候我们需要某个控件像view动画那样在一定的时间范围内做出某个动画效果。那么如何做呢?下面给出相应的方法:一:某个控件在一定的时间范围内做出属性动画效果变化ObjectAnimator objectAnimatorX = ObjectAnimator.ofFloat(iv_02, "translationX", 20);Obj

2016-07-08 10:59:37 393

原创 安卓坐标系

Android坐标系其实就是一个三维坐标,Z轴向上,X轴向右,Y轴向下。一:安卓屏幕区域划分:通过上图我们可以很直观的看到Android对于屏幕的划分定义。下面我们就给出这些区域里常用区域的一些坐标或者度量方式。如下://获取屏幕区域的宽高等尺寸获取DisplayMetrics metrics =new DisplayMetrics();getWindowMan

2016-07-07 10:44:12 571

原创 java除法运算保留两位小数,不只是取整

示例如下:float num= (float)2/3;DecimalFormat df = new DecimalFormat("0.00");//格式化小数String s = df.format(num);//返回的是String类型,如果没有强转为float或者double,那么int型的2除以3,结果就会默认只有整数,没有小数点后的数值。

2016-07-06 17:28:31 5357

原创 自定义ViewGroup时需要注意的细节点

一:构造函数的修改,代码如下:       1 public TimerTextView(Context context) {            // super(context);             this(context,null);          }        public TimerTextView(Context context, Attribut

2016-07-05 17:30:16 1066

原创 安卓序列化对象--包括序列化boolean型变量

安卓序列化有两种方式,分别是实现Serializable接口和Parcelable接口,其中Serializable接口是来自Java中的序列化接口,而Parcelable是Android自带的序列化接口。上述的两种序列化接口都有各自不同的优缺点,我们在实际使用时需根据不同情况而定。1.Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC,而相

2016-06-29 10:52:03 2359

原创 Androidstudio的gradle过大内存溢出解决

首先贴出问题:解决思路如下图:

2016-06-28 16:51:45 5437

原创 高德地图定位相关API

一:如果是直接定位到当前位置,可以参考demo中的小蓝点功能。二:如果是根据得到的经纬度信息来定位到具体信息,可使用下面的API       aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(newLatLng(34.341568, 108.940174), 18));// 设置指定的可视区域地图,其中18代表的是缩放级别

2016-06-12 13:56:21 3765 1

原创 拍照权限导致某些代码在6.0系统上崩溃

过滤掉6.0系统上某个权限崩溃问题思路:     一: 我们需要判断手机的系统版本是否大于6.0,当大于6.0的时候,我们在判断某个权限是否开启了,如果没有开启,则重新去请求权限,代码如下:      int permission = checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE);

2016-06-06 15:07:59 1096

原创 androidstudio中生成百度地图两种AK的方式(debug版和正式版)

1 debug版的SHA1值获取方式:   使用keytool:     第一步:cmd命令行中输入:cd .android 回车     第二部:输入:keytool -list -v -keystore debug.keystore     第三步:输入秘钥库口令:android,然后就可以看到了需要的SHA1值。2 正式版SHA1值获取方式:  创建一个key

2016-06-02 11:47:16 1715

原创 finished with non-zero exit value 2

Error:Execution failed for task ':transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.

2016-05-24 15:08:58 364

原创 Androidstudio安装GsonFormat快速生成实体类插件

方式一:   File ->setting ->Plugins ->Browse 搜索GsonFormat  然后安装插件,重新启动 studio方式二:   首先下载GsonFormat.jar;然后 File ->setting ->Plugins ->install plugin from disk...导入下载GsonFormat  ,然后重新启动

2016-05-19 18:01:21 1561

原创 在studio中遇见 解决Gradle DSL method not found: ‘android()’

解决办法:删掉最外层(工作空间中的buil.gradel  因为AS里只在app层的gradle读取Android版本,放在最外层的gradle是没办法读的 )的build.gradle中的android {    compileSdkVersion 19    buildToolsVersion '21.1.1'}      然后重新刷新就ok了

2016-05-19 17:58:59 364

原创 毛玻璃效果实现(必须api4.0以上)

毛玻璃实现效果如下方法:@SuppressLint("NewApi") public Bitmap blur(Bitmap sentBitmap,Context context,int radius){         Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true);         final R

2016-05-19 09:43:15 873

原创 as下删除无用的图片

操作路径:然后在弹出的窗体中输入:unused resources,敲回车键然后出现下图:一般都是选择整个工程,也可以选第三个File,然后ok然后等待搜索结果,会在控制台上有提示的。根据提示去删除即可。(为防止as抽风,提示错误而导致误删,建议删除前先备份一份)

2016-05-18 11:30:26 915

反编译工具保存下学习使用

反编译工具保存下学习使用

2023-11-16

mvvm的demo,仅供自己以后学习参考

mvvm的demo,仅供自己以后学习参考

2023-11-16

低功耗蓝牙相关文章,附Demo

低功耗蓝牙相关文章,附Demo

2023-10-23

GridView可添加头布局,且兼容PullToRefreshLayout

本GridView可以模仿ListView的addHeadView方法添加头布局。并且可以完美的兼容嵌入到PullToRefreshLayout刷新框架中,没有bug。绝对比HeaderGridView强。

2016-11-04

AES数据加密demo,包含BASios,net,安卓,E64Decoder和BASE64Encoder对应的jar包

AES数据加密,解密demo,包括ios,net,安卓,拿来直接就能使用,其中安卓直接复制里面的txt文档到自己的项目中创建一个utils即可使用。需要的E64Decoder和BASE64Encoder对应的jar包,我已提供在里面

2016-03-10

扫一扫扫描二维码功能

本demo不同于其他的demo,因为本demo的优点在于实现了扫描二维码的功能,同时代码很少,保证你不用花费太多时间,拿来就能移植到自己的项目中去

2015-07-10

点击两次退出程序

实现点击两次退出程序的功能,可以利用handler消息机制控制boolean型变量的改变和计时两种方式来实现。本demo采用的是hadnler消息机制来实现的。

2015-07-10

拍照并显示

实现了调用系统照相机,并可以裁剪照片(该功能有对应的方法,只是我没有调用而已,用户可以根据自己的需求决定是否调用该方法),或者直接将显示的图片以圆形来显示出来。也可以从相册中获取一个图片。

2015-07-10

自定义百度地图放大和缩小功能

简单的百度地图,并实现了自定义地图放大和缩小的功能。用户下载下来之后,只需要更换包名,并生成自己的AK,替换成自己的AK,即可完美运行。

2015-07-10

极光推送demo

模仿官方的文档,自己做了一个极光推送demo,用户下载下来之后只需要将清单文件中的包名,application路径,以及appKey替换成自己的,即可完美运行

2015-07-10

空空如也

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

TA关注的人

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