Android开发( 右侧选择分类 )
android

Android View中getViewTreeObserver().addOnGlobalLayoutListener()以及获取控件的大小

我们知道在oncreate中View.getWidth和View.getHeight无法获得一个view的高度和宽度,这是因为View组件布局要在onResume回调后完成。所以现在需要使用getViewTreeObserver().addOnGlobalLayoutListener()来获得宽度或者高度。这是获得一个view的宽度和高度的方法之一。OnGlobalLayoutLis
3703 人浏览
android

Android bug setSpan (-1 ... -1)

今天友盟上有个bug, 发生在8.0系统上的,有人遇到吗?java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0 at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1318) at a
3681 人浏览
android

Glide4-入门教程-6-指定图片大小

一、简介这一小节讲一下Glide4指定图片大小显示的方法,实际上,使用Glide在大多数情况下我们都是不需要指定图片大小的,因为Glide会自动根据ImageView的大小来决定图片的大小,以此保证图片不会占用过多的内存从而引发OOM。不过,如果你真的有这样的需求,必须给图片指定一个固定的大小,Glide仍然是支持这个功能的。非常简单,下面直接上代码就ok了!二、指定固定尺寸这里使用overrid
3626 人浏览
android

android-加固方案对比

目前成熟的第四方解决方案1. 娜迦针对Android平台下的APP被逆向分析,破解,植入木马病毒后,用户敏感信息泄露或者被钓鱼网站劫持,NAGA android保护采用防止静态分析与防止动态调试全面防护的思路,在未保护程序运行的不同周期采取不同程度的加固措施,可以针对银行、基金、券商,电商等需在线支付领域及游戏领域,提供定制型APP安全解决方案。主要实现:类抽取:保护dex文件,防止静态分析及动态
3570 人浏览
android

Glide加载大量的图片导致的OOM解决总结

Glide果然好用,调用方便,提供多种图片加载框架,一直用的是Glide,这里我也没有改,项目上线一个月了,突然测试发现一个问题,就是图片是概率黑屏,我一致以为是图片未下载成功,就没在意,因为老化房有一台设备,一致在运行,没有出现这个问题,后来我自己下载了4K的高清出片,来测试,果然OOM,很好奇,Glide应该有缓存处理的工作,但是我无论怎么优化,还是OOM,从studio监控的内存状态,目前系
3527 人浏览
android

github上十二款最著名的Android播放器开源项目

1.ijkplayer项目地址:https://github.com/Bilibili/ijkplayer介绍:Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API 易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电;提供 Android 平台下应用弹幕集成的解决方案。2.ExoPlayer项目
3421 人浏览
android

Android studio 2.2 2.3 2.4 如何使用kotlin插件

Google I/O 大会后,Android Studio 就发布了3.0 金丝雀版本,支持 Kotlin 语言,增加了 Gradle 编译速度,支持即时应用开发,在 Android O 模拟器中增加了 Google Play Store,自适应图标等 20 多项新功能。今天我们不讨论Android Studio 3.0 使用Kotlin,我会在后面的博客中介绍,今天是讨论和学习
3419 人浏览
android

Android(安卓)时间戳和日期之间的转化

注:转发请注明原地址:https://www.niwoxuexi.com/blog/android/article/170...在Android开发过程中,经常会遇到日期的各种格式转换,主要使用SimpleDateFormat这个类来实现,掌握了这个类,可以转换任何你想要的各种格式。 常见的日期格式: 1,日期格式:String dateString = "2017-06-20 10:
3291 人浏览
android00

Android中的循环语句(while while-if for for-each)总结

Android中的Java循环语句: 1.while语句: while(条件){ 循环体}解释:当while语句中的条件为真时,执行while循环,一直到条件为假时结束循环,其中条件(括号内的表达式)需要返回一个boolean类型的值,用来判断是否进行循环执行循环体代码。当条件不成立时跳出循环。若想实现一个死循环,则可以直接给条件赋值为true。while语句是“先判断
3289 人浏览
android

Android系统版本与版本代号中英文名字

Android 发布每个版本的时候都给它起了一个代号:都是以各种食物命名,这已经是Android的传统了,今天就总结一下这些代号吧版本号API级别发布日期版本代号CodeName(系统名称)Android 1.01阿童木BASEAndroid 1.122008.9发条机器人BASE_1_1Android 1.532009.4.30纸杯蛋糕CUPCAKEAndroid 1.642009.9.15甜甜
3218 人浏览
android00

