- 博客(29)
- 资源 (6)
- 收藏
- 关注
原创 比kotlin-android-extensions插件更好用的ViewBinding
比kotlin-android-extensions插件更好用的ViewBinding一、kotlin-android-extensions存在的问题1、污染全局命名空间2、不能暴露可空性信息3、仅支持 Kotlin 代码这里有篇文章有说明,具体可以参考这里:https://www.bennyhuo.com/2020/11/07/deprecated-kotlin-android-extensions/注意:根据谷歌的未来计划,在接下来的一年里,谷歌的团队将共同弃用 synthetics,并
2020-12-17 19:21:15
2898
5
原创 解决“Cannot fit requested classes in a single dex file”的问题
问题描述编译时出现Cannot fit requested classes in a single dex file (# methods: 73436 > 65536)的问题。原因:项目貌似有点大,已经超过65k个方法。一个dex已经装不下了,需要个多个dex,也就是multidex ,因为Android系统定义总方法数是一个short int,short int 最大值为65536。...
2019-12-09 18:52:46
19652
2
原创 Cleartext HTTP traffic to xxx not permitted
Cleartext HTTP traffic to xxx not permitted问题描述在Android P 使用HttpUrlConnection进行http请求会出现以下异常: W/System.err: java.io.IOException: Cleartext HTTP traffic to **** not permitted使用OKHttp请求则会出现:java.n...
2019-11-10 23:59:50
638
原创 Android的活动介绍
Android的活动介绍1. 活动是什么活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或多个活动,但不包含任何活动的应用程序很少见,谁也不想让自己的应用永远无法被用户看到吧?2. Intent 在活动中的使用Intent 大致可分为两种:显示 Intent 和 隐式 Intent使用显示 IntentI...
2019-11-10 11:16:24
778
原创 Android系统架构
Android系统架构Android系统架构如下图所示。Android大致可以分为四层架构:Linux内核层、系统运行库层、应用框架层和应用层。01. Linux内核层Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。02. 系统运行库层这一层通过一些C/C++库来为A...
2019-11-10 00:11:38
503
原创 Android的日志工具Log及制定日志工具
Android的日志工具Log及制定日志工具Log介绍Android中的日志工具类是Log(android.util.Log),这个类中提供了如下5个方法来供我们打印日志。Log.v()。用于打印那些最为琐碎的、意义最小的日志信息。对应级别verbose,是Android日志里面级别最低的一种。Log.d()。用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。对应...
2019-11-09 23:54:09
275
原创 详解Android下的build.gradle文件
详解Android下的build.gradle文件前言不同于Eclipse,Android Studio是采用Gradle来构建项目的。Gradle是一个非常先进的项目构建工具,它使用了一种基于Groovy的领域特定语言(DSL)来声明项目设置,摒弃了传统基于XML(如Ant和Maven)的各种烦琐配置。Android项目中有两个build.gradle文件:一个是在最外层目录下的...
2019-11-09 23:13:22
734
1
原创 Android内存(RAM)大小信息查看、获取方法和内存分配方法
Android手机的内存大小信息存放在手机系统的 /proc/meminfo 文件里面,我们可以通过读取这个文件来获取内存信息。使用 cmd 命令行打开终端或直接在 Android Studio 中使用命令终端,运行 adb 命令可以看到文件详细内容如下所示:C:\Users\YZJ>adb shellsagit:/ $ cat /proc/meminfoMemTotal: ...
2019-10-24 09:37:00
12222
3
原创 java.net.SocketException: socket failed: EPERM (Operation not permitted)
问题描述一开始我是写一个网络请求,但是忘记添加网络权限了,运行后看日志出现权限问题,根据提示添加网络权限。uses-permission android:name=“android.permission.INTERNET”但是问题来了,我运行程序后,还是出现问题,问题如下。2019-09-30 15:29:39.950 21300-21356/com.yezijie.wanandroid...
2019-09-30 17:15:27
24777
76
原创 Failed to resolve: com.android.xxx Add Google Maven repository and sync project
问题描述:运行程序出现这种错误,导致程序无法执行。 ERROR: Failed to resolve: com.android.support:appcompat-v7:26.1.0 Add Google Maven repository and sync project Show in Project Structure dialog Affected Modules: app ...
2019-09-29 10:51:37
3319
原创 【Android珍藏】推荐10个炫酷的 Github 开源库
【Android珍藏】推荐10个炫酷的开源库前言技术群里面经常有人问到一些炫酷的UI效果实现方法,有时候我都是给一个相同或者相似效果的Github链接,有同学私信给我说,大佬,怎么这些效果你都能找到?你是怎么搜索的,或者有其他什么秘方?会利用Google、百度等搜索工具搜索是一方面,另一个重要的方面是:记录搜藏,当看到一个炫酷的效果的时候,记得收藏起来,记录到自己云笔记或者收藏夹里,看得多了,...
2019-09-28 00:21:12
873
3
原创 Material Design介绍
Material Design介绍一、Toolbar说到Toolbar,就要提到ActionBar了,每个活动最顶部的那个标题栏其实就是ActionBar。不过ActionBar由于其设计的原因,被限定只能位于活动的顶部,从而不能实现一些Material Design的效果,因此官方现在已经不再建议使用ActionBar了。打开AndroidManifest.xml文件看一下,可以看到,这里...
2019-09-27 18:35:53
761
1
原创 Linux中“XXX is not in the sudoers file”解决方法
问题描述当在终端执行sudo命令时,系统提示“yzj is not in the sudoers file”:$ sudo lsPassword:cuser is not in the sudoers file. This incident will be reported.解决方法导致这个的原因是没有权限进行sudo,解决方法如下(这里假设用户名是 yzj):1.切换到...
2019-09-18 11:05:42
1136
原创 从0到1教你用VMware15.X安装Centos7.X
1、软件准备VMware15.X:https://www.jb51.net/softs/638376.htmlCentos7.X:http://ftp.ksu.edu.tw/FTP/Linux/CentOS/7/isos/x86_64/或官网:https://www.centos.org/download/2、硬件要求1)、CPUCPU只要不是老旧到会让你的硬件系统宕机的都能够支持...
2019-09-17 21:10:02
12175
23
转载 Git使用教程——最易懂的教程
Git使用教程一、Git是什么?Git是目前世界上最先进的分布式版本控制系统。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库二、SVN与Git的最主要的区别?SVN是集中式版本控制系统版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器那里得到最新的版本,然后干活...
2019-08-09 17:56:22
274
原创 ExoPlayer详解——高级主题(官方文档)
一、数字版权管理ExoPlayer使用Android的MediaDrmAPI来支持受DRM保护的播放。不同支持的DRM方案所需的最低Android版本以及支持它们的流式格式为:DRM格式Android版本号Android API级别支持的格式Widevine“cenc”4.419DASH,HLS(仅限FMP4)Widevine“cbcs”,“cbc1”和“c...
2019-08-08 11:34:01
6705
原创 ExoPlayer详解——媒体类型(官方文档)
一、DASHExoPlayer支持多种容器格式的DASH。必须对媒体流进行解复用,这意味着必须在DASH清单中的不同AdaptationSet元素中定义视频,音频和文本(CEA-608是一个例外,如下表所述)。还必须支持包含的音频和视频样本格式(有关详细信息,请参阅 示例格式部分)。特征支持评论集装箱FMP4是仅拆分流WebM是仅拆分流Mat...
2019-08-07 16:41:42
8716
1
原创 ExoPlayer详解——入门(官方文档)
此文翻译自https://exoplayer.dev/hello-world.html一、ExoPlayer,你好简单用例入门ExoPlayer包括实现以下步骤:将ExoPlayer添加为项目的依赖项。创建一个SimpleExoPlayer实例。将播放器连接到视图(用于视频输出和用户输入)。准备玩家MediaSource玩。完成后释放播放器。添加ExoPlayer作为...
2019-08-06 20:36:04
24566
3
原创 Android Studio 的Java文件左下角显示红色的J
Android Studio 的 Java 文件左下角显示红色的 J问题:打开 Android Studio ,发现 Java 文件左下角显示红色的 J ,正常情况下应该显示蓝色的 C ,这种情况导致了代码无法识别是否已经导入各个 Java 包,也无法自动生成未输入的代码,还有就是每次都需要一个一个文件点开才能显示 Java 代码文件,给开发过程带来了很大的麻烦。解决方法:在把项目切换到 ...
2019-08-06 16:17:18
6165
1
原创 由于目标计算机积极拒绝,无法连接。 (10061)
问题使用adb命令无线链接手机出现 “由于目标计算机积极拒绝,无法连接。 (10061)” 这种问题。解决方法1、先确认Android设备开启开发者模式,并且开启USB调试;2、确认Android设备和电脑处于同一局域网;如果上述都确认还是出现 “由于目标计算机积极拒绝,无法连接。 (10061)” 这个问题,那就极有可能是端口被占用了:(1)使用如下adb命令可以查看端口...
2019-08-04 11:02:10
272042
5
原创 java.lang.BootstrapMethodError: Exception from call site #1 bootstrap method
问题描述:在程序中使用了下面的语句实现绑定Java和LayoutView view = View.inflate(getContext(), R.layout.video_play, this);ButterKnife.bind(this,view);但是运行时总出错,报错如下: Caused by: java.lang.BootstrapMethodError: Exce...
2019-08-01 17:19:06
10783
8
原创 The given artifact contains a string literal with a package reference ‘android.support.v4.content‘
问题描述Android Studio编译时产生一下错误:The given artifact contains a string literal with a package reference 'android.support.v4.content' that cannot be safely rewritten. Libraries using reflection such as ...
2019-08-01 14:18:48
23300
5
原创 AndroidStudio 快捷键整理大全
AndroidStudio 快捷键整理大全熟悉AndroidStudio的快捷键使用对加快开发速度有很好的帮助,这里整理一下方便以后查阅。 一、编辑相关快捷键 快捷键 说明 Ctrl+Space 补全代码 ctrl+shift+space 智能代码补全 Ctrl+Sh...
2019-07-27 10:52:10
578
原创 Android内容提供器
内容提供器主要用于在不同的应用程序之间实现数据共享的功能,同时还能保证被访数据的安全性。目前,使用内容提供器是Android实现跨程序共享数据的标准方式。不同于文件存储和SharedPreferences存储中的两种全局可读写操作模式,内容提供器可以选择只对哪一部分数据进行共享,从而保证我们程序中的隐私数据不会有泄漏的风险。
2019-07-24 20:08:12
700
原创 Android手机多媒体
Android手机多媒体一、通知的基本用法无论是在哪里创建通知,整体的步骤都是相同的。首先需要一个 NotificationManager 来对通知进行管理,可以调用Context的 getSystemService() 方法获取到。getSystemService()方法接收一个字符串参数用于确定获取系统的哪个服务,这里传入Context.NOTIFICATION_SERVICE即可。N...
2019-07-24 15:23:51
327
原创 模仿微信右上角弹出的菜单
最近在看《Android精彩编程200例》这本书,但是书中很多例子都存在一些问题,因此我在这里就对书中的实例进行修改。希望能对一些和我一样的初学者有所帮助。首先来看一下效果图:废话不多说直接贴码分析。打开AS新建一个项目命名为 WeiMenu 。这里我采用自己定义的标题栏,与书中使用一张图来代替标题栏不一样,我这样对屏幕的兼容和适配更加合理。新建一个 layout 文件命...
2019-07-20 14:00:19
989
原创 VideoView MediaPlayer的暂停播放监听播放时长的计时显示
在做一个有关视频播放的项目时,要实现一个功能:就是记录视频的额播放时长,并当视频停止播放时,计时器也暂停纪录。一开始以为实现这个功能挺简单的,但是后来发现VideoView和mediaplayer没有暂停播放的监听发方法。MediaPlayerController的官方接口如下:public interface MediaPlayerControl { void ...
2019-07-17 11:57:44
3309
1
原创 Android Studio启动模拟器调试APP时闪退的问题
问题描述17:06 Emulator: dsound: Could not initialize DirectSoundCapture17:06 Emulator: dsound: Reason: No sound driver is available for use, or the given GUID is not a valid DirectSound device ID17...
2019-07-11 17:32:53
21445
6
Java开源项目汇总.pdf
2020-05-12
模仿微信右上角弹出的菜单
2019-09-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人