android
文章平均质量分 72
康力_
力学不知疲
展开
-
Android之自定义View实现随手势滑动的小圆球
一直以来觉得自己只是个菜鸟,虽然公司的项目能轻易的完成,但是总感觉缺少什么。大家似乎都认为android很简单,其实我认为只是初级android简单,若想深入研究它,其实也是很有看头的。看了任玉刚老师的博客明白了,若想进一步学习android,还是要学习自定义View的,要想做出自己想要的绚丽的View,还是要从底层做起,下一番狠功夫。俗话说的好,“欲练神功,必先**”,其实说得很有道理。原创 2016-10-22 14:20:50 · 3871 阅读 · 2 评论 -
学习之dagger2依赖注解
什么是Dagger2Dagger是为Android和Java平台提供的一个完全静态的,在编译时进行依赖注入的框架,原来是由Square公司维护,现在由Google维护。 我们知道Dagger是一个依赖注入的框架,那么什么是依赖注入呢?我们在activity中有可能会用到很多很多的类,这些类要在activity中进行实例化,这样就导致我们的activity非常依赖这么原创 2016-12-09 23:28:38 · 524 阅读 · 0 评论 -
Android之EventBus源码浅析
自EventBus问世后,带给众码农福利多多。不仅简而易用,而且代码简洁明了。虽然Activity之间以及fragment之间的消息通信可以使用很多方式实现,比如广播,接口回调,但是与EventBus相比起来,还是觉得后者更加犀利。 发动机虽好用,可是一旦出了问题一脸懵逼,所以起码也要稍微明白发动力是怎么工作的吧。所以我打开EventBus的源码,开始十目一行的阅读,慢慢的分析,发现了EventB原创 2017-05-26 14:40:28 · 394 阅读 · 2 评论 -
Android之Windows下反编译APK文件
反编译我们都知道,Android程序打完包之后得到的是一个APK文件,这个文件是可以直接安装到任何Android手机上的,我们反编译其实也就是对这个APK文件进行反编译。Android的反编译主要又分为两个部分,一个是对代码的反编译,一个是对资源的反编译,我们马上来逐个学习一下。 在开始学习之前,首先我们需要准备一个APK文件,为了尊重所有开发者,我就不拿任何一个市面上的软件来演示了,转载 2017-06-27 11:29:54 · 3503 阅读 · 2 评论 -
android之Retrofit2.0
什么是 Retrofit ?Retrofit是Square开发的一个Android和Java的REST客户端库。这个库非常简单并且具有很多特性,相比其他的网络库,更容易让初学者快速掌握。它可以处理GET、POST、PUT、DELETE…等请求,还可以使用picasso加载图片。常用注解Retrofit 2.0底层依赖OkHttp实现,也就是说Retrofit本质上就是对Ok转载 2017-10-26 09:46:32 · 493 阅读 · 0 评论 -
android之仿酒店预订日期选择UI界面
这是到哪儿旅行的酒店预订日期选择界面:这是自定义的日期选择界面,实现了区间,悬浮头效果:需要下载源码的可以到:https://github.com/qinkangli/CustomDatePicker.git原创 2017-10-24 10:02:56 · 4349 阅读 · 1 评论 -
Android之自定义语音音量调节器
public class CustomVolumeView extends View{ private static final int ITEM_HEIGHT_ADD = 5; private static final int ITEM_WIDTH_ADD = 5; private static final int WIDTH = 45; pri...原创 2018-10-11 10:32:42 · 836 阅读 · 0 评论 -
android之自定义定点标签
项目地址原创 2018-11-14 15:25:44 · 264 阅读 · 0 评论 -
Android之View分发流程的实验总结与记录
在实验开始之前,必须要先构建项目,编写基本的代码。public class MyButton extends Button { private static final String TAG = MyButton.class.getSimpleName(); public MyButton(Context context, AttributeSet attrs) { s原创 2017-03-31 13:32:49 · 383 阅读 · 0 评论 -
Android之AsyncTask的学习笔记
AsyncTask是轻量级的异步任务类,它可以在线程池中执行任务,然后把执行任务的进度和最终结果返回给主线程进行UI更新。从组成结构来讲,AsyncTask用到了Thread和Handler,通过AsyncTask可以更好的执行异步任务以及在主线程中访问UI。但是AsyncTask并不适合执行特别耗时的操作,对于特别耗时的操作,建议使用线程池。 AsyncTask是一个抽象泛型类,其提供原创 2017-04-09 13:38:32 · 355 阅读 · 0 评论 -
Android之通过socket.io实现长连接
在项目开发中,时常有服务端向客服端主动发起交流的需求,可以集成极光推送,但是如果网络不好的情况下,推送可能会迟迟收不到,这样就导致了用户体验得不到保证。 若改用socket实现长连接的话,速度就快很多了。客户端的demo可以参考如下: https://github.com/qinkangli/SocketDemo.git原创 2017-03-23 15:36:12 · 3869 阅读 · 0 评论 -
Android之解决用webView控件展示快递100查询物流出现错误的问题
用webView控件展示快递100查询物流,可能会查询不到,出现这样的网页:解决的方法是:public void loadWeb() { initDialog(getString(R.string.loding)); String url = "http://m.kuaidi100.com/index_all.html?type=yundakua原创 2016-04-16 11:09:06 · 2078 阅读 · 2 评论 -
Android之简单的实现透明状态栏
今天学习了让界面实现透明状态栏效果,俗称沉侵式状态栏。然后决定写成笔记,记录下学习脚印。 以下效果就是今天要实现的:原创 2016-10-19 15:55:32 · 493 阅读 · 1 评论 -
android之dagger2+rxjava+retrofit2+mvp架构的结合
dagger2的优势 省去无谓的体力劳动,增加开发效率,代码解耦rxjava的优势 尽管项目里的逻辑不断的变为复杂,但是rxjava异步代码依然简洁易懂。 retrofit2的优势 简洁功能却强劲,自定义GSON解析,添加拦截器等mvp的优势 结构清晰,代码解耦,维护性较高 四个相结合,组成项目的优美整体架构原创 2017-02-10 10:01:00 · 924 阅读 · 1 评论 -
一个2年安卓开发者的一些忠告
我仍记得2014年我决定做安卓开发的那天,这是我一生中做出的最好决定之一。到现在已经有2年半了,最初的时候,并没有人告诉我如何做才是正确的。我犯了很多错误,浪费了很多时间。一年半之后,我有机会和一个真正有才而且经验丰富的安卓开发者一起工作,他指导我,教我正确的做事方式。这期间我学到了很多东西,学会了该做什么不该做什么。我直接或者间接帮助其它开发者也有很长一段时间了。转载 2017-02-10 16:41:44 · 353 阅读 · 0 评论 -
《Android 开发工程师面试指南》
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0719/4507.html原创 2017-02-10 16:45:37 · 299 阅读 · 0 评论 -
Android Animations动画使用详解
一、动画类型Android的animation由四种类型组成:alpha、scale、translate、rotateXML配置文件中alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转原创 2017-03-21 15:48:45 · 362 阅读 · 0 评论 -
Android之最清晰的通过AIDL实现Service跨进程通信
将一个普通的Service转换成远程Service其实非常简单,只需要在注册Service的时候将它的android:process属性指定成:remote就可以了,代码如下所示:[html] view plain copyxml version="1.0" encoding="utf-8"?> manifest xmlns:android="转载 2017-03-23 15:02:45 · 505 阅读 · 0 评论 -
Android之最清晰的Service详解
Service的基本用法关于Service最基本的用法自然就是如何启动一个Service了,启动Service的方法和启动Activity很类似,都需要借助Intent来实现,下面我们就通过一个具体的例子来看一下。新建一个Android项目,项目名就叫ServiceTest,这里我选择使用4.0的API。然后新建一个MyService继承自S转载 2017-03-23 14:36:44 · 306 阅读 · 0 评论 -
Manifest merger failed with multiple errors, see logs
Error:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed with multiple errors, see logs上面的error日志,其实它说的很清楚,原因是导入的库在build.gradle中的minSdkVersion与你的应用的minSdkVersion不匹...原创 2019-01-08 21:29:48 · 1564 阅读 · 0 评论