
解决方案
Applicaton
这个作者很懒,什么都没留下…
展开
-
【无标题】
DeadSystemException转载 2024-02-05 17:43:00 · 140 阅读 · 0 评论 -
Android Gradle4.2之后如何禁用资源混淆
android 关闭r8的资源混淆原创 2022-11-14 16:35:07 · 2163 阅读 · 0 评论 -
Android修改项目名称 & 出现 can‘t rename root module 的警告
修改项目名原创 2022-06-06 17:34:48 · 2797 阅读 · 0 评论 -
如何关闭华为手机连接电脑自动弹出cd驱动器和类似文件管理文件夹
关闭cd驱动器华为手机助手原创 2022-04-20 17:10:55 · 13490 阅读 · 7 评论 -
酷安开发者签名认证
如图所示将你要上传的apk 和 从酷安下载的签名apk 和你的jks文件放到一起 这里为了方便我放到了一个文件夹cmd命令–进入命令编辑页面输入如下命令jarsigner -verbose -keystore 你的jks文件名.jks -signedjar apk文件名.apk 酷安下载的签名apk名.apk 你的jks文件的keyAlias示例jarsigner -verbose -keystore myjks.jks -signedjar QrCodeBarScanner_1.01_2_..原创 2021-08-13 10:53:23 · 1656 阅读 · 3 评论 -
TextView 文字滚动 横向
TextView 文字滚动效果如下Java 代码 XML 均可设置javaTextView tv = (TextView) findViewById(R.id.tv); tv.setEllipsize(TextUtils.TruncateAt.MARQUEE);//设置跑马灯显示效果 tv.setSingleLine(true);//设置单行显示 tv.setHorizontallyScrolling(true);//设置水平滚动效果 tv.setMarqueeR原创 2021-02-01 11:25:48 · 341 阅读 · 0 评论 -
html.format
html.format // color 颜色 fontsize 大小 <string name="timer_sms"><Data><![CDATA[<font color="#DDDDDD">收不到验证码? </font> <font color="#FF5500" fontsize="10sp">%s </font><font color="#DDDDDD">秒后可重新发送</font&g原创 2020-12-14 16:29:51 · 417 阅读 · 0 评论 -
倒计时定时CountDownTimer
倒计时 CountDownTimer使用方式 CountDownTimer mCountDownTimer; public void startCountDown(Context context, TextView captchaView) { mCountDownTimer = new CountDownTimer(60 * 1000, 1000) { @Override public void onTick(long mil原创 2020-11-30 11:18:39 · 229 阅读 · 0 评论 -
RecyclerView 数据复用问题
RecyclerView 数据复用问题在adapter 的 onBindViewHodler 中对于数据如果存在非空判断 如下 override fun onBindViewHolder(holder: ViewHolder, position: Int) { var info = list.get(position) Log.i(this@QueryAdapter::class.java.name, info.toString()) holder.tv_原创 2020-11-30 11:07:45 · 679 阅读 · 0 评论 -
如何动态获取Drawable下的图片
// -----------------------------------文件名字-----------------包名 int id = getResources().getIdentifier(imgname, "drawable", "mny.com.xxx"); //这个id 就是动态生成的类似于R.dra...原创 2019-10-30 16:25:03 · 286 阅读 · 0 评论 -
获取设备id imei uuid mac地址 以及根据不同的id 生成uuid
package com.mny.macimeideviceinfo;import android.content.Context;import android.provider.Settings;import android.telephony.TelephonyManager;import java.net.NetworkInterface;import java.net.Sock...原创 2018-02-09 11:18:06 · 2842 阅读 · 0 评论 -
Android 播放短提示音
Android提供了音频API MediaPlayer AudioTrack 还有一种轻量级的叫SoundPool 它适合播放那些需要反复播放,但时间较短的音效。它支持同时播放多种声音,这些声音在系统开始时会加载到列表中,按照这些声音的id,我们可以调用这些音效。我们可以看下创建方法和使用SoundPool(int maxStreams, int streamType, i原创 2018-01-29 11:56:27 · 3921 阅读 · 0 评论 -
以秒为单位更新时间的计时器
类似拨打电话时累计记录打了多少秒的时间刷新效果00:01---00:02---00:03---00:04---00:05。。。。以此后推 final long time=System.currentTimeMillis(); ScheduledExecutorService thread=Executors.newScheduledThreadPool(5); thread....原创 2018-02-27 16:29:43 · 1062 阅读 · 0 评论 -
Android 区分app环境 测试版 正式版共存 分ABI 打包 多版本打包 productFlavors
环境分离有过互联网软件开发经验的朋友一定对于测试环境和生产环境这两个词很是熟悉,一般软件开发阶段都是在测试环境(比较常用的是内网环境)上运行调试,而正式打包发布时会配置生产环境(也称之为线上环境)的服务器,也就是不同的接口URL和数据库的区别。在开发和测试阶段,我们常常需要在同一个设备上同时安装着两套甚至多套环境的同一个应用,便于观察调试。productFlavors项目可以通过...原创 2018-02-08 17:45:44 · 2509 阅读 · 0 评论 -
CountDownTimer 使用过程中的注意事项 时间跳跃不准 内存溢出
Android 实现倒计时的方式有多种,Handler 延时发送 Message,Timer 和 TimerTask 配合使用,使用 CountDownTimer 类等。相比而言,经过系统封装的 CountDownTimer 算是使用起来最为方便的方式之一。然而,CountDownTimer 有两个使用上的问题我们不得不稍加注意:计时不准确、内存泄漏问题。我们来结合源码逐一分析一下。计...原创 2018-10-29 15:49:35 · 1687 阅读 · 0 评论 -
Could not find multidex.jar (com.android.support:multidex:1.0.2)
问题描述: 再AndroidStuido 3.1.2 版本上编译项目提示 Could not find multidex.jar (com.android.support:multidex:1.0.2)当我打开下面提示链接 https://repo.jfrog.org/artifactory/libs-release-bintray/com/android/support/multidex...翻译 2018-10-24 09:35:37 · 2144 阅读 · 0 评论 -
问题来了 如何让一个TextView 垂直渐变并更换字体
最近接到一个需求要求字体垂直渐变当然不带动画 只有字体颜色渐变 同时要设置字体风格后面的就是实现需求了 然而当我实现起来。。起初实现了ondraw onlayout 等等等等 wtf' 绘制是如此费劲后来细看Gradient 就是线性渐变。。其实不管怎么写也都得用这个 开始直接设置这些是没问题的,比如这样设置起始颜色 gettextSize 就是字体大小了 这样在y轴表示纵向 你可以尝...原创 2018-11-13 15:50:06 · 1201 阅读 · 0 评论 -
双重for循环比较之巨坑
public class Test { static class Week { boolean isCheck; String title; String numLink; public Week(String title, String numLink, boolean isCheck) { th...原创 2018-12-03 16:08:49 · 2690 阅读 · 0 评论 -
WTFGlide 4.x 如何生成边框
Glide 4.x 中自定义转换器 发生了更改原来的 getId 已经无效了 必须重写如下方法 至于为啥 官网文档。。。 @Override public boolean equals(Object o) { return o instanceof GlideCircleTransform; } @Override public int ha...原创 2018-12-13 17:11:22 · 297 阅读 · 0 评论 -
for循环双重循环 之坑
先奉上一段代码 大家看有没有问题public class TestBackpressure { public static void main(String[] args) { List week = new ArrayList<>(); week.add(new Week("周一", false, "1")); week...原创 2018-12-21 14:48:43 · 1647 阅读 · 0 评论 -
地图坐标转换
最近用到高德的坐标跳转到百度地图app里进行导航 因为坐标系不同 高德是GCJ-02 百度是bd-09 所以导致导航一直位置不对多方查找也尝试了高德官方给的CoordinateConverter 不是我说 根本没个卵用 群里多方询问终于碰到大佬丢出一个链接转载自此处 https://blog.youkuaiyun.com/vili_sky/article/details/78876040终于解...转载 2019-01-15 11:40:41 · 730 阅读 · 0 评论 -
Android Service后台服务进程意外被kill掉之后如何重启
Service组件在android开发中经常用到,经常作为后台服务,需要一直保持运行,负责处理一些不必展示的任务。而一些安全软件,会有结束进程的功能,如果不做Service的保持,就会被其杀掉。那么如何保持Service的运行状态,核心就是利用ANDROID的系统广播,这一不会被其他软件影响的常驻程序触发自己的程序检查Service的运行状态,如果被杀掉,就再起来。 在众多的Intent的acti原创 2016-08-15 17:30:34 · 3385 阅读 · 0 评论 -
Notification高度问题
最近用到了自定义的Notification布局 高度突然显示不全,是因为在默认情况下低版本只有Builder.setContent(remoteViews); //默认高度64 超出则显示不全而在api16 以上提供了bigContenteviewBuilder.setCustomBigContentView(remoteViews);// 默认高度256 超出则显示不全原创 2018-01-10 17:10:48 · 2162 阅读 · 0 评论 -
progressBar相关 更改默认颜色 以及水平颜色设置
21以上的api 可以直接设置颜色 通过coloraccount 或者是android:indeterminateTint="@color/colorPrimary"在低版本是不行的 所我判断了版本通过加载成一个drawable 来设置/** * 设置ProgressBar 的颜色 * * @param colorId color 在色值中的颜色 * @param m原创 2018-01-08 15:53:51 · 6582 阅读 · 0 评论 -
在navigationView中切换Activity Fragment 卡顿优化
在项目中 有各种各样的需求,我今天就遇到一个这种需求侧滑菜单 当我们在应用NavigationView+DrawerLayout的时 点击完Menu Drawer进行关闭的同时activity也在打开 我发现这样做效果不是很好有掉帧的情况 出现卡顿 开始我以为是activity create里面操作延迟比较久 后来注释所有的方法后发现有一点卵用 但是还是有延迟 仔细看图就会发现当dr原创 2017-06-26 16:34:49 · 3131 阅读 · 2 评论 -
for循环删除List中的数据产生的问题
在应用中大家可能会碰到一些场景 比如 一个listview 删除选中条目 这需要去查找选中项并移除 但是list 集合 坐标会前移 所以第二次删除的时候就会有找不到的清空也就是空指针或者其他问题 解决方案有两个 一个是用迭代器另外一个就是倒序list删除迭代器 Iterator it = appAdapter.getData().iterator();原创 2017-06-29 17:02:49 · 2271 阅读 · 0 评论 -
Listview AddHeaderview 的问题
Listview addhederview 一定要在listview setadapter 之前调用 否则适配会有问题当我们添加了hederview之后 headerview 就成了第一项 adapter里面的position 位置从1 开始适配到listview上 如果设置了OnitemClickListener 如果不点击 headerview 事件都是对的 当点击headerv原创 2017-05-20 11:41:20 · 389 阅读 · 0 评论 -
有关Unable to start activity ComponentInfo的一点BUG
问题描述 Unable to start activity ComponentInfo{}: **无法启动 造成问题原因 1 .路径不对 2 清单文件没注册 3.theme不对..以下提示**java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor.原创 2017-04-06 20:30:03 · 5181 阅读 · 0 评论 -
Activity设置为启动模式为singletask第二次进入activity getintent获取不到问题
现在假设我们有Activity A ,B activity singletask 启动模式 当此activity存在栈中 再次进入无需重新创建移除其上面的activity使其到栈顶 取用 当B的启动模式设置为singletask第一次A->B getintent 可以获取到数据,当第二次进入的时候突然获取不到了 数据是空的,为什么会这样呢,先看下上面关于singletask的介绍,我们在看下原创 2016-09-01 15:56:56 · 2064 阅读 · 0 评论 -
自动填充短信验证码实现方式
自动填充短信验证码 短信验证码是大部分软件里面都存在的功能,同时为了避免用户自己输入导致的繁琐操作,有一部分app设计者将其设置成了自动填充的方式,方便用户操作那么这种方式是什么实现的呢。 利用广播接收器来拦截短信获取其中匹配的内容,提供回掉,将短信内容暴露到activity中实现自动填充 首先我们要实现一个广播接收器package com.wquant.weil原创 2016-06-20 14:05:05 · 4249 阅读 · 0 评论 -
如何给recyclerView瀑布流设置均等间距
recyclerVIew 默认是不带间距的,但是我们可以通过SpacesItemDecoration方法给其设置间距,但是这样问题来了这样设置的间距如果有两列的话 中间的间距是你设置的间距的2倍,至于为什么会这样,是SpacesItemDecoration方法中设置间距的方式是给itemview的四周加上间距 所以左右会叠加. 这时候我就会去在代码中设置recyclerview的padding(设原创 2016-06-18 11:17:03 · 17487 阅读 · 20 评论 -
RecyclerView瀑布流如何动态计算imageview的宽高
我们上一篇说到计算recyclerView均等的间距,在这个基础上我们要用瀑布流展示图片的时候,要想动态展示宽高的话,就要知道图片的宽高并且在adapter里面计算宽高,这个宽高可以让服务器获取当让我们也可以自己获取。 下面就说下实现方式吧 既然要动态适配宽高就要根据图片的宽度和手机的宽度计算出比率来然后根据这个比率来计算imageview的高度package com.jt原创 2016-06-27 18:01:14 · 5226 阅读 · 2 评论 -
对于Listview未满一屏添加footerView 满了一屏幕将View固定在屏幕下方的解决方案
首先我们看两张效果图 第一张是当超过一屏幕时候的效果固定view 第二张是没超过一屏的时候添加的footerview 具体实现思路就是获取当前屏幕高度并转换成dp在除以你每一个item项的高度 用得到的值(减一是为了最后一项不显示不完全导致出现的问题)去和你的数据集合做比较 当大于等于的时候就添加footerview否则就固定布局下面请看代码 注 xml中的高度单位是dp原创 2016-03-14 16:52:01 · 4447 阅读 · 0 评论 -
多进程导致Application多次启动
前几天碰到一个问题,application多次启动,开始并不清楚是什么原因,后来看到在我们自己的插件里也有一个进程启动了这个application 所以我的application多次启动是因为多进程 那我们如何来避免这个问题呢 判断是否当前程序主进程 private boolean isMain() { int pid = android.os.Process.原创 2017-08-16 10:36:42 · 2934 阅读 · 0 评论 -
关于fragment到底是否可见的问题 以及 什么时候调用才能真正意义上实现可见加载
今天面试的时候被问到,viewpager+fragment组合使用以及不组合 将Fragemnt与activity 直接使用,组合使用的预加载问题如何处理,不组合使用fragment又有什么方法来判断是否可见,我之前碰到过的就是组合使用在 setUserVisibleHint方法中判断所以就阐述了一种 后来被告知如果不使用viewpager setUserVisibleHint是不会执行的,会执行另原创 2016-07-01 23:04:04 · 6559 阅读 · 1 评论 -
利用okhttp3 给Retrofit2添加统一请求头 以及设置请求超时时间
首先奉上一个工具类 里面有具体的注释import java.io.IOException;import java.util.concurrent.TimeUnit;import okhttp3.Interceptor;import okhttp3.OkHttpClient;import okhttp3.Request;import retrofit2.Retrofit;im原创 2018-01-24 16:55:57 · 1859 阅读 · 0 评论 -
关于水波纹的添加已经定义颜色以及低版本兼容
项目需求 要求在控件上添加点击效果,ok 我本能的想到 我应该是写个选择器,写完之后 产品说应该是水波纹效果,其实在android的版本差异上5.0 之下是没有水波纹的 这个东西是在5.0 及以后才添加的,所以我觉得没必要非加成水波纹,当然在5.0上做成水波纹也可以的,所以我针对系统区分了一下:5.0 中添加了 波纹效果也就是(ripple)理论上说 只要使用了Material主题 水波纹原创 2018-01-16 16:05:02 · 767 阅读 · 0 评论 -
相关Retrofit2 的粗浅的用法
单独使用Retrofit2 大概是不会用 不配合Rxjava+mvp的话感觉会很多代码 感觉略显臃肿吧以一个登陆为简单的例子吧 先要有一个登陆接口 然后将实体类传入 实际上内部是转换成了json 发送到远端服务器返回后通过response.body 来获取到你想要得到的对象实体 public class SignEntity { public static fin原创 2018-01-23 12:07:45 · 320 阅读 · 0 评论 -
送你们一个SharedPreferences 的工具类
import android.content.Context;import android.content.SharedPreferences;/** * Created by MnyZhao on 2017/11/15. * @author MnyZhao */public class SpUtils { private static SharedPreferences原创 2018-01-23 11:33:04 · 776 阅读 · 0 评论 -
判断是否能解析DNS 能否ping通服务器,能否链接google ,能否链接到自己的服务器
判断能否解析dns ping 通域名 连通网址import android.os.Handler;import android.os.Message;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.I原创 2018-01-23 11:31:47 · 896 阅读 · 0 评论