Android基础
文章平均质量分 84
Android开发基础知识,如四大组件的使用及生命周期,还有自己遇到的一些问题,新控件的使用及流行框架解析等等。
宿罪
人没有梦想和咸鱼有什么区别,有梦就要去追,不为失败找借口,只为成功找方法。
展开
-
Android自定义RecyclerView分割线,打造无边缘分割线
前言: 现在的RecyclerView几乎已经完全取代ListView和GridView了,已经几年没使用ListView和GridView了,想当年还需要自己在getView方法中复用convertView。而现在的RecyclerView一出生就被设计成convertView复用的,尽管你不想复用(才怪)。RecyclerView功能如此强大的同时就会面临许多需求,如给RecyclerVi...原创 2018-05-02 22:01:58 · 4024 阅读 · 1 评论 -
Android视图动画浅析
视图动画 视图动画共有四种,分别为透明度,旋转,平移,缩放动画,如同名字所说一样,它是一种视图上的动画,改变的只是视觉上的效果,实际上View的属性如位置,大小,透明度等并没有受到动画的影响。下面将演示四种视图动画的代码及xml定义使用。代码定义:public void alpha(View v){ AlphaAnimation alphaAnimation = new AlphaAnima原创 2017-09-19 18:54:44 · 988 阅读 · 0 评论 -
Android使用ViewDragHelper实现侧滑菜单(一)
前言 对于处理View的滑动,除了Android实现滑动的几种方式写到的四种外,Android v4包中还提供了一个ViewDragHelper类来帮助我们更加方便地处理滑动事件,ViewDragHelper使得View与View之间的滑动交互更加简单方便。不过在学习ViewDragHelper处理滑动事件前需要掌握View的事件处理机制,可以参考:Android事件的分发与拦截机制。ViewDra原创 2017-09-16 09:56:48 · 1510 阅读 · 1 评论 -
Android实现滑动的几种方式
前言 View的滑动对于View交互性及效果有很大影响,我们可以通过5种方式来实现View的滑动,准确地说是View位置的改变。要改变View的位置,首先我们需要了解Android的坐标系,因为View的是通过坐标来定位的。绝对坐标系 Android系统中,屏幕的最左上角为坐标原点,如下图所示。屏幕最左上角的点为坐标原点,向右向下分别为x轴和y轴视图坐标系 视图坐标系是在View的层级体系中使用到的原创 2017-09-14 15:24:24 · 6257 阅读 · 0 评论 -
Android事件的分发与拦截机制
前言 Android为我们提供了丰富的View及ViewGroup控件,使得我们可以轻松的地完成Android应用界面的绘制,同时还可以自定义精美的View控件。绘制一个界面往往需要众多的View及ViewGroup不断嵌套,由于View可能需要与用户交互,如Button响应用户的点击,EditText响应用户的输入,而ViewGroup也可以响应事件,当多个ViewGroup和View嵌套的时候就原创 2017-09-11 16:00:47 · 2011 阅读 · 0 评论 -
Android N 多窗口模式
前言 在智能手机更新换代越来越快,手机屏幕越来越大,手机可以做的事情越来越多,人们已经离不开智能手机了,甚至有的人开始在用手机办公了。在大屏幕手机上,如果一个手机可以一边播放视频,一边上着网,那种体验是非常爽的。终于,在Android 7.0(N)(API 24)引入了多窗口(Android N 的 Nexus Player还有画中画)的支持,也就是分屏显示,可以是上下排列,也可以是左右排列,可以在原创 2017-09-01 16:47:59 · 2065 阅读 · 1 评论 -
Android运行时权限
前言: Android 6.0(api23)引入了运行时权限,它允许应用程序在运行的时候请求权限而不像5.1及更低版本一样在安装的时候请求权限。这样一来,需要请求危险权限(涉及到用户隐私…)的应用在安装的时候就不需要请求权限了,而5.1以前如果安装的时候请求的权限没有通过的话应用就安装不了。同时,这种运行时权限可以由用户随时在设置->应用信息中开启或关闭某项权限,即使某个应用刚才还拥有读取联系人的权原创 2017-08-30 19:09:57 · 798 阅读 · 0 评论 -
浅谈BroadcastReceiver
前言: 广播作为Android四大组件之一,类似于现实生活中的广播,经常用来传递及处理消息,有时候我们的应用程序需要在特定的情况下执行不同的逻辑,如系统开机,网络状态的变化,电源电量的变化…,这些都需要通过广播来实现。不仅如此,有时候我们还需要为我们的程序自定义广播,实现相应的逻辑功能。广播分为标准广播,有序广播,注册又有动态注册及静态注册,按作用域也有全局广播及本地广播。1、广播的静态注册与动态注原创 2017-08-29 21:06:09 · 484 阅读 · 0 评论 -
Android百分比布局库
前言: Android在6.0(api23)引入了百分比布局库,这个库以support包的形式供我们使用。以前的那几种布局中要实现等比分割布局只有LinearLayout的layout_weight属性可以轻松实现,现在不同了,有了这个百分比布局库我们可以更加方便灵活地百分比分割我们的布局,从而使得我们的界面编写更加方便。Android百分比布局库中提供了PercentFrameLayout和Per原创 2017-08-29 19:42:27 · 1213 阅读 · 0 评论 -
Activity的四种启动模式
前言: Activity为什么会有启动模式? 我们可以想想Activity作为Android四大组件中使用最多的一个,经常需要使用Activity将界面显示给用户,这也就设计到了Activity的频繁创建新的Activity(切换Activity)或是已经启动的Activity再次启动(切换回来)。尽管Activity有完整的生命周期回调,但系统又是通过什么来管理众多的Activity的呢?答案是A原创 2017-08-26 16:25:14 · 540 阅读 · 0 评论 -
Activity之间数据相互传递
不同的Activity之间可以相互传递数据,针对以下两种情况可以有两种方法传递数据,相同的地方都是通过Intent进行数据的传递。1、前后Activity的数据传递前一个Activity(A)启动后一个Activity(B)可以在intent中通过putXXX方法添加相应的数据,B则可以通过getIntent方法来得到这个intent,从而取得数据。而当B要向A传递数据的时候就需要通过Ac原创 2017-08-25 17:43:22 · 3940 阅读 · 0 评论 -
Android异步更新UI的几种方法
前言:我们知道在android开发中不能在非ui线程的其他线程中更新ui,但是,有的时候我们需要在代码中执行一些诸如访问网络、查询数据库等耗时操作,为了不阻塞ui线程,我们时常会开启一个新的线程(工作线程)来执行这些耗时操作,然后我们可能需要将查询到的数据渲染到ui组件上,那么这个时候我们就需要考虑异步更新ui的问题了。android中有下列几种异步更新ui的解决办法:Activity.runOn原创 2016-04-26 12:37:54 · 12674 阅读 · 3 评论 -
Android绑定Service(含IPC)
前言:四大组件中的service是其中除了activity之外用得最多的可能就是它了,当然,其他两个组件有它们自己的应用场合,这个在每个应用中使用情况可能不同,需要根据应用的需要选择使用相应的组件来完成任务。这篇文章将介绍如何绑定一个服务Service,使得客户端和Service进行通讯。一、绑定Service 要定义一个自己的服务允许客户端绑定,需要继承系统的Service基类,然后必须重写onB原创 2016-03-11 20:58:59 · 2316 阅读 · 0 评论 -
Android开源项目EventBus3.0的使用
前言:相比于大牛,自己只能算是个菜菜菜鸟,所以这篇文章不敢说是什么讲解EventBus的使用,但可以算是自己使用EventBus的笔记吧,因为自己在一开始如果不看一些教程自然也不知道怎么使用它,所以在记录自己的使用笔记时肯定参考了一些大牛,前辈的文章教程或是度娘,谷哥。不过,在看了一些别人写的文章教程后自然会有些困惑,或是由于自己的理解能力有限,或是自己个人有强迫症和对文章抱有质疑态度,或是因为别人原创 2016-02-24 14:02:58 · 4893 阅读 · 0 评论 -
JSON解析高手
前三篇博客分别介绍了xml的三种解析方法,分别是SAX,DOM,PULL解析XML,兴趣的朋友可以去看一下这【XML解析(一)】SAX解析XML,【XML解析(二)】DOM解析XML,【XML解析(三)】PULL解析XML三篇文章学习一下XML解析。我们知道客户端请求服务器,服务器给我们返回的数据通常不只是xml,还可以是json,html,当然json和xml是用的最多的了,下篇文章将会向大家解析原创 2015-12-07 12:47:20 · 18032 阅读 · 0 评论 -
XML解析(三),PULL解析XML
昨天写了【XML解析(一)】SAX解析XML 和【XML解析(二)】DOM解析XML两篇文章,有兴趣的朋友可以去看一下,今天我们来学习一下PULL解析XML,刚好可以跟SAX和DOC解析XML的两种方式对比学习,其实Android里面解析XML最常用的也就这三种,而这三种并不一定拘泥于Android开发,同样也可以用在J2EE开发中,下面我们进入本篇文章的学习。一、概述 PULL?,拉?,肯定不是什原创 2015-12-06 08:52:55 · 10260 阅读 · 0 评论 -
XML解析(二),DOM解析XML
上篇文章向大家介绍了SAX解析XML,为了这篇文章理解起来更加方便,所以还没看过SAX解析XML文章的,请戳这【XML解析(一)】SAX解析XML ,这次给大家带来XML解析系列之DOM解析XML一、概述 DOM,擦,这什么鬼,肯定又是什么东西的简称了,没错,DOM是Document Object Model的简称,翻译过来就是文档对象模型,是W3C组织推荐的处理可扩展标志语言的标准编程接口,它以原创 2015-12-05 13:56:24 · 10425 阅读 · 0 评论 -
XML解析(一),SAX解析XML
一、概述 SAX,全称Simple API for XML,是一种以事件驱动的XMl API,是XML解析的一种新的替代方法,解析XML常用的还有DOC解析,PULL解析(Android特有),SAX与DOC不同的是它边扫描边解析,自顶向下依次解析,由于边扫描边解析,所以它解析XML具有速度快,占用内存少的优点,对于Android等CPU资源宝贵的移动平台来说是一个巨大的优势。SAX的优点:解析速原创 2015-12-05 09:38:59 · 29686 阅读 · 1 评论 -
Android基础之ADB常用命令
adb常用命令 需要配置platform-tools和tools目录路径到path环境变量 cmd输入sysdom.cpl快速打开系统属性,找到环境变量设置 环境变量配置方法: 直接将platform-tools和tools的目录路径添加到path环境变量后面 新建platform-tools和tools的系统变量或者用户变量,值分别为platform-tools全路径和原创 2015-11-06 21:37:49 · 1439 阅读 · 0 评论 -
给listView添加headView或footView不显示的问题
问题描述今天发现使用listView的一个问题,当我们给listView添加headView或footView的时候,如果我们没给listView设置adapter或者给listView设置的空的adapter即setAdapter(null),这个时候listView不会显示我们设置的headView或者footView原因:谷歌api文档说在调用addHeaderView或addFooterV原创 2015-08-29 21:10:54 · 4129 阅读 · 0 评论 -
Android面向holder编程,再度封装代码
概述 在我们实际开发过程中,当我们软件的功能做得多的时候,这个时候我们的代码量也就越来越大了,如果我们不把代码进行封装,不仅让我们开发的时候变得困难,而且不利于维护,特别是团队开发的时候,如果我们一个Activity就几百行,当然几百行也算是少的了,甚至可能上千行。这个时候如果让你看几千行的代码,你是不是觉得好费劲呢,而且开发起来也变得困难了。面向holder编程思想其实很简单,就是简单的把一原创 2015-08-27 14:34:03 · 3992 阅读 · 0 评论 -
Android开发之用户头像上传
一,概述 本篇博客总结一下自己在开发过程中应用到的一些知识,在本篇博客中带领大家完成用户头像选择或者拍照上传,并对图片进行大小的压缩,和形状的控制,可以将用户选择到的图片裁剪成圆形上传。ok,我们开始写一个小的demo,完成用户圆形头像的选取,在写即将实现的效果之前我们看一下即将要实现的效果图二,实现代码activity_main.xml<LinearLayout xmlns:android=原创 2015-08-27 10:44:36 · 30660 阅读 · 55 评论 -
【Android基础】Activity及其生命周期
一、Activity使用概要1. Activity概述 Activity是android四大组件中使用最多的,通常也是我们新手接触的第一个组件。Activity是android提供的一个组件,主要用于提供一个界面(窗口)与用户交互,比如:打电话,发邮件,显示地图等等,这些我们在屏幕上看到的界面都是由Activity这个组件所提供的,所以Activity就像一个视图(View)。每个Activity都原创 2015-08-26 21:28:55 · 1117 阅读 · 0 评论