Android
big_sea_m
这个作者很懒,什么都没留下…
展开
-
全局弹窗导致崩溃解决办法
问题描述:当收到推送被其他设备登录挤掉线的时候弹窗提示已下线错误码:Unable to add window -- token null is not for an application解决办法:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { //8.0以上 Objects.requireNonNull(dialog.getWindow()).setType(WindowManager.LayoutParams.TYPE_AP原创 2021-04-23 11:29:17 · 259 阅读 · 0 评论 -
无需数据线也能直接wifi连接手机
// port: 端口一般5555,当-1时关闭 private boolean setAdbTcpPort(int port) { try { Runtime.getRuntime().exec("setprop service.adb.tcp.port " + port); Runtime.getRuntime().exec("stop adbd"); Runtime.getRuntime().exe...原创 2021-03-22 10:21:26 · 261 阅读 · 0 评论 -
WebView适配cookie
本次需求增加了h5的积分商城,但是h5的登录方式和app的登录方式不同,h5使用的是cookie,app使用的是token,所以就适配了在h5中设置cookie /* * 同步一下cookie */ CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); cookieMana原创 2020-06-14 12:18:06 · 298 阅读 · 0 评论 -
Android没有锁定竖屏的时候退出界面出现旋转和黑屏的情况
Android没有锁定竖屏的时候退出界面出现旋转和黑屏的情况缘起:最近有个需求在看直播的时候需要自动根据重力旋转屏幕,在系统锁定竖屏时不做任何旋转。高高兴兴撸代码,偶然发现在退出直播间的时候出现了旋转一下,并黑屏,回到首页的时候首页重新加载了一遍,以下记录查找原因的方法。在多次测试发现bug出现在系统未锁定竖屏的时候,百度了一大堆,也没找到我的解决方法,在偶然间看到另外一个界面也会有这样的情况,他的操作是在退出界面的时候toast了一个修改成功,注释掉修改成功就没问题了,但是需求还是需要提示,怎么原创 2020-05-15 14:57:35 · 602 阅读 · 0 评论 -
记录一个https抓包方法
https抓包,fiddler设置好了但是无法抓包,后来才发现需要在代码里设置才能抓包。xml/network_security_config.xml<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted=...原创 2020-03-23 16:04:24 · 1248 阅读 · 1 评论 -
分享一个悬浮窗权限申请的代码
最近需求需要增加悬浮窗播放视频,捣腾了很久,找了很多资料,但总是有一些手机无法申请悬浮窗权限,所以就走了很多路,最后在斗鱼极速版中找到了以下代码,测试现有全部测试机都能顺利打开权限设置界面,也能很好的检查出权限是否成功。import android.annotation.TargetApi;import android.app.Activity;import android.app.AppO...原创 2020-03-02 14:58:14 · 2511 阅读 · 0 评论 -
android常用代码
输入框先不获取焦点,在外层使用android:focusable="true"android:focusableInTouchMode="true"点击屏幕隐藏键盘 private InputMethodManager mInputMethodManager; mInputMethodManager = ((InputMethodManager) getSystem...原创 2019-12-22 18:46:36 · 346 阅读 · 0 评论 -
RecyclerView列表中加载图片刷新闪烁问题
RecyclerView列表中加载图片刷新闪烁问题由于只是一个问题,单独记录一下经过多方对比查找,最终确定问题出现在glide加载图片时使用的圆角裁剪功能导致的,查看代码是由于自己写的裁剪代码,替换成官方的裁剪后刷新不会闪烁了,但是圆角又不见了,继续查看源码发现有这样一个方法 /** * Applies the given {@link Transformation}s in the...原创 2019-10-19 11:24:48 · 1803 阅读 · 2 评论 -
记录一个bug permission denied for window type 2002
悬浮窗显示的时候在8.0手机上总是提示需要打开悬浮窗权限11-02 22:27:33.870 12386-12386/com.dahai.demo E/AndroidRuntime: FATAL EXCEPTION: main Process: com.da...原创 2018-11-02 22:30:57 · 2242 阅读 · 3 评论 -
android 9适配通知栏
最近安装了一个9.0的模拟器,发现通知栏不显示,也没有任何打印日志,把过滤条件改成“No Filters”就可以看到2018-11-07 14:52:03.987 1908-1992/? E/NotificationService: No Channel found for pkg=com.dahai.floatnotes, channelId=id, id=1, tag=null, opPkg...原创 2018-11-07 15:06:19 · 7741 阅读 · 2 评论 -
android切换语言
在baseActivity中添加代码 // 本地语言设置 Locale mLocale = new Locale(sta); Resources res = getResources(); DisplayMetrics dm = res.getDisplayMetrics(); ...原创 2018-11-12 10:15:34 · 350 阅读 · 0 评论 -
AndroidManifest冲突如何解决
AndroidManifest冲突如何解决在我们引入第三方依赖的时候很可能有些不规范,在manifest中存在他自己的一些配置,就会导致在我们编译的时候不通过:Manifest merger failed with multiple errors, see logs点开信息查看java.lang.RuntimeException: Manifest merger failed with mu...原创 2019-01-18 11:23:30 · 8675 阅读 · 0 评论 -
Android studio3修改打包出來的名字
3以上的版本做了一些修改该方法在android外层static def getDate() { def date = new Date() def formattedDate = date.format('yyyy年MM月dd日HH时mm分') // 不能用: return formattedDate} //修改生成的apk名字 applicati...原创 2019-01-09 10:20:42 · 877 阅读 · 0 评论 -
Android 9网络请求http不成功
在targetSdkVersion >=27 的app运行在android 9时如果是http请求会报错,解决办法是添加xml设置 res/xml/network_security_config<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cl...原创 2019-02-22 09:25:45 · 708 阅读 · 0 评论 -
recyclerView添加可拖动的滚动条
在做android tv项目的时候设计图是有一个滚动条,要求可以拖动滚动条滚动列表,实现方式很简单<android.support.v7.widget.RecyclerView android:id="@+id/mRecyclerView" android:layout_width="match_parent" ...原创 2019-04-24 10:40:52 · 4681 阅读 · 6 评论 -
记录一个最恶心的bug之error: failed linking file resources.
今天在改UI,修改了一大堆界面,然后一运行出现error: failed linking file resources.以下就懵逼了看图:从日志看只知道是资源引用错误,但是不知道具体在哪。就提示看log,百度了一大堆都没找到,然后就想着找android studio自己保存的运行日志,也找了一大圈都没找到,经理了一番各种挣扎总算找到了日志文件C:\Users\EDZ\.AndroidStu...原创 2019-05-21 16:22:08 · 5753 阅读 · 2 评论 -
retrofit请求自己在拦截器获取数据判断时乱码问题
之前一直用的网络请求代码一直是retrofit+okhttp+rxjava,为了统一处理错误码防止数据不对时gson转换异常而写了一个拦截器获取返回数据,然后判断格式和错误码private String bufferBody(Response response) throws IOException { BufferedSource source = response.body...原创 2019-05-26 10:27:05 · 838 阅读 · 0 评论 -
ArrayList扩容
public class Demo { public static void main(String[] args) throws Exception { ArrayList<String> list = new ArrayList<>(); for (int i = 0; i < 1000; i++) { ...原创 2019-06-24 16:24:14 · 142 阅读 · 0 评论 -
Drawable.setAlpha(alpha)与Drawable.mutate().setAlpha(alpha)
最近在做项目的时候使用RecyclerView头部图片背景,上滑时标题颜色变深,下滑时变透明的功能,实现很简单 mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(Recycle...原创 2019-08-13 15:41:34 · 1460 阅读 · 0 评论 -
adb命令
查看日志: adb logcat EventLogger:V *:E原创 2019-08-27 10:45:13 · 132 阅读 · 0 评论 -
Android手机像素dp问题
Android手机像素dp问题 // 描述关于显示的一般信息的结构,例如其大小,密度和字体缩放。 DisplayMetrics dm = new DisplayMetrics(); // 获取屏幕信息 getWindowManager().getDefaultDisplay().getMetrics(dm); int wi原创 2017-12-11 10:12:31 · 311 阅读 · 0 评论 -
自定义progressbar的颜色样式
注意id一定要对<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item原创 2018-11-06 11:00:22 · 1791 阅读 · 0 评论 -
科学计数法
在做项目时发现一个比较头痛的问题,输入法输入金额android:inputType="numberDecimal",控件是可以输入000.123的,为了获取正确的输入值可以使用下面方法,当输入的数据很长时也不会被用科学计数法显示 String str = "000.123"; BigDecimal bigDecimal = new BigDecimal(str);...原创 2018-11-01 14:51:54 · 1417 阅读 · 0 评论 -
签名
package com.dahai.demo;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.grap...原创 2018-10-30 14:50:12 · 150 阅读 · 0 评论 -
Android开发之版本统一规范
项目做久了后来发现又有更新了,贼麻烦,今天有空记录一下统一资源版本管理 看图 :)在project的build.gradle文件中添加版本号在使用的时候就非常方便了注意!在添加依赖时将''改成""原创 2017-11-28 14:29:32 · 380 阅读 · 0 评论 -
Android Studio下对资源进行分包
在项目做大后资源文件不好管理,怎么办呢?今天记录一下资源文件分包 : ) 如下是不是发现activity目录有标记了 再来看看具体配置吧android { compileSdkVersion 25 buildToolsVersion '25.0.0' aaptOptions.cruncherEnabled = false aaptOptions.useNewCru原创 2017-11-28 13:50:47 · 1612 阅读 · 0 评论 -
JDK动态代理
JDK动态代理使用jdk的动态代理可以为所有实现了接口的对象做代理,如list集合,数据库操作。。 如我们自己创建一个接口实现代理模式package dynamic;public interface Login{ String login(String name);}package dynamic;public class LoginImpl implements Login { @原创 2017-12-03 17:21:05 · 170 阅读 · 0 评论 -
java注解简单使用
java注解简单使用在发开过程中一直都有使用到注解,今天总算想起来研究一下注解的实现过程了。直接开车吧// 自定义注解// 这里已经实现了Annotation// 注意,注解只有在反射调用的方式下才能有效@Retention(value = RetentionPolicy.RUNTIME)@Target(value = {ElementType.METHOD,ElementType.FIEL原创 2017-12-03 16:40:15 · 167 阅读 · 0 评论 -
okhttp的https的使用
okhttp的https的使用在前一篇创建了springboot的https访问,现在使用在安卓端的测试, 将证书放在工程里,在借鉴okgo的做法总算成功了,心里有底了demo在这里原创 2017-11-15 11:54:45 · 495 阅读 · 0 评论 -
JNI初步教程
JNI初步教程创建工程选择引入ndk,再加入构建模块 程序跑出来就有一个默认的调用c的方法, 下面是一个完整的c的方法extern "C"JNIEXPORT jstringJNICALLJava_com_example_administrator_testnative_MainActivity_stringFromJNI(// JNIEnv 类型代表了Java环境。通这个原创 2017-11-19 15:48:56 · 312 阅读 · 0 评论 -
对称加密
对称加密 String src=""; try { String str = "向金海10086abc@#$%^&*?"; // 待加密 String key = "12345678"; SecretKey secretKey = new SecretKeySpec(key.getBytes(原创 2017-11-14 14:09:08 · 171 阅读 · 0 评论 -
Android studio打jar包
model的gradle中添加//Copy类型task makeJar(type: Copy) { //删除存在的 delete 'build/libs/mysdk.jar' //设置拷贝的文件 from('build/intermediates/bundles/debug/') //打进jar包后的文件目录 into('build/libs/')原创 2017-10-25 09:53:00 · 159 阅读 · 0 评论 -
安卓webView开发使用及加载html标签乱码处理
安卓webView开发使用webView加载网页或html段落的方式有以下三种: //方式1. 加载一个网页: webView.loadUrl("http://www.baidu.com"); //方式2:加载assets中的html页面 webView.loadUrl("file:///android_asset/hello.html"); //方式3:加载手机本地的html页面原创 2017-11-09 15:06:09 · 626 阅读 · 0 评论 -
仿美团酒店时间选择
仿美团酒店时间选择最近做项目有个需求是选择酒店入住和离店日期,准备着手写的时候没什么思路,去百度了一下就发现一两个博客,Github也很少,里面代码都差不多,刻下来运行一下,发现有bug,只好自己搞了,代码码思路结合网上的自己改改应该没问题; 思路在强大的recyclerview的item中嵌套recyclerview。 直接亮代码吧。item中的item的布局R.layout.ite原创 2018-01-29 19:05:59 · 3157 阅读 · 1 评论 -
发布时间处理
发布时间处理/** * 描述: * 时间:2018/2/13/013 * 作者:xjh */public class DateTimeFormatUtil { private static int year = Calendar.getInstance().get(Calendar.YEAR); public static String dateTimeFor...原创 2018-02-13 18:09:11 · 321 阅读 · 0 评论 -
android Timber日志打印
突然间代码里提示Log日志警告了,一看提醒提示使用TimberTimber使用很简单,可以配置一个日志过滤的东西,就是每个打印的日志都会走这里,可以根据自己的需要做保存或其他。引入Timber依赖implementation 'com.jakewharton.timber:timber:4.7.1' // rxJava implementation 'io.reactivex...原创 2018-10-30 11:30:36 · 4120 阅读 · 0 评论 -
Android资源占位符
以下文字出处Formatter的api&#160; 表示一个空格;如有多个空格在字符串资源中无法正常使用,在布局或代码中写多个空格是可行的%1$s 表示占位符,可以使用String str = String.format("我今年%1$s岁", "100"); 如果在一个字符串中有多个同样可以使用str += String.format("我今年%1$s岁,但我月薪才%2$...原创 2018-10-10 11:05:16 · 607 阅读 · 0 评论 -
极光推送实现在前台展示弹窗在后台展示通知栏
直奔主题1.要实现就要拦截消息,判断当前APP是否在前台运行判断代码import android.app.Activity;import android.app.Application;import android.os.Bundle;import android.os.Handler;import timber.log.Timber;/** * 作者: Administra...原创 2018-10-19 10:13:42 · 4033 阅读 · 0 评论 -
Android studio如何查找代码里的中文
Android studio中全局查找或部分查找都可以使用^((?!(\*|//)).)+[\u4e00-\u9fa5找出代码或布局中的中文原创 2018-09-30 12:29:29 · 3701 阅读 · 0 评论 -
sqlite简单使用
1 sqlite数据库数据类型 Integer varchar(18) float double char(10) text2 sql语句 2.1 创建表的语句 create table 表名 (字段名称 数据类型 约束,字段名称 数据类型 约束,… ) create table person(_id Integer primary key,name varchar...原创 2018-08-17 00:04:17 · 187 阅读 · 0 评论