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

Android源码解析(七)-- Android之LruCache

android开发过程中经常会用到缓存,现在主流的app中图片等资源的缓存策略一般是分两级,一个是内存级别的缓存,一个是磁盘级别的缓存。作为android系统的维护者google也开源了其缓存方案,LruCache和DiskLruCache。从android3.1开始LruCache已经作为android源码的一部分维护在android系统中,为了兼容以前的版本android的support-v4
2209 人浏览
cheng

71道经典Android面试题和答案,重要知识点都包含了

71道经典Android面试题和答案,重要知识点都包含了,请那些准备面试的,好好看哦,加薪2000元不是问题,,面试题1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 2. 下面异常是属于Runtime Exception 的是
2207 人浏览
cnbzlj

android 设置点击ProgressDialog外的区域不消失

今天,简单讲讲android如何设置点击ProgressDialog外的区域不消失。昨天,自己做一个加载框ProgressDialog时,完成功能后,发现ProgressDialog点击区域外面就立即消失了,于是我想设置ProgressDialog点击区域外时不消失,点击手机返回键时才自动消失。可是发现自己居然不知道怎么做,于是在网上查找资料,最终解决了问题。这里记录一下。安卓在4.0之前对话框都
2205 人浏览
tinuv

Java正则表达式简单学习

与正则表达式相关的类Pattern类Pattern 模式,代表匹配的模式,Pattern没有公共的构造方法,只有一个私有的构造方法privatePattern(Stringp,intf)通常使用静态方法compile()来生成一个Pattern对象publicstaticPatterncompile(Stringregex)compile()方法的参数就是一个正则表达式,正则表达式待会再说.Mat
2198 人浏览
cnbzlj

Okhttp3基本使用

I.简介HTTP是现代应用常用的一种交换数据和媒体的网络方式,高效地使用HTTP能让资源加载更快,节省带宽。OkHttp是一个高效的HTTP客户端,它有以下默认特性:支持HTTP/2,允许所有同一个主机地址的请求共享同一个socket连接连接池减少请求延时透明的GZIP压缩减少响应数据的大小缓存响应内容,避免一些完全重复的请求当网络出现问题的时候OkHttp依然坚守自己的职责,它会自动恢复一般的连
2189 人浏览
cnbzlj

android 图片轮播

今天,简单讲讲Android图片轮播功能。其实图片轮播功能就是使用ViewPager和Handler,网上查找了资料,把这个简单的问题写的很复杂。其实一个自定义控件完全可以解决。这里直接上代码,不在做过多的讲解了。有问题的可以提问,我看到后会尽量回复。一.定义相关变量private final int DELAY_TIME = 3000;//自动轮播时间 private List<Stri
2183 人浏览
hgweb

CSS - 项目常用的通用样式汇总3(网格布局框架:grd.css)

