4 德超

尚未进行身份认证

暂无相关简介

等级
TA的排名 15w+

使用AccessibilityService来备份 WeChat 好友信息

什么是AccessibilityService?  在开始之前我们先了解一下 AccessibilityService是一个什么东西;AccessibilityService 是一种提供用户界面增强功能的应用程序,可以帮助残障用户或者暂时无法与设备进行完全交互的用户提供界面反馈,帮助用户更好的处理和响应事件。通俗一点来说就是可以帮助我们监听页面的变化,比如按钮的点击,页面的切换,页面内容的变化...

2019-11-26 16:53:58

Android Camera2 开发实践指南

 我们知道Android中相机开发是有两套API可以使用的,一个是Camera,这个适用于Android5.0以下,另外一个是Camera2,这个适用于Android5.0以上。但是这仅仅是系统的建议,其实开发中由于国内厂商对Camera2的支持程度各不相同,即便是5.0以上的手机,也可能对Camera2支持非常差的情况,我们可能还得降级使用Camera...

2019-01-17 21:43:39

迁移项目到 Android Studio 3.2 提示 mips64el-linux-android 异常

Android Studio 3.2 版本正式版在前段时间已经发布了,我个人是比较期待这个版本的,因为在这个版本之后,我们就可以使用官方架构组件 Android Jetpack了,Jetpack是Google为了开发者构建应用提供的一套组件、工具和架构指导。详细的更新说明请点击查看但是在今天把老项目使用Android Studio3.2.1版本打开的时候却构建失败了,提示异常为找不...

2018-11-14 15:51:05

解决dagger和databinding冲突

升级 databing 和 dagger2 为最新版。。。没错,报错的原因就是因为旧版本同时使用apt注解生成器没有作区分的原因,新版本已经修复了这个问题。引入 databinding 的方式为:在我们的 application module 的 android 模块中设置dataBinding { enabled = true}就会自动引入与当前 gradle p...

2018-09-26 19:41:18

CardView遇到的一点小坑

CardView在RelativeLayout布局中,如果和别的View有重合部分,如果需要CardView摆放在这个View后面,则必须把CardView的app:cardBackgroundColor="#00000000"设置为透明。如果想要这个View摆放在CardView前面,但是又不想把CardView的这个属性设置为透明,则需要把另外一个View也使用CardView嵌...

2018-06-26 20:42:16

简单分析一下CoordinatorLayout的Behavior机制以及其中方法的作用

Behavior从哪来Google 推出 Material Design 后,提供了Support Library ,而Behavior机制是其中 CoordinatorLayout的一种使其子View通过Drag、Fling或Gestures 等方式实现子View的各种交互效果而提供的一种实现方式。Behavior是什么见名知意,翻译过来就是行为的意思,对,简单来说就是控制一些子View的交互行...

2018-03-06 10:38:57

浅析Android如何从不同的层次保证安全性

Android上的安全机制可以基本都是从两个方面来进行:1.应用沙盒2.权限约束先了解一下基本知识: Android是一个分层操作系统,由个4层组成,分别是:Linux Kernel、Native Userspace、Android Framework、Application Android的核心安全原则是,应用程序不应该损害操作系统资源、用户和其他应用程序。1.Lin

2018-02-04 19:11:04

Android源码中的位运算

在看Android源码的时候经常可以看到 |=、&、~这样的符号,对于科班的人来说一般都会认识这些符号啦,就是位运算符嘛,但是现在对于非科班的就会有点蒙圈了,因为我们在学习的时候经常用的是&&、|| 这样的,但是它们变成单个去用的却几乎没遇到过,其实这种也是理解起来也是很简单的,因为这些符号就是将我们的常用运算转化成为二进制来进行运算的,目的就是为了加快运算速率,因为我们现在用的计算机系统使用的基

2018-01-14 12:51:18

关于Android多渠道打包

