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

service的意义

Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如:onCreate,onStart 这些函数在被系统调用的时候都是在主进程的 main 线程上运行的。如果是Remote Service,那么对应的 Service 则是运行在独立进程的 main 线程上。因此请不要把 Service 理解
643 人浏览
android01

Android Camera原理之camera HAL底层数据结构与类总结

amera HAL层数据结构非常多,看代码的时候常常为了了解这些数据结构找半天,为了方便大家学习,特地总结了一些数据结构以及这些数据结构的位置:1.hardware/libhardware/include/hardware/camera_common.h:1.1 camera_info_t : camera_infotypedef struct camera_info {int facing;in
612 人浏览
android01

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

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

Facebook登录报错:将你登入到此应用程序时出错,请稍后再试。

Facebook登录报错:将你登入到此应用程序时出错,请稍后再试。这里帖几个有解决问题指导方向的连接:stackoverflow “Login Error: There is an error in logging you into this application. Please try again later”facebook login troubleshootfacebook 关于Logi
4228 人浏览
android00

taptap解析安装包出错_光遇解析软件包出现问题怎么解决 安装失败原因解答

光遇玩家在下载安装的时候,提示解析包出现问题,这个究竟如何才可以顺利的解决呢?毕竟好不容易下载了却没办法玩,这个可是苦恼了不少玩家,下面小编就为大家解答一下吧。解析软件包问题解答:1:系统需要达到安卓8.0及以上这个主要就是因为手机的系统版本太低导致,就是目前游戏只能支持安卓8.0以上的系统,如果你低于这个系统,那么就会导致安装失败。2:下载国际服目前光遇安卓是分为国服和国际服,如果你之前下载了国
773 人浏览
android00

解决安卓软件提示“解析软件包时出现问题”

昨天新弄了一个安卓项目,从老代码修改过来的,一顿修改打包测试版真机一安装居然出现了“解析软件包时出现问题”,真是太神奇了,从学安卓到现在也有一两年了,居然还能出现这样的情况,想想一直以来也遇到好多这样的情况了,写篇博客总结下吧。一般情一般来说出现这种问题,是安装的手机不能安装该软件导致的,即 minSdkVersion 版本不支持该手机解决办法就是提高 minSdkVersion 的版本号,兼容主
2312 人浏览
android00

将Android support库转换为Androidx库

将Android support库转换为Androidx库(1)将build tools更新到3.4.1,如下:dependencies { classpath 'com.android.tools.build:gradle:3.4.1' }gradle更新到5.1.1,如下: distributionBase=GRADLE_USER_HOME distributionPath=wrap
637 人浏览
android00

Android support和Androidx库不能共存问题

一、问题描述 今天升级了android studio3.4.1,导入以前的一个旧项目,并且升级了lottie-android动画库到最新版本3.0.3,编译发现出现如下报错: Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreCompone
1550 人浏览
android00

Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes?

android studio升级到3.4版本, 各种报错, 代码各种修改.其中有一个这样的错误, 没有见过, 后来在StackOverflow看到了一样的报错,找到了解决方法;报错信息(androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:28.0.0) Duplicate class andr
956 人浏览
android00

如何解决Android Studio编译时报的duplicate class这类问题

序前段时间做一个需求,因为要做复杂的动画,所以选择了Airbnb的lottie动画框架。但在引入lottie的过程中碰到了一个重复类(duplicate class)的编译错误,解决这个问题花了我一些时间,这里将其归纳为一类问题,并说明一下解决的方法。重现问题我新建一个Android应用来重现这个问题(操作系统为macOS 10.13.6):1、用Android Studio(3.4.2)创建一个
3233 人浏览
android00

Android引包出现Duplicate class com.xxx.xxx found in modules错误

Android开发中遇到这个报错:Android引包出现Duplicate class com.xxx.xxx found in modules错误其实就是依赖的包版本不一样,产生了冲突,把所有依赖的库改成版本一致的就可以了。
579 人浏览
android00

解决 Android 依赖冲突

今天导入一个第三方库的时候,发现里面的 okhttp 冲突了,找了很多文字都不顶用,最后发现菜狗原来是我自己,我把引入时剔除那个 groovy 写法掉了个逗号,真是笑掉大牙!下面做一番总结吧!解决办法问题原因就是,各个模块所有的依赖(递归)的 jar 包最后都会加载到安卓的项目中,你可以选择 project 形式查看 External Libraries,都在这了。所以解决问题关键就是干掉冲突,剩
744 人浏览
android00

自定义view实战(2):列表内左滑删除Item

前言上一篇文章自定义了一个左滑删除的RecyclerView,把view事件分发三个函数dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent实际运用了一下,一些原理通过出现的bug还是挺能加深印象,并且后面还在优化上用上了TouchSlop、VelocityTracker以及GestureDetector,但是真不配那个一个控件搞定安卓自定义v
688 人浏览
android00

Android开发View Binding的使用与解析

1. 前言如何干掉模版代码是很多第三方框架的设计初衷,在Android开发中,findViewById()是必不可少的存在,这样的冗余代码在很久以前充斥在Android工程中,因此也出现了很多精简方案。在Android Studio3.6中加入了很多新特性——View Binding就是其中之一。目前已经在工程中使用并上线,未出现稳定性问题,因此做以下记录。在谈View Binding之前,我们先
1139 人浏览
android00

Android View Binding的使用

什么是View Binding 官方文档 View Binding是Android Studio 3.6推出的新特性,目的是为了替代findViewById(内部实现还是使用findViewById)。。在启动视图绑定后,系统会为改模块中的每个xml文件生成一个绑定类,绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。 View Binding 的优点 Null 安全
795 人浏览
android00

TextView设置行间距、行高,以及字间距

一. 设置TextView行间距、行高:Android系统中TextView有默认行间距,但是比较窄有的时候需要我们设置每行行间距。TextView为我们提供了相关设置属性android:lineSpacingExtra或android:lineSpacingMultiplier。在xml文件设置:1、android:lineSpacingExtra 设置行间距,如”10dp”。表示额外的行间距数
3371 人浏览
android00

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

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

设置TextView下划线并响应点击事件(SpannableString)

下面是一个20行的完整Demo代码:基本原理是使用一个SpannableString并设置其ClickableSpan来响应点击事件。 TextView useInfo = (TextView) findViewById(R.id.info); String url_0_text = "用户协议及隐私条款"; useInfo.setText("开始
1069 人浏览
android

Android Textview 使用SpannableString 设置 ClickableSpan 出现点击事件无效。

注意以下几点:1. 要注意 文字要设置在 textview setText之前2. 设置文字之后再设置 setSpan3. textView 设置 setMovementMethod(LinkMovementMethod.getInstance())4. 然后会有点击事件效果 ,但是字体点击时会有一个背景点击的选中效果,默认主题色, 如果不想要的话,设置 setHighlightColor(0)/
2256 人浏览
android

安卓 使用 clickablespan 时点击无效问题

安卓Textview 使用SpannableString 设置 ClickableSpan 出现点击事件无效。注意以下几点:1. 要注意 文字要设置在 textview setText之前2. 设置文字之后再设置 setSpan3. textView 设置 setMovementMethod(LinkMovementMethod.getInstance())4. 然后会有点击事件效果 ,但是字体点
1326 人浏览