
Android
文章平均质量分 65
11
TonyChen-9102
这个作者很懒,什么都没留下…
展开
-
报错:Unfortunately you can‘t have non-Gradle Java modules and Android-Gradle modules in one project
Android项目报错:Unfortunately you can’t have non-Gradle Java modules and Android-Gradle modules in one project解决方法:1、Android Studio左上角找到File -> Invalidate Caches/Restart2、关掉Android Studio3、删掉.idea文件夹、*.iml文件4、打开Android Studio,重新导入项目...原创 2020-08-17 10:24:00 · 1137 阅读 · 1 评论 -
Android 签名校验
试试原创 2020-07-31 16:33:05 · 432 阅读 · 0 评论 -
Android 界面防劫持
https://dun.163.com/news/p/47d0c43eb1854bae91872edc656dbd9ehttps://www.jianshu.com/p/d4677e837648原创 2020-07-31 13:50:43 · 1941 阅读 · 1 评论 -
AndroidX
目录一 简介二 迁移步骤2.1 修改当前项目的gradle.properties2.2 如何迁移2.3 迁移后续-手动修改错误包名三 参考一 简介查看官方描述按照官方文档说明 AndroidX 是对 android.support.xxx 包的整理后产物。由于之前的 support 包过于混乱,所以,Google 推出了AndroidX。由于在后续版本中,会逐步放弃对 support 的升级...转载 2020-03-31 00:51:10 · 134 阅读 · 0 评论 -
getCanonicalName getName getSimpleName 区别
getSimpleName :就是类名getName 和getCanonicalName大部分情况是一样的,会展示整个路径名。但在展示内部类的时候就有区别了。举例:package com.shansun.seri.json; public class JsonSerialize implements Serialize { ... ...原创 2020-03-23 10:41:37 · 401 阅读 · 0 评论 -
DialogFragment 总结
DialogFragment 两种简单用法onCreateViewonCreateDialogoncreateDialog 中 dialog 不需要设置setOnCancelListener和setOnDismissListener,针对android.app.DialogFragment会报错,java.lang.IllegalStateException: You can...原创 2020-03-23 10:17:58 · 609 阅读 · 0 评论 -
DataBinding bug 记录
1java.lang.NoClassDefFoundError: Failed resolution of: Landroid/databinding/DataBinderMapper java.lang.NoClassDefFoundError: Failed resolution of: Landroid/databinding/DataBinderMapper; ...原创 2020-03-02 23:46:12 · 687 阅读 · 0 评论 -
Android 打包报错
Android 打包报错 Cause: buildOutput.apkData must not be null,解决方案:第一步:clean project第二步:更换打包路径原来可能是:c:\user\folder\project\app需要更换成:c:\user\folder\project\...原创 2020-02-27 10:51:34 · 261 阅读 · 0 评论 -
Android 关于getHeight与getMeasureHeight的问题
getMeasureHeight 是在 measure 后会被赋值,由 view 决定,是 view 请求高getHeight 最常用,是在layout之后会被赋值,由父控件决定,是父控件给 view 的高。没有刻意修改 layout,两个值一般情况是一样的。一般建议在measure和layout的过程中调用getMeasuredWidth(),其他情况下调用getWidth()...原创 2020-02-24 00:20:39 · 846 阅读 · 0 评论 -
Android 获取View高度的4种方法
1 通过 looper 队列 /** * 通过 looper 队列 */ private void getHeight1() { tvText.post(new Runnable() { @Override public void run() { int heig...原创 2020-02-24 00:14:47 · 2659 阅读 · 0 评论 -
Activity 生命周期
一 Activity 生命周期onCreate:创建。Activity 启动的第一个方法。此时 Activity 还在后台,不可见。onRestart:在用户切换 Activity(全屏)、home 键 恢复的时候调用。onStart:启动。此时 Activity已经可见,但还未出现在前台,用户无法和 Activity交互。主要在用户切换 Activity(全屏)、h...原创 2020-01-19 23:53:59 · 129 阅读 · 0 评论 -
Android BroadcastReceiver
一 简介1.1 定义BroadcastReceiver即 广播,是一个全局的监听器,属于Android四大组件之一1.2 作用监听 / 接收 应用App发出的广播消息,并 做出响应1.3 应用场景Android不同组件间的通信(含 :应用内 / 不同应用之间) 多线程通信 与Android系统在特定情况下的通信二 实现原理2.1 使用模型Androi...原创 2020-01-07 23:28:47 · 213 阅读 · 0 评论 -
Android 获取应用基本信息
首先看下我们常见的Manifest配置图:通过上面的划分,我们可以拆分出PackageInfo、ApplicationInfo、ActivityInfo、ServiceInfo、ProviderInfo几个方面,对常用的应用基本信息进行说明。一、PackageInfo1.1 获取 packageInfo public static PackageManager getP...原创 2020-01-07 09:55:53 · 1625 阅读 · 0 评论 -
Android View事件分发机制
三个主要对象:一个事件产生之后,都是先传给Activity,在传给ViewGroup,最后传给View。三个重要方法:这里要注意一点,Activity和View是没有onInterceptTouchEvent()也就是事件拦截这个方法的,仔细想想就可以想明白,Activity是处于分发机制的最顶端,如果一开始就吧事件拦截了,那么会导致整个屏幕都无法响应用户的操作;而view处于事件...转载 2019-12-13 10:34:12 · 116 阅读 · 0 评论 -
Android常用第三方网站统计工具比较
第一、CNZZ(友盟)1、目前,CNZZ统计已经被阿里收购,改名友盟。从功能上看肯定是比以前丰富很多,因为当前的友盟是集合友盟、缔元信.网络数据、CNZZ三家公司合并,打造全域数据的工具。2、友盟拥有统计分析服务器、行业数据解决方案、自助分析工具、运营工具、全域指数和报告等功能。当然,对于我们普通个人站长来说,复杂的工具基本上也是用不到的,我们需要用到的就是网站统计工具。大型复杂的功能...转载 2019-12-13 09:54:39 · 935 阅读 · 0 评论 -
获取Android key 的SHA1值
使用签名前注意保证配置java的环境变量在terminal中输入一下命令,然后根据提示输入相关密码即可keytool -list -v -keystore xxxxxxxx 替换成对应key的路径即可获取Android开发版本SHA1只要知道android开发版本的签名就是 ~/.android/debug.keystore 这个文件,密码android,对这个...原创 2019-12-13 08:03:17 · 189 阅读 · 0 评论 -
Android 签名
使用签名前注意保证配置java的环境变量方法一:通过Android Studio按照如下步骤一步一步走即可至此在上面对应path路径下就生成了签名文件。后面点击next就可以进行apk打包了。其中可能会出现如下提醒:可以按照提示做相应转换即可在Terminal中输入如下代码即可(对应路径需要做对应修改)keytool -importke...原创 2021-01-08 11:03:48 · 293 阅读 · 0 评论 -
Android studio 自定义资源路径
方式一:在values下面直接创建xml即可方式二:1 在对应module下创建自己的res目录:2 然后在对应module的build.gradle里面添加定义res路径即可android { sourceSets { main { res.srcDirs += "src/main/res-my" }...原创 2019-12-11 22:12:24 · 785 阅读 · 0 评论 -
Android Studio 如何创建Tag
1 创建tag方法1:VCS -- Git -- Tag...方法2: versioin Control中在对应提交上直接右击选择new Tag2 提交tag步骤1: VCS -- Git -- Push步骤2: 勾选Push Tags,点击push即可参考:https://jingyan.baidu.com/article/f0062...原创 2019-12-05 14:45:29 · 2221 阅读 · 0 评论 -
解决Could not find manifest-merger.jar
AndroidStudio在编译时报错:Could not find manifest-merger.jar (com.android.tools.build:manifest-merger:26.1.2).Searched in the following locations: https://jcenter.bintray.com/com/android/tools/build...转载 2019-11-28 17:46:21 · 297 阅读 · 0 评论