三、网格布局框架1,grd.css 介绍(1)Grd是一款基于Flexbox的CSS网格系统框架。通过这个CSS网格框架,我们可以在页面中进行各种形式的网格布局。它默认采用和Bootstrap相同的12列布局。(2)Grd是轻量级框架,代码如下:注意:我这里对其原始代码进行了改进,在原有的横向布局基础上,增加了纵向布局(column)的样式。.Grid{display:flex;flex-wrap
2170 人浏览
tinuv

反射学习(一)

理论学习Class类关于类的抽象,或者说,Class类描述了一个类,每个类中都有一个Class对象,在Java中,类是现实世界的一种抽象,或者说是一种描述,比如Person类,可以根据需求将人抽象成具有性别,年龄属性,能吃饭(方法)的一种实体,同样Class类也抽象了Java类中的一些特点.每一个类中都有一个Class对象,可以通过如下方法获得一个Class类的实例ClassstringClass
2157 人浏览
android01

Android源码解析(二十二)-- Toast的加载绘制流程

前面我们分析了Activity、Dialog、PopupWindow的加载绘制流程,相信大家对整个Android系统中的窗口绘制流程已经有了一个比较清晰的认识了,这里最后再给大家介绍一下Toast的加载绘制流程。其实Toast窗口和Activity、Dialog、PopupWindow有一个不太一样的地方,就是Toast窗口是属于系统级别的窗口,他和输入框等类似的,不属于某一个应用,即不属于某一个
2156 人浏览
android01

Facebook第三方登录获取姓名,头像,邮箱等个人信息

最近项目新增一个需求:需要收集用户的邮箱信息。但是直接通过GraphRequest.newMeRequest去获取发现返回值为空,通过查阅资料得知facebook获取用户邮箱还需要授权。授权方式如下 LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile,email"));
2155 人浏览
android02

Android点亮屏幕并解锁Android点亮屏幕并解锁

Android点亮屏幕并解锁需求:现在在做一个app要求有唤醒屏幕并解锁的需求,参考了网上的许多的博客,感觉前篇一律,有的手机上好使,在有的手机上不好使,参考了微信的视频呼叫唤醒屏幕,可以点亮手机屏幕,对于有上滑手势解锁的手机只能点亮屏幕不能解锁屏幕,后来经过尝试,当前应用中有一个锁屏弹起界面 的权限,默认是关闭的,打开这个权限之后就可以点亮屏幕并弹出界面了(有上滑手势解锁的手机),后台经过尝试现
2154 人浏览
android

正确认识 MVC/MVP/MVVM(一 MVC)

前言做移动端开发和前端开发的人员,对 MVC、MVP、MVVM 这几个名词应该都不陌生,这是三个最常用的应用架构模式,目的都是为了将业务和视图的实现代码分离,从而使同一个程序可以使用不同的表现形式。不过,网上的文章对这方面的解说众说纷纭,其中不乏有些错误的描述,导致有些人应用这些架构模式时陷入一些错误陷阱。本文将追根溯源,力求让大伙对这三个架构模式形成正确认识。MVC = Model-View-C
2154 人浏览
android

compileSdk设置为33后xml中没有代码提示

compileSdk设置为33后xml中没有代码提示compileSdk为33后在布局文件中代码提示失效,如“android:background”无法提示、自动补全,但是写上去之后能用,如果将compileSdk设置为32恢复正常,这个时候需要使用最新的Android Studio预览版,可以从developer.android.google.cn下载最新的Electric Eel (2022.
2139 人浏览
android00

大厂模拟面试--毕业一年入职百度的优秀小伙

这篇文章来源于去年和一位读者朋友(下文以小欧代称)的模拟面试,把面试问题记录一下,看看是否能给大家带来一些启发读者介绍涉及到个人隐私,这里不把简历放出来,对小欧做一些大致介绍工作情况小欧 19 年本科毕业,目前已入职百度专业技能小欧简历里写的专业技能比较全面,包括这些:Java 的知识(反射、泛型、注解、List 等集合源码、并发、JVM 相关)Android 知识(四大组件、View、Binde
2133 人浏览
android

Android 12 有望引入应用程序休眠功能,以释放手机存储空间

据外媒 XDA 报道,谷歌最近向 AOSP 项目提交了一项代码更改,其中添加了一个应用程序休眠服务功能,预计将在 Android 12 中实现。函数说明显示,该服务 “管理应用程序休眠状态,应用程序可以进入一种状态,这意味着它们没有被积极使用并且可以针对存储进行优化。”目前还不确定该功能是否会自动休眠应用程序,据外媒预计,该功能会将应用程序压缩成 APK 和相关资源文件进行存储,以减少手机存储空间
2128 人浏览
android00

git-命令行常用命令集锦(

1、git clone从远程主机克隆一个版本库$gitclone<版本库的网址>该命令会在本地主机生成一个目录,与远程主机的版本库同名。如果要指定不同的目录名,可以将目录名作为git clone命令的第二个参数。$gitclone<版本库的网址><本地目录名>git clone支持多种协议,除了HTTP(s)以外,还支持SSH、Git、本地文件协议等,例如:$g
2127 人浏览
android

Android:TextView显示3行,超出显示...+全文

Android:TextView显示3行,超出显示...+全文, 直接上代码:工具类:TextViewSpanUtilpublic class TextViewSpanUtil { /** * 设置textView结尾...后面显示的文字和颜色 * * @param context 上下文 * @param textView
2116 人浏览
cnbzlj

Android 对OkHttp的封装

不废话,需求:根据服务器API封装网络请求,怎么办? 简单封装okhttp的get,post,put,delete请求: PersistentCookieJar cookieJar = new PersistentCookieJar(new SetCookieCache(), new SharedPrefsCookiePersistor(getApplicationContext()));
2107 人浏览
cnbzlj

android shape的使用

今天,简单讲讲android里如何使用shape设计各种样式。之前,我记住在开发中也很多次使用到了shape,因为比较简单,所以一直也没有写博客进行总结。但是,最近看代码时,发现了一些shape属性还是不了解,所以在网上查找了shape的资料,这里记录一下。首先,使用shape画的图形,这个xml文件的根节点是shape,如下:<shape xmlns:android="http://sch
2104 人浏览
android00

Android如何设置TextView的行间距、行高

Android系统中TextView默认行间距比较窄,不美观。我们可以设置每行的行间距,可以通过属性android:lineSpacingExtra或android:lineSpacingMultiplier来做。在你要设置的TextView中加入如下代码:1、android:lineSpacingExtra设置行间距,如”8dp”。2、android:lineSpacingMultiplier设
2104 人浏览