- 博客(168)
- 收藏
- 关注
原创 如何查看图片的原始格式
上传的图片命名是 6.png 但是实际的图片格式是jpg,所以这个 图片数据源和图片格式并不匹配。问题描述:请求接口的时候,图片base64接口报错,使用图片url请求正常。上传文件后,点击“详细信息”可查看文件类型(注意隐私风险,勿传敏感文件)。排查发现是图片格式的问题。
2025-02-24 20:07:19
233
原创 使用PS生成GIF图
eg:IMG_012.....IMG_0100 这种是不可以的, 因为下面的数字从三位数变成了四位数。PS中“文件”==》“打开” 选中帧序列图片的第一张,然后勾选“图像序列” 点击确认。批量打开图片后,可以批量调整图片的大小。选择图像大小,选择想要的分辨率。1.首先准备帧序列图片,注意图片的名字一定要保持一致。文件==》导出==》存储web。对的应该是 IMG_100。
2025-02-07 13:39:21
305
原创 给ImageView 添加阴影的两种方式
1.通过设置背景图 background <ImageView android:id="@+id/img_cover" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@...
2022-04-11 11:54:04
5319
转载 Recycleview中的Glide刷新时图片闪烁
刷新item的时候发现Glide加载的图片会闪一下,解决方法,去掉recycleview的加载动画。/* * 关闭默认局部刷新动画 ,this代表recycleview*/public void closeDefaultAnimator() {this.getItemAnimator().setAddDuration(0);this.getItemAnimator().setChangeDuration(0);this.getItemAnimator().setMoveDuration(
2022-03-30 11:09:28
2836
2
转载 为了规避handler内存泄漏,可以这样写
转载:Android 开发过程中的坑和小技巧 | Johnny Shiehpublic class SampleActivity extends Activity {/*** Instances of static inner classes do not hold an implicit* reference to their outer class.*/private static class MyHandler extends Handler {private fi
2022-03-25 13:41:46
139
原创 浏览器连接网络失败(提示了手动代理,)
浏览器,连接网络失败,总是提示下面的数据信息;IE浏览器的提示:解决方法,找到这个代理,然后把下面的开关关闭:
2022-03-22 13:54:42
293
转载 友盟推送测试
1.获取deviceToken 2.添加测试设备 3.添加测试消息并发送. 4.查看消息是否发送成功1.获取deviceToken 通过友盟的回调,拿到设备的deviceToken,每次安装APP生成一个deviceToken,若卸载,则会生成一个新的deviceToken。2.添加测试设备去友盟后台添加测试设备3.添加测试消息并发送(1)测试模式---》测试消息--》新建消息---》添加推送数据添加刚才的deviceToken(2)配置离线处理和开...
2022-03-18 17:07:31
615
1
翻译 关于友盟推送
1.友盟的deviceToken,作为测试设备的时候,每安装一次app都会生成一个新的deviceToken,所以包卸载安装后,再重新安装APP的话,deviceToken需要重新获取。2.集成厂商参考的文章(246条消息) 友盟推送(U-Push)集成、踩坑和解决与阿里云系列产品的依赖冲突_weitao_666的博客-优快云博客3.如何检验厂商通道是否集成成功?转载:开发者中心 (umeng.com)众所周知,集成厂商通道可以提升消息到达率,所以今天来详细讲解一下集成后如何检验是
2022-03-18 15:50:24
1233
转载 自动轮播和手动滑动的处理
自动轮播的时候, 是通过线程 不停的发送消息,如果手动干扰的话, 需要调用 停止轮播,在触摸方法中。 //给imageView设置触摸的监听事件 imageView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { ...
2022-03-15 17:02:55
394
原创 如何判断上下文是否为null
public boolean isDestroy(Activity mActivity) { if (mActivity == null || mActivity.isFinishing() || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && mActivity.isDestroyed())) { return true; } else {...
2022-03-11 10:46:53
209
原创 友盟的9.4.0版本以上的集成测试
首先找到友盟中的配置,生成属于你app的二维码:然后根据友盟中的文档,配置数据,然后扫码走流程:文档见:开发者中心 (umeng.com)1 Android应用1、需集成9.4.0及以上版本的Android SDK2、配置URL Schemes新版集成测试需要在manifest.xml文件中配置,您需要在其中找到响应android.intent.action.MAIN的activity(也就是应用可以被外部唤起的第一个Activity),加上如下代码,让应用能被指定连接sch
2022-02-09 11:46:09
1591
转载 系统时间格式改变时的监听
转载:https://www.jb51.net/article/82883.htm监听手机设置页面中,时间格式的改变,由12小时切换成24小时。 通过监听Uri是否改变,/** * 时间格式监听 */public class TimeFormatObserver extends ContentObserver { Context mContext; public TimeFormatObserver(Handler handler, Context mContext)
2021-11-22 18:22:56
670
转载 TextClock 格式控制统一
下面所有的地方都用了format12Hour和format24Hour是为了忽略系统时间格式,不管系统是12小时制还是24小时制,都能正常显示时间转载:Android TextClock时间格式 - 简书TextClock 这个控件的使用.动态代码:if (!TextUtils.isEmpty(strTimeFormat) && strTimeFormat.equals("24")) { views.setCharSequence(R.id.textc.
2021-11-19 17:30:54
301
原创 TextClock不管是24小时还是12小时都显示24小时时间
在 RemoteViews 布局中设置 textClock的格式//使用 setCharSequence方法views.setCharSequence(R.id.tv_times, "setFormat24Hour", "HH:mm");ContentResolver cv = context.getContentResolver();String strTimeFormat = android.provider.Settings.System.getString(cv, an.
2021-11-16 20:39:36
2022
转载 关于混淆,指定包名下的混淆
-keep class cn.hadcn.test.**-keep class cn.hadcn.test.*一颗星表示只是保持该包下的类名,而子包下的类名还是会被混淆;两颗星表示把本包和所含子包下的类名都保持;作者:CPPAlien链接:https://www.jianshu.com/p/7436a1a32891来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...
2021-11-03 22:09:38
1001
原创 viewpager的高度自适应fragment的高度
如果不处理的话,viewpager是统一的高度,fragment的底部会空白一段距离,处理之后,viewpager的高度跟随fragment保持一致。首先是viewpager/** * 自适应高度的 viewpager */public class WrapContentHeightViewPager extends ViewPager { private int current; private int height = 0; private boolean s
2021-08-05 18:09:02
1368
原创 关于友盟通知数据接收情况
关于接收的消息是离线还是在线,在哪里处理对应的数据1.app打开在前台,此时发送通知 收到通知,会调用重写的回调方法getNotification://消息到达时获取自定义参数UmengMessageHandler messageHandler = new UmengMessageHandler() { @Override public Notification getNotification(Context context, UMessage uMessage) {
2021-08-05 17:05:18
361
原创 android中如何判断网络已经连接,但是网络不可用情况
String url = "http://wwww.baidu.com";OkHttpClient okHttpClient = new OkHttpClient();final Request request = new Request.Builder() .url(url) .get()//默认就是GET请求,可以不写 .build();Call call = okHttpClient.newCall(request);call.enqueue(.
2021-06-02 14:36:56
886
原创 友盟的Common的包下载失败,报错Forbidden
Could not GET 'https://dl.bintray.com/umsdk/release/com/umeng/umsdk/common/9.3.8/common-9.3.8.jar'. Received status code 403 from server: Forbidden Disable Gradle 'offline mode' and sync project
2021-05-31 13:48:53
2051
1
原创 友盟微信分享
1.微信分享必须的回调页WXEntryActivity 新建一个名为WXEntryActivity的activity继承WXCallbackActivity。这里注意一定是包名路径下2.微信的注册<!--友盟start--><provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.fileprovider"
2021-05-17 13:38:42
201
原创 关于xml高度和动态布局高度的转换
两部分高度保持一致xml:android:layout_height="@dimen/dp_76"动态布局:mContext.getResources().getDimensionPixelOffset(R.dimen.dp_76)另:/** * 获得屏幕高度 去除键盘的 高度 * * @return */public static int getScreenHeight(Context context) { WindowManager wm = ((WindowMa.
2021-03-03 11:21:45
471
原创 svn 某次提交失败 commit failed with error
这次提交失败报的问题是找不到,原因是因为本地的文件名一开始叫 activity 然后本地改成 activitykernel ,这个 本地activitykernel没有提交到仓库所以,提交文件夹activitykernel 仓库找不到文件。解决方法:本地代码回退, 回退到activity, 让仓库可以找到文件夹...
2021-02-02 15:02:20
1544
原创 android中 打包时候的一些问题
1.合并注册文件有问题Manifest merger failed with multiple errors, see logs解决方法,在控制台输入gradlew processDebugManifest --stacktrace 然后查看注册文件, 哪些地方有 重复。2. 其他问题报错然后打开:查看具体在哪里的错误。3. 混淆文件错误。查看对应的 错误日志。 发现应该是混淆文件没有 配置好, 导致部分数据找不到。...
2021-01-14 17:49:02
206
转载 关于折叠屏手机的适配
展开之后, 屏幕变大。 https://www.jb51.net/article/165481.htm折叠屏适配折叠屏之所以需要适配,是因为我们的应用有可能在运行的过程中,所在的屏幕尺寸发生了变化,这种情况对现有项目多少都会产生一些问题。所以折叠屏适配的本质是:当应用运行时,屏幕的尺寸、密度或比例发生了变化,应用能够继续在变化后的屏幕上正常显示和正常运行。其实这种情况并不是折叠屏出现之后才有的,应用的纵向横向切换也会发生同样的情况,只不过很多应用都强制纵向,不需要处理这种适配了。...
2021-01-12 17:28:55
3285
转载 使用 Android 10 手机报错 does not meet the requirements to access device identifiers.
转载 :https://blog.youkuaiyun.com/qq_31766907/article/details/104514947使用 Android 10 手机总是报错,查找之后 发现问题:从https://developer.android.google.cn/training/articles/user-data-ids文档中查看到:避免使用硬件标识符。在大多数用例中,您可以避免使用硬件标识符,例如 SSAID (Android ID) 和 IMEI,而不会限制所需的功能。自 Andro.
2020-12-22 10:30:33
4195
1
原创 2020-12-10 bitmap和 drawable的转换
关于 bitmap和 drawable相互转换。Drawable drawable = new BitmapDrawable(getResources(), path);
2020-12-10 21:37:07
206
原创 判断手机中是否安装了 微信 app
判断手机中是否安装了微信, 有两个方法1.获得android中,所有安装的app的列表然后比对微信的包名进行比较,然后得出结论2.通过 微信提供的 api 方法进行判断是否有 微信安装 。// 是否安装微信boolean installedWx = Application.mWxApi.isWXAppInstalled();//未安装微信if (!installedWx) { ToastUtil.showLongToast(context, "未安装微信"); retur.
2020-12-07 18:09:18
2148
转载 Android修改打包名称,在build.gradlew 中配置apk名
自定义打包名称在gradle的android{}节点里studio3.0之前:android.applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFil...
2020-12-07 15:34:18
739
原创 @JavascriptInterface 标注的方法
@JavascriptInterface 标注的方法里面是子线程,而不是主线程/** * 签到 */@JavascriptInterfacepublic void sign() { AppLog.i(TAG, "1步" + ThreadUtil.isMainThread()); }打印结果:AppLog.i(TAG, "1步false");
2020-11-20 10:58:50
2411
原创 豆沙色;绿色;android studio;as
android studio 3.2 豆沙色;绿色https://jingyan.baidu.com/article/15622f2404646cfdfdbea544.html文件地址:
2020-11-16 15:26:12
583
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人