如果你还不会的话,为什么不用walle呢? github地址:https://github.com/Meituan-Dianping/walle 美团点评开源的一个项目,教程很详细,一看就会,可以说是非常方便了。如果还是不会的话,如果想自己实现也不难,只需要在build.gradle中简单配置一下就可以了。在Manifest中添加渠道标识(名字可以自定义):<meta-data android

2017-12-29 13:50:39

解决Warning:android-apt plugin is incompatible with future version of Android Gradle plugin.

今天在导入google官方的dagger+mvp项目的时候遇见了一个错误,dagger不会自动生成DaggerAppComponent,查看的时候发现是有一个warning:Warning:android-apt plugin is incompatible with future version of Android Gradle plugin. Please use 'annotationPro

2017-10-23 19:06:33

android studio 提示:Unable to obtain result of 'adb version'

今天向往常一样打开android studio,build项目的时候突然弹出来一个这个: 什么玩意。。。无法启动adb server? 获取不到adb版本?

2017-09-26 17:17:39

关于计算机的一些名词或是概念

xx对xx透明:在计算机中,从某个角度看不到的特性就称这个特性是透明的,比如我们写代码的时候,变量的地址是由编译系统分配的,那么我们就称这个地址对我们是完全透明的,我们根本不知道变量的具体地址。与现实生活中理解的透明正好相反。。。好多人把 mac book pro 喜欢简称为 mac pro,其实是不对的,,这两个是完全不同的两个产品。。。DI 即 Dependency injection,依赖注...

2017-09-08 11:15:27

LoaderManager的使用,替代传统的ContentResolver查询。

最近在阅读google samples 的时候发现项目里查询联系人并不是按照我以前写的方式实现到,要是我写到话应该就是getActivity().getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);然后在得到Cursor,再去遍历…但是发现google dev

2017-09-06 21:50:58

kotlin的一些学习和使用时遇到的问题

前段时间学习了一下kotlin,主要是通过这本书来学习的,这个是中文版下载地址: (https://github.com/wangjiegulu/kotlin-for-android-developers-zh) 这个网站是一个可以测试kotlin代码的,对学习kotlin也是挺有帮助的。 (https://try.kotlinlang.org) 也看了看这个,了解一下kotlin的常用...

2017-08-17 16:53:13

System.loadLibrary()流程分析

在java代码中调用 System.loadLibrary(String fileName); -> System.java - loadLibrary(String fileName); -> Runtime.java - loadLibrary(String libName) -> loadLibrary(String libName,ClassLoader

2017-07-24 17:37:34

Android Studio导入Eclipse项目报错

最近在导一个eclipse项目的时候报了很多错误,在这记录一下。第一个是这个Execution failed for task ':app:processDebugResources'.com.android.ide.common.process.ProcessException: Failed to execute aaptaapt的全称是:Android Ass

2017-05-12 14:42:09

AndroidBinder机制

Android BinderAndroid中为了保护操作系统中进程互不干扰设计了进程隔离机制,这个技术是为了防止进程A写入进程B的情况发生。进程隔离的实现,使用了虚拟地址空间,进程A的虚拟地址和进程B的虚拟地址不同,这样就防止进程A将数据信息写入进程B虚拟地址和物理地址是一种映射关系,程序中使用的都是虚拟地址Linux系统内存分为两个部分:内核空间和用户空间。内

2017-04-25 23:37:41

activity之间传值,解决:Parcelable encountered IOException writing serializable object异常

今天写代码的时候遇到了两个activity之间需要传数据,本来是一件非常简单的事情平常都是使用intent.putExtra(type,value);就没问题了。传对象的话就需要实现序列化接口了就行了。为什么要实现序列化接口,你可以当这个是android的一个机制,就是得这么办,不这么办不行。实际上实现序列化接口就是为了让数据能变成一种可存储或可传输的状态,可以传输到网络,也可以

2017-04-14 14:21:47

使用ContentResolver查询SD卡中特定的文件

如何使用ContentResolver查询sd卡中的任意文件

2017-03-29 15:38:52
勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。