安卓学习
文章平均质量分 65
自在时刻
为什么不能换头像啊啊啊
展开
-
java.util.zip.ZipException: duplicate entry: com/nineoldandroids/animation/Animator$AnimatorListener
java.util.zip.ZipException: duplicate entry: com/nineoldandroids/animation/Animator$AnimatorListener.class问题解决 这个问题是由于添加的第三方项目依赖中,有多个项目同时依赖了nineoldandroids这个动画库的原因,多出现在as用项目构建工具gradle构建项目的时候。原创 2016-06-12 22:08:51 · 5244 阅读 · 0 评论 -
利用WindowManager生成悬浮按钮及悬浮菜单
简介本文模仿实现的是360手机卫士基础效果,同时后续会补充一些WindowManager的原理知识。 整体思路360手机卫士的内存球其实就是一个没有画面的应用程序,整个应用程序的主体是一个Service。我们的程序开始以后,启动一个service,同时关闭activity即可:public class MainActivity extends Activity { private stat原创 2017-01-21 16:59:10 · 1828 阅读 · 0 评论 -
安卓手势识别
现在智能手机基本都是触摸操作,点击按钮是一种交互方式,同时手势相关的操作,比如滑动等等同样是很重要的交互方式。这篇文章是对安卓手势交互相关知识点的整理和总结,主要来源基于官方文档。触摸交互中的概念常用事件首先要了解一些常用的事件: ACTION_DOWN:第一个手指按下 ACTION_UP:第一个手指抬起 ACTION_POINTER_DOWN:第二、三、四等等手指按下 ACTION_POI原创 2017-01-16 16:35:13 · 472 阅读 · 0 评论 -
AndroidStudio编写JNI程序
这会是一个个人调研及尝试的整理。因为公司在用eclipse+cdt编写jni,本人实在用惯了as,所以总结一些as编写jni的方法。AndroidStudio 中C或者C++代码出现各种错误经常as中会出现以下情况: 代码多出标红,没有自动提示,是不是很抓狂。这个问题,也困扰本人好久,今天居然又去查阅了下as官方文档,发现已经支持C++了啊,但是没有找到具体配置。于是自己各种点点点居然试出来了。其原创 2016-11-22 20:44:43 · 2281 阅读 · 3 评论 -
Android内存泄漏检测与MAT使用
内存泄漏基本概念内存检测这部分,相关的知识有JVM虚拟机垃圾收集机制,类加载机制,内存模型等。编写没有内存泄漏的程序,对提高程序稳定性,提高用户体验具有重要的意义。因此,学习java利用java编写程序的时候,要特别注意内存泄漏相关的问题。虽然JVM提供了自动垃圾回收机制,但是还是有很多情况会导致内存泄漏。 内存泄漏主要原因就是一个生命周期长的对象,持有了一个生命周期短的对象的引用。这样,会导致短原创 2016-12-21 16:49:50 · 2658 阅读 · 1 评论 -
Android Studio常用功能及快捷键
Live Template的功能蛮方便的功能,大体就是可以根据你经常输入的一段代码编辑一个模板,方便每次输入。设置位置: 比如这里我新建了一个fv,内容是(typetype)findViewById(R.id.idid); 然后设置语境,点击下面那行红字旁边的define,因为作为变量使用,所以选择如下: 然后点击右边的Edit variables,设置类型: 后面直接输入fv,就可以出现模板原创 2016-11-01 15:35:55 · 505 阅读 · 0 评论 -
安卓Service服务
安卓service服务intent service建立自己的intentservice类,继承intentservicepublic class MyIntentService extends IntentService {public MyIntentService() { super("MyIntentService"); }@Override protected void onHand原创 2016-03-23 17:34:37 · 574 阅读 · 0 评论 -
利用bind启动service
Service和组件通信扩展Binder类Binder是客户端和服务用来通信的接口,可以通过返回一个Binder实例,让客户端接收Binder对象并从中访问Service的公有方法。 创建Binder实例,并从Service中的onBind()方法返回该Binder实例,在客户端回调方法onServiceConnected()接收Binder。 服务和客户端之所以必须位于同一个应用程序中,原创 2016-03-25 21:03:56 · 1398 阅读 · 0 评论 -
android 利用AIDL实现Binder跨进程通信
AIDL整体流程 使用AIDL实现安卓跨进程通信的时候,主要分为3步骤: 声明AIDL接口文件,android sdk会根据aidl文件生成接口形式的java文件,服务端实现接口中的抽象类Stub,其中包含了我们声明的方法。并在onBind回调中作为Binder返回给客户端 客户端与服务端绑定,在回调函数onServiceConnected中获取Binder 利用Stub的asInterface方原创 2016-08-22 21:53:32 · 830 阅读 · 0 评论 -
RecyclerView 源码学习(二):一步一步自定义LayoutManager
前言这篇文章实现了一个简单的LayoutManager,重点在于从原理方面一步一步去了解如何自定义一个LayoutManager。麻雀虽小,但五脏俱全。从自定义LayoutManager的layout布局,到scroll滑动,再到添加简单的动画效果。 其实,自定义一个LayoutManager也没那么难。基本概念RecyclerLayoutManafger调用 getViewForPosition原创 2017-03-13 18:09:37 · 3357 阅读 · 0 评论