AIDL实现不同进程间的通信
引言:在互联网经济时代,支付宝可谓是普及到了大街小巷。就某个游戏应用来说,当我们需要用支付宝充值时,会发现程序自动去调用了支付宝提供的相关服务。如何做到呢?就要靠进程间通信来发挥作用了。Google工程师考虑到了这方面需求,为我们提供了专门的实现方法,接下来就去看看如何利用AIDL实现进程间的通信。
1. AIDL介绍 我们知道,Android中的每一个应用,都由自己的dvm进行单独管理。也就是说,Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。 为了使其他的应用程序也可以访问本应用程序提供的服务,A...
RecyclerView的Bug复现及源码分析
引言:在上一篇网络加载图片的博客中,遇到了一个比较奇怪的问题,特在此进行总结。
1.场景复现1.问题描述: 我们在使用RecyclerView加载子布局文件后,发现无论子视图的布局文件宽高设置为wrap_content还是match_parent,均以wrap_content进行显示,十分奇怪。
2.相关代码1.主视图布局文件main.xml1234567891011121314151617<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:andr...
分页刷新的网络图片资源加载
引言:在我们的日常开发中,网络图片资源的加载十分常见。优美的图片结合我们强大的功能,才能在性能和感官上带给用户双重的美好体验。然而,若是将资源图片全部下载到本地,又会使我们的apk十分庞大,令人望而却步。那么今天,就一起来通过两个优秀的开源库,实现一下网络图片的加载吧。
1.开源库介绍1.Picasso介绍 Picasso是由大名鼎鼎的Square公司开发的一款优秀的开源库,主要用于加载网络图片,是一款使用简单,功能强大的图片加载库。 Picasso有什么优势呢?主要有以下的几点: [1] 提供传入url获取网络图片的方法,使用便捷。 [2] ...
ViewPager实现循环轮播图
引言:以前利用自定义控件写过一次轮播图,十分的繁琐,既要监听用户手势的滑动操作,又需要根据点坐标处理图片的平移事件,还无法实现循环轮播的效果。今天通过ViewPager发现实现轮播效果十分的简单,接下来我们看看如何利用ViewPager来实现轮播图的效果。
1.利用ViewPager实现滑动切换效果 主布局中添加控件ViewPager:12345678910111213141516<RelativeLayout android:layout_width="match_parent" android:layout_height=...
TabLayout+ViewPager+Fragment实现仿微信界面
引言:在上一篇博客中,我们首次认识了Material Design,并通过它实现了侧滑菜单的效果,如果想要再温习一遍的话,可以点击这里。现在的日常生活中,微信已经成了我们聊天交友必不可少的工具,那么今天,我们就利用Material Design为我们提供的控件,实现一个仿微信的界面。
1.TabLayout的相关设置1.TabLayout的概念 TabLayout是Support Design库下的控件,它的主要作用是在我们的界面底部或者顶部实现一个可以滑动切换的标签指示器,一般会搭配ViewPager来完...
ToolBar+DrawerLayout+NavigationView实现滑动菜单效果
引言:Google新推出的界面设计语言–Material Design使得我们在针对android的界面UI开发上省力了不少,它涵盖了许许多多的优秀控件以及设计,本篇博客介绍了其中的几个控件组合实现滑动菜单栏的效果,下面就一起来看看吧。
1.ToolBar的相关设置1.ToolBar的概念 Toolbar是Material Design所建议使用的顶部导航栏控件,用以取代以前的ActionBar。相对于ActionBar而言,ToolBar在使用上更加的灵活,不仅可以实现与ActionBar...
Android高德地图开发
引言:本篇博客将主要描述Android Studio开发高德地图过程的前期,如何搭建好环境以及其中一些棘手的点,至于具体的详细过程,可参见高德官网的详细教程点击这里。好了,接下来就让我们进入到高德地图的开发中吧。
1.环境的搭建(Android Studio)1.key值获取 在高德地图官网注册好账号之后(这方面不用多说了吧>△<),接下来我们依次进入个人中心>应用管理>创建新应用,此时如下所示: 要成功的申请到所需要的Key值,我们需要去仔细的填写我所标记的这三点内容。那么,如何才能得到呢?
(1)(2)调试版及发布版...
ListView控件复用详解ListView是什么? ListView,即列表视图,是用来以垂直的方式在项目中显示相关数据项列表的控件。其主要分为了两个方面,一是子项Item的布局,还有一个就是数据填充的Adapter。其主要的应用领域就是使具有相同特征的多条Item以垂直列表的形式展现给用户,类似下图的样子:
ListView的控件复用 在我们对ListView设置Adapter后,需要去重写自定义Adapter的各个方法,其中getView()便是一个最常用要被复写的方法。按照一般的方式,我们需要在getView()方法中加载子项Item的布局,并利用构造器传进来的数据Li...
OpenGL ES实现3D星空背景旋转立方体
引言:在androi开发中,如果需要去实现某些3D绘制效果,那就不得不提到OpenGL ES,利用它我们可以较完美的完成多种3D图形的绘制操作,以及关于3D的动画效果实现。
本次的目标,是实现如下所示的3D绘制效果,怎么样去做呢?
OpenGL ES 简介OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,为针对手机、PDA和游戏主机等嵌入式设备而设计。Android包括支持高性能2d和3d图形以及开放图形库(OpenGL),具体来说,即OpenGL是一个跨...
Activity生命周期详解什么是Activity? 众所周知,Activity是android四大组件之首,在开发中要想在前台进程中与各个UI控件进行交互的话,就必然离不开Activity的使用,那么,先来看看在android官方文档中,是如何对Activity进行定义的。
官方说明如下:
An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of cre...