利用一些例子来对kotlin作一个总结

Kotlin的来历Kotlin的作者是大名鼎鼎的Jetbrains公司。它有一系列耳熟能详的产品,诸如Android兄弟天天用的Android Studio, IntelliJ IDEA, 还有前端的WebStorm, PhpStorm。2011年7月,JetBrains推出Kotlin项目。2012年2月,JetBrains以Apache 2许可证开源此项目。2016年2月15日,Kotlin
3217 人浏览
android

百度地图marker上添加文字的一种实现方案

年前在做项目时,客户提了一个需求,在手机客户端中需要集成海康威视摄像头的视频监控功能,并在需要在地图中加载摄像头的位置,并通过点击进入摄像头监控视频界面,如图1所示:图片1 marker默认只能加载bitmap图片,客户要求需要在摄像头图标上用文字标记出摄像头位置(没办法用户要啥就得整啥),求助百度,找到一个比较靠谱的实现方案,就是将view转换成Bitmap,然后在设置到marker中。首先自定
3205 人浏览
android

java Android List深拷贝的两种方式

大家都知道java里面分为浅拷贝和深拷贝。举个简单的例子,区分一下浅拷贝和深拷贝的区别publicclassAddress{ privateStringaddress; publicAddress(Stringaddress){ this.address=address; } publicStringgetAddress(){ returnaddress; } pu
3020 人浏览
php

Android ScrollView如何设置maxHeight

在我们的开发需求中有时候要控制控件的最大高度,很多控件都没有提供这个属性,今天以ScrollView为例,自定义ScrollView, 实现 maxHeight的更能java代码部分:packagecom.zhzd.youde.widget; importandroid.app.Activity; importandroid.content.Context; importandroid.
3003 人浏览
android

Android设置ScrollView滚动到底部和顶部

我们在开发的过程中,经常会遇到ScrollView滚动到底部和顶部的情况,下面是一种简单的设置方法1,设置ScrollView滚动到顶部//设置ScrollView滚动到顶部 scrollView.fullScroll(ScrollView.FOCUS_UP);2,设置ScrollView滚动到底部//设置ScrollView滚动到顶部 scrollView.fullScroll(Scrol
2924 人浏览
kotlin

Double值保留两位小数的四种方法

Double值保留两位小数的四种方法public class DoubleTest { //保留两位小数第三位如果大于4会进一位(四舍五入) double f = 6.23556; /** *使用精确小数BigDecimal */ public void fun1() { BigDecimal bg = new
2901 人浏览
android

Glide 从v3迁移到v4

选项(Options)Glide v4 中的一个比较大的改动是Glide库处理选项(centerCrop(), placeholder() 等)的方式。在 v3 版本中,选项由一系列复杂的异构建造者(multityped builders)单独处理。在新版本中,由一个单一类型的唯一一个建造者接管一系列选项对象。Glide 的generated API进一步简化了这个操作:它会合并传入建造者的选项对
2867 人浏览
android01

androidx.recyclerview:recyclerview的使用

添加扩展 或手动修改app/build.gradle:<br>在<code>dependencies里添加 implementation 'androidx.recyclerview:recyclerview:1.0.0' 新建布局layoutitem布局fruit_item.xml: <?xml version="1.0" encoding="utf-8
2767 人浏览
android

在Android studio3.0 用kotlin语言开发Android app demo

Google I/O 大会后,Android Studio 就发布了3.0 金丝雀版本,支持 Kotlin 语言,增加了 Gradle 编译速度,支持即时应用开发,在 Android O 模拟器中增加了 Google Play Store,自适应图标等 20 多项新功能。今天我们一起讨论和学习android studio 3.0本如何使用Kotlin语言开发Android应用。废话不多说,我们直上
2760 人浏览
android00

[译] ConstraintLayout深入系列之代替常见布局

原文:ConstraintLayout layouts作者:Mark Allison 、 Sebastiano Poggi本文将列举讲述如何使用 ConstraintLayout 来代替常见的三种布局 LinearLayout 、 RelatvieLayout 、 PercentLayout 的用法,本文使用的 Android Studio 都是 2.4 alpha 7 版本的,而 Constra
2668 人浏览