
Android
Rooney8
教育互联网
展开
-
Android 禁止息屏 保持屏幕常亮的方式
目录1、在onCreate()中添加如下一行限制2、在界面布局xml中顶层添加属性禁止息屏 保持屏幕常亮的方式 常用的有两种,如下: 1、在onCreate()中添加如下一行限制 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 对应的,显式的取消限制的方式是getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SC..原创 2021-01-04 11:16:07 · 5967 阅读 · 2 评论 -
单元测试,build.gradle中 testImplementation and androidTestImplementation的区别
在用Android studio 创建一个新项目的时候,会默认生成三个目录(每个目录都被称为是Source set(源码集合)): app/src* ├── androidTest/java (仪器化单元测试、UI测试,比如Espresso)* ├── main/java (业务代码)* └── test/java (本地单元测试,Junit4、mockito、Robolectric)这个androidTest 目录包含了触摸屏幕或者检查在屏幕上显示了什么的测试用例,在test目录下,..原创 2020-09-17 11:45:23 · 11097 阅读 · 2 评论 -
git 修改远程仓库地址的方法
公司技术高层领导换了,要搞革新。新的领导班子下,新的运维也要搞一下革新,比如,第一件事就是要搞Gitlab 服务升级,带来的是git远程仓库地址的变更。原创 2020-09-07 10:52:58 · 960 阅读 · 0 评论 -
Android-如何保证API接口数据安全
前后端分离的开发方式,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合。无论是开发原生的APP还是webapp还是PC端的软件,只要是前后端分离的模式,就避免不了调用后端提供的接口来进行业务交互。网页或者app,只要抓下包就可以清楚的知道这个请求获取到的数据,也可以伪造请求去获取或攻击服务器;也对爬虫工程师来说是一种福音,要抓你的数据简直轻而易举。那我们怎么去解决这些问题呢?接口签名签名规则1、线下分配appid和appsecret,针对不同的调用方分配不同的转载 2020-08-27 17:39:37 · 1150 阅读 · 0 评论 -
Android Studio Debugger 不了的解决方案
在用手机Debug的时候,经常会出现如下错误,导致不能Debug:1、Could not connect to remote process. Aborting debug session。2、弹出一个wait for debugger 框,卡在那不动了。着急!解决方案,逐个尝试吧:1、adb kill-server adb start-server2、关闭其它可能占用5037端口的进程3、重启Android studio 和手机;4、做了上面这些操作,如果出现...原创 2020-06-28 15:11:30 · 4208 阅读 · 1 评论 -
By convention, the custom view (xxx) and the declare-styleable (xxxx) should have the same name
问题描述场景在lint的时候,可能有同学会遇到上面这样的提示。这是在自定义View的时候,取自定义属性的时候,可能会遇到的情况,意思是说,自定义View的名字应该和声明的样式有相同的名字。解决方式按照提示,把声明的样式名称改成和自定义View一样的名字即可。分析(关键)其实,这个也不是必须要这样做,只是这样做的好处是:取自定义属性的时候,能够自动以控件名称开始_xxx ,会有智能提示,方便查找属性。不一致的话,不会有智能提示,需要自己去查看自定义的属性都有哪些。 从这个...原创 2020-06-23 15:46:40 · 1276 阅读 · 0 评论 -
Android studio 提示 Field can be converted to a local variable
今天提到的点,很基础,大概就是:在定义的成员变量上面,可能会有提示:Field can be converted to a local variable意思就是 字段可以被转化成一个局部变量。如下图:这个case,网上一堆的解释,千篇一律,大部分只是在说如何去掉这个提示,解决方案有如下两种:1、@SuppressWarnings("FieldCanBeLocal")2、把全局变量删除,在使用的地方定义即可,不用全部都使用全局定义变量。以上这都不是重点,也不算完,需要我们进一步...原创 2020-06-12 16:30:06 · 11602 阅读 · 2 评论 -
Android studio3.5以后 格式化布局错乱的问题的解决办法
Android studio 3.5以后 在格式化布局的时候,默认会把布局中的View进行重新排序,乱的一笔,修改方式方式如下:我现在用的Android studio版本信息 如下,挺好用的。原创 2020-06-01 15:26:21 · 1119 阅读 · 0 评论 -
关于Webview的总结
1. 简介一个基于webkit引擎、展现web页面的控件a. Android 4.4前:Android Webview在低版本 & 高版本采用了不同的webkit版本的内核b. Android 4.4后:直接使用了Chrome内核2. 作用在Android客户端上加载h5页面 在本地 与h5页面实现交互 & 调用 其他:对url请求、页面加载、渲染、对话框 进行额外处理。Android与JS通过WebView互相调用方法,实际上是:Android去...原创 2020-05-29 17:00:32 · 194 阅读 · 0 评论 -
Android中 MultiDex的使用及原理(解决方法总数只能是65535的问题)
在了解MultiDex的使用及原理之前,需要先了解什么是dex.关于Android Dex 文件,请参考该文的描述。为什么要使用MultiDex 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的执行过程是在第一次加载Dex文件的时候执行的。这个过程会生成一个ODEX文件,即Optimised Dex。执行ODex的效率会比直接执行Dex文件的效率要高很多。但是在早期的Android系统中,DexOpt有一...原创 2020-05-28 18:18:28 · 2390 阅读 · 1 评论 -
浅谈 Android Dex 文件
概述为什么要了解 Dex 文件了解了 Dex 文件以后,对日常开发中遇到一些问题能有更深的理解。如:APK 的瘦身、热修复、插件化、应用加固、Android 逆向工程、64 K 方法数限制。什么是 Dex 文件在明白什么是 Dex 文件之前,要先了解一下 JVM,Dalvik 和 ART。JVM 是 JAVA 虚拟机,用来运行 JAVA 字节码程序。Dalvik 是 Google 设计的用于 Android平台的运行时环境,适合移动环境下内存和处理器速度有限的系统。ART 即 Android转载 2020-05-28 17:00:38 · 452 阅读 · 0 评论 -
Android Support Library 迁移至 AndroidX
在说迁移之前,先了解下 什么是Jetpack。Android JetpackJetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。Jetpack 包含与平台 API 解除捆绑的androidx.*软件包库。这意味着,它可以提供向后兼容性,且比 Android 平台的更新频率更高,以此确保您始终可以获取最新且最好的 Jetpack 组件版本。Jetpack 库在an...原创 2020-05-28 15:39:37 · 379 阅读 · 0 评论 -
Android Gradle 插件版本说明 以及 gradle插件版本和gradle版本对应关系
Android Studio 构建系统以 Gradle 为基础,需要搞清楚gradle插件版本和gradle版本的区别以及关系1、gradle-wrapper.properties 文件 distributionUrl所指定的是gradle 版本 distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip2、build.gradle(Project:xxxx)文件 ...原创 2020-05-28 10:48:22 · 5337 阅读 · 0 评论 -
WARNING: The `android.dexOptions.incremental` property is deprecated and it has no effect
在Build项目的时候,会出现一个提示:意思是android.dexOptions.incremental属性已被弃用,在build.gradle中去掉incremental true 属性,然后同步一下就行了,如下图原创 2020-05-27 10:58:05 · 551 阅读 · 0 评论 -
Android Studio升级3.6.2 Build窗口提示语出现中文乱码问题的解决方式
Android Studio升级3.6.2 Build窗口提示语出现中文乱码,搜索了一堆,经过实验,最终解决方案如下:在Android Studio中双击Shift或者点击顶部全局搜索"Edit Custom VM Options"点击进入 studio64.exe.vmoptions 文件,在文件中添加如下一条配置-Dfile.encoding=UTF-8 如下图:然后重启 即可解决。...原创 2020-05-26 15:34:49 · 933 阅读 · 0 评论 -
Android-清晰明了的APK反编译之路
Android反编译-我们平时有没有通过反编译别人的APK 来进行学习的习惯呢?反编译好处多多,下面就总结一下,反编译所需要的工具及步骤:1 要准备的三个工具 apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件 dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件) jd-gui:查看2中转换后的jar文件,即...原创 2020-04-13 17:06:17 · 298 阅读 · 0 评论 -
两张图看懂Android开发中MVC与MVP的区别
原文链接:https://blog.youkuaiyun.com/u010072711/article/details/77132403看了很多文章,没有很好的文章能简明扼要的说清楚Android开发中MVC和MVP的区别。MVC很早就出来了,之前广泛用于JavaWeb开发中,MVC也可以用来开发Android,但是有些水土不服!1、MVC结构示意图————- 点击打开大图 ————-2、MV...转载 2020-04-10 12:09:14 · 433 阅读 · 0 评论 -
关于 RecycleView 点击事件接口的定义
RecycleView 的点击事件,一般是通过定义接口实现,接口定义如下:/** * 一般的RecycleView点击事件接口 * * @param <K> 数据源 */public interface CommonOnRecycleViewItemClickListener<K> { void CommonOnRecycleViewItemCli...原创 2020-04-09 17:41:49 · 276 阅读 · 0 评论 -
Android studio 3.1以后 全局替换方法
在项目中,如果修改了某个工具类的参数,比如去掉了一个参数,那整个项目中需要调整的,真的是太多了。Android Studio 具备全局搜索替换的功能,使用方式如下:第一种: 快捷键:Ctrl + Shift + R第二种:Edit —— Find —— Replace in Path...原创 2020-01-15 14:02:05 · 1150 阅读 · 0 评论 -
Android Lint 代码提示之: StringBuilder 替换 StringBuffer
StringBuilder StringBuffer是Java的基础。今天在Android lint代码的时候,发现了修改提示。记录下,作为总结。先看代码段: byte[] byteArray = inStr.getBytes(StandardCharsets.UTF_8); byte[] md5Bytes = md5.digest(byteArray); ...原创 2019-12-25 14:24:05 · 685 阅读 · 0 评论 -
Android 关于apktool 工具的介绍
最近通过反编译一些知名的APP,学习了别人比较好的布局方式、编码思路,收获比较大。这里提一下反编译工具apktool。原创 2019-12-19 17:31:57 · 1072 阅读 · 0 评论 -
Android -Is Library 类库引用需要注意的地方
在android 开发中,我们可能会把一个android工程-Properties-Android 下面的 “Is Library”勾选上,表示将该工程作为一个类库,来供其他android项目引用。举例:假设有类库项目A,需要引用A的另外一个android 项目B.那么在使用的过程中,需要注意两点:①、如果在B中需要使用A中的Activity(可能会有这种情况),那必须在B的清单文件中声明...原创 2015-06-09 11:58:06 · 1609 阅读 · 0 评论 -
Android -ListView数据加载补充
ListView展示数据,需要三个点:1、ListView: 用来展示列表的View。2、Adapter: 用来把数据映射到ListView上,它被认为是连接listview和Data的桥梁3、Data:具体的将被映射的字符串,图片,或者基本组件。系统是如何绘制Listview的呢?1、首先用getCount()函数得到要绘制的这个列表的长度;2、然后开始绘制:...原创 2015-05-26 17:20:42 · 873 阅读 · 0 评论 -
ADB 最常用命令集合及各种问题解决方式
ADB是什么Adb的全称为Android Debug Bridge:android调试桥梁。常用命令 基本前提操作 adb root (获取手机root权限)adb remount (重新挂载系统分区,使系统分区重新可写)adb shell (进入目标设备的Linux Shell环境) adb查看连接的设备 C:\Users\dddd>ad...原创 2019-11-05 16:58:29 · 1490 阅读 · 0 评论 -
Android ListView的适配器 Adapter 中GetView方法调用次数大于数据条数的问题
Android ListView的适配器 Adapter 中GetView方法调用次数大于数据条数的问题原创 2014-12-22 17:35:58 · 2171 阅读 · 0 评论 -
Android-Bundle认知、和Intent的区别
Android Bundle、Intent原创 2014-11-20 10:43:57 · 1465 阅读 · 0 评论 -
Android listview与adapter用法(转载)
一个ListView通常有两个职责。(1)将数据填充到布局。(2)处理用户的选择点击等操作。第一点很好理解,ListView就是实现这个功能的。第二点也不难做到,在后面的学习中读者会发现,这非常简单。一个ListView的创建需要3个元素。(1)ListView中的每一列的View。(2)填入View的数据或者图片等。(3)连接数据与ListView的适配器。也就是转载 2014-11-17 18:41:11 · 702 阅读 · 0 评论 -
startActivity、 startActivityForResult 、广播的使用
Android界面传值,广播的使用等。原创 2014-10-30 13:32:16 · 1513 阅读 · 4 评论 -
Java -Android 学习(第一天)
学习Java-Android的开发。欢迎指教。原创 2014-09-11 16:46:51 · 785 阅读 · 0 评论 -
Java -Android 学习(第四天)
添加新的Activity Android 两个界面中控件同一个Id原创 2014-09-17 14:07:35 · 868 阅读 · 0 评论 -
Java -Android 学习(第三天)
程序入口点 Android原创 2014-09-16 15:30:29 · 976 阅读 · 2 评论 -
Java -Android 学习(第二天)
认识Java-Android 第二天原创 2014-09-12 16:24:26 · 702 阅读 · 0 评论 -
Android studio git
Android studio 使用git首先,安装git过程忽略。下面是常用的操作(默认已经安装好了git):1、配置账户 $ git config --global user.name "username"#设置用户名 $ git c...原创 2018-12-18 10:20:16 · 208 阅读 · 0 评论 -
Android Studio WebView 加载Baidu Map 遇到的问题及解决方案
背景: 最近项目中需要在APP中增加一个定位签到的功能。实现方式是通过WebView 加载一个网页,网页中集成了百度地图的定位功能。问题描述: 定位功能在IOS上面是可以的,在Android机器上定位却是不行。解决过程: 首先,Android WebView的基本 settings 等各种常规设置,都是有的,网上一大堆。这里列下我的:...原创 2018-12-18 10:59:14 · 1295 阅读 · 0 评论 -
Android 布局背景-重复使用某个背景图的实现方式
有时候,我们的设计需要在一个布局文件中重复的使用某个图片,作为一个布局区域的背景图。如何实现呢?可以通过android:tileMode="repeat" 属性来达到,具体做法是:1、在drawable文件夹下创建一个资源文件repeat_bg.xml,里面的android:src属性设置成要重复展示的图片。<?xml version="1.0" encoding="utf...原创 2019-08-22 14:41:11 · 1969 阅读 · 0 评论 -
Android 关于组合控件(自定义控件等)中自定义属性,通过getDimension后 设置字体大小比实际要大很多的问题分析
今天整理了一下项目中经常使用的组合控件,对属性进行了提取,扩展,尽量使这个组合控件更灵活、通用。但过程当中,遇到一个问题:设置字体大小比预计的要大很多。我先列出来自定义属性基本的使用步骤(很熟悉这个过程的朋友可以忽略下面这几个步骤,直接看问题分析部分)1、抽取自定义属性tsc_TextSize到attr.xml中<declare-styleable name="MTopSe...原创 2019-05-20 15:25:23 · 2489 阅读 · 2 评论 -
Android 透明度、颜色值的理解
我们画布局的时候,对于给控件设置颜色值的环节,应该是最基础、最常见的操作了。其中颜色值的表述方式,我通过下面一个示例截图来全面的认识一下(接下来请看效果图,主要思考红色剪头所指的地方:背景50%透明度,文字不透明,如何实现效果),给你10秒钟的时间...自觉默认倒计时开始哈....好了,倒计时结束了,请结合你的方案,然后贴出来我的方式,看哪个更好:首先这个地方需要一个TextVie...原创 2019-06-17 19:22:22 · 1755 阅读 · 0 评论 -
Android RecyclerView 提示No adapter attached;skipping的问题分析
项目里面,经常会用到RecyclerView ,其使用方式,想必大家也都清楚了。今天优化代码突然发现打印的信息里面有:--error RecyclerView: No adapter attached; skipping layout ;可是APP并没有因此崩溃,加上项目也比较紧,就没太注意这一块。现在有点时间了,发现了这个error提示,虽然不崩溃,但看到error信息,还是很不爽的,想...原创 2019-01-09 21:03:10 · 19267 阅读 · 4 评论 -
Android Studio编译问题-Error:Could not find org.jetbrains.trove4j:trove4j:20160824
今天早上打开AS,发现项目编译不通过了。。。提示Error:Could not find org.jetbrains.trove4j:trove4j:20160824Error:SSL peer shut down incorrectly真莫名其妙。。。查阅资料,提供的解决方式大致有以下几种:1、在buildscript中加上这个 jcenter()buildscript...原创 2019-01-08 11:53:44 · 18918 阅读 · 5 评论 -
关于Andriod org.gradle.api.tasks.TaskExecutionException: Execution failed for task 问题及解决办法
今天打开AS,突然发现项目跑步起来了,报一堆编译错误,错误大致信息如下:org.gradle.api.tasks.TaskExecutionException: Execution failed for task(省略若干无用信息)仔细看完之后,这一堆红色的错误信息,没有什么明显的收获。。。解决步骤:在terminal中输入如下命令,得到较为详细的信息gradlew com...原创 2019-01-07 19:59:32 · 13606 阅读 · 0 评论