Android实战简易教程
文章平均质量分 86
Android实战简易教程,一步步由浅入深带你领略Android的魅力,适合初学者学习。
yayun0516
Android开发
展开
-
Android实战简易教程-第七十枪(自定义实用控制之-邮箱验证EditText)
我们自定义一款可以验证用户输入邮箱是否符合规范的EditText.1.布局文件:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="46dp" android原创 2015-10-29 11:40:14 · 2417 阅读 · 2 评论 -
Android实战简易教程-第六十九枪(自定义控件实现雪花飘落效果)
现在APP要求越来越高了,不只是要求实现功能,颜值的要求也越来越高,下面我们通过自定义控件来实现雪花飘落的效果,可以作为界面背景哦。1.自定义控件:package com.test.a;import java.util.Random;import android.content.Context;import android.content.res.Resources;import an原创 2015-10-29 11:03:07 · 3960 阅读 · 6 评论 -
Android实战简易教程-第六十八枪(android小工具appwidget之时间显示)
Android AppWidget开发不同于普通的android应用,因为AppWidget是运行在别的进程中的程序。其使用RemoteViews更新UI。一旦系统发生变更,很容易引起AppWidget的更新。其支持的组件有限,事件类型也很少。所以一般用于更新周期较长,事件比较简单的用于桌面显示的组件。其开发流程相对来说还是比较简单的。大致分为: 1:编写布局文件<TextView xmlns原创 2015-10-29 10:22:17 · 1867 阅读 · 4 评论 -
Android实战简易教程-第六十七枪(android动画实现窗口抖动效果)
在制作引用是我们可以引入android动画,让用户感觉到交互性更强,下面我们通过一个实例讲解一下如何使用android动画实现窗口的抖动效果。1.引入动画文件:<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@anim/cycle" > <trans原创 2015-10-29 09:34:04 · 2109 阅读 · 2 评论 -
Android实战简易教程-第六十六枪(结合SharedPreferenced实现自动登录功能)
我们使用的一般应用都有记住密码、自动登录功能,这样不用用户每次都要点击登录按钮,提升用户体验,下面我们通过一个实例研究一下如何通过android的sharedpreferenced实现自动登录功能。本实例有三个界面-登录界面,跳转界面,登录成功界面。1.登录界面:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/and原创 2015-10-28 18:19:11 · 2384 阅读 · 11 评论 -
Android实战简易教程-第六十五枪(自定义控件实现数字液晶时钟Demo)
下面我们研究一下如何实现一个数字液晶时钟,本质属于特效一种哈。首先创建一个布局文件: android:layout_width="match_parent" android:layout_height="match_parent" > android:id ="@+id/ledview_clock_time" android:layout_w原创 2015-10-14 10:46:24 · 2341 阅读 · 0 评论 -
Android实战简易教程-第六十四枪(Android APP 引导页实现-第一次应用进入时加载)
APP引导页是每个优质APP必备的元素,下面我们研究一下如何只在第一次进入应用时进行加载引导页的方法。1.判断是否第一次进入应用的方法:package com.yayun.guide; import android.app.Activity;import android.content.Context;import android.content.Intent;import androi原创 2015-10-10 10:10:05 · 3182 阅读 · 4 评论 -
Android实战简易教程-第六十三枪(动画实现唱片播放界面)
对于Android动画的使用,唱片播放是十分经典的一例,我们通过实现唱片播放效果来对Android动画进行学习,具有很高的趣味性和实用性。1.首先我们定义一下布局文件-pan_layout.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout原创 2015-10-08 11:02:23 · 2732 阅读 · 6 评论 -
Android实战简易教程-第六十二枪(电子Sensor精确罗盘)
这里我们利用手机自带的传感器实现一个简单的电子罗盘小实例,大家可以学习到SensorManager类、SensorEventListener 及其覆写方法的使用。首先我们创建一个布局文件:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill原创 2015-09-25 08:48:17 · 2803 阅读 · 2 评论 -
Android实战简易教程-第六十一枪(圆形显示的ImageView)
ImageView在我们的项目中经常使用,一般ImageView是正方形的,要使用圆形的ImageView可以通过自定义View来实现,下面我们介绍一下如何实现。1.CircularImageView.java 继承自ImageView:package com.yayun.circularimageview;import com.mikhaellopez.circularimageview.R原创 2015-09-21 16:44:34 · 2454 阅读 · 0 评论 -
Android实战简易教程-第六十枪(分享一个城市选择功能模块)
在做一些APP的时候可能会用到城市选择模块的功能,本实例可以提供位置自定定位和手动选择的功能,非常好用,大家可以修改后加入自己的项目中。首先看一下效果:1.进入有的手机可能会提示权限要求,这时我们选择允许。2.选择允许后进入:这个位置可以看到我们的城市已经通过GPS获取到了点击这个控件,城市获取完成了:下面我们看一下关键代码如何实现这个功能效果。1.MainActivity.java:packag原创 2015-09-18 17:14:52 · 2784 阅读 · 3 评论 -
Android实战简易教程-第五十九枪(EventBus小实例-传值、控制其他页控件显示)
页面之间的传值,有android基础的童鞋都会知道,可以通过Intent进行传值,但是动态控制另一个页面控件的显示恐怕这个就不好用了吧,下面我们介绍一个比较好用的框架-EventBus,通过实例介绍它的使用(要引入jar包才能使用EventBus,jar包在源码下载中)。一、介绍一下EventBus使用EventBus的步骤:1.新建一个类:作为消息类/** * */package com原创 2015-09-14 17:08:12 · 2218 阅读 · 3 评论 -
Android实战简易教程-第五十八枪(AlarmManager类用法研究小实例)
一、概念及相关方法android中实现定时任务一般有两种实现方式,一种是使用Java API中提供的Timer类,一种是使用android的Alarm机制。Timer机制有个短板就是不太适用于那些需要长期在后台运行的任务,我们都知道为了让电池更加耐用,会在长时间不操作手机的情况下,CPU进入休眠状态,这是可能导致Timer中的定时任务无法正确运行。所以我们重点来研究一下Alarm机制。AlarmM原创 2015-09-13 21:05:26 · 2215 阅读 · 0 评论 -
Android实战简易教程-第五十七枪(分享小米手电筒源码)
手电筒功能实现简单很实用,下面我们就来研究一下如何自制一款手电筒小程序,初学者可以通过实例了解原理,提高学习android技术的热情和动力。首先我们了解一下手电筒要调用哪些android权限:原创 2015-09-12 17:12:09 · 2844 阅读 · 1 评论 -
Android实战简易教程-第五十六枪(模拟美团客户端进度提示框)
用过美团客户端的朋友都知道,美团的加载等待提示很有意思,是一种动画的形式展现给我们,下面我们就对这背后的原理进行了解,然后实现自己的等待动画效果。首先我们准备两张图片:这两张图片看起来一模一样啊?细心的朋友会发现唯一不同的就在脚部,OK,我们就利用这两张图片的轮换播放实现动画效果,下面看一下代码:1.动画文件frame_meituan.xml:<animation-list xmlns:andr原创 2015-09-08 11:01:35 · 4473 阅读 · 18 评论 -
Android实战简易教程-第五十四枪(通过实现OnScrollListener接口实现下拉刷新功能)
上一篇文章Android实战简易教程-第五十三枪(通过实现OnScrollListener接口实现上拉加载更多功能)讲述了如何实现上拉加载更多的功能,本篇,我们在上一篇的基础上实现下拉刷新功能。主要通过对滚动状态和手势监听实现这一功能,下面我们看一下代码:1.header.xml:<LinearLayout xmlns:android="http://schemas.android.com/ap原创 2015-09-05 14:51:41 · 2566 阅读 · 6 评论 -
Android实战简易教程-第五十三枪(通过实现OnScrollListener接口实现上拉加载更多功能)
支持上拉加载更多的控件有很多,但是你知道背后的原理吗?有一些面试官可能会问到这方便的知识,他们认为会用不是目的,懂背后的原理才是真人才。下面我们通过实现OnScrollListener接口实现上拉加载更多的效果,这里用到了回调接口,你需要对回调进行比较好的理解,回调机制是Android中很重要的机制,下面我们看一下代码:1.定义一个footer.xml,用于下拉提示的效果:<LinearLayo原创 2015-09-04 20:59:51 · 3867 阅读 · 9 评论 -
Android实战简易教程-第五十二枪(Fragment和Activity之间通信)
Fragment的使用可以让我们的应用更灵活的适配各种型号的安卓设备,但是对于Fragment和Activity之间的通信,很多朋友应该比较陌生,下面我们就通过一个实例来看一看如何实现。一、Activity->Fragment传递数据1.main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2015-09-04 19:19:34 · 2741 阅读 · 6 评论 -
Android实战简易教程-第五十一枪(ListView实现子控件的动态显示和隐藏、checkbox全选和反选)
前段时间写过一篇文章:Android实战简易教程-第四十七枪(ListView多选-实现点餐系统)有的同学留言建议,可不可以动态控制checkbox的显示和全选反选功能,我研究了一下,发现实现也比较容易,特写下此篇文章。学习就是要有发散思维,要举一反三,大家也可以根据我的实例进行改编,添加和删除一些功能,这样可以提高你对知识的认知!下面我们看一下代码:1.main.xml:<RelativeLa原创 2015-09-04 09:50:29 · 4066 阅读 · 7 评论 -
Android实战简易教程-第五十枪(工具类的测试)
在开发中,为了提高开发效率,我们一般会自定义自己的工具类。为了保证项目的可靠性,在将工具类引入项目之前,我们一般都会对工具类进行单元测试,下面我们通过一个实例看一下如何搭建测试环境。1.首先自定义一个工具类,这里我们自定义了一个连接图灵机器人API的网络测试类:package com.yayun.chatrobot.utils;import java.io.ByteArrayOutpu原创 2015-09-02 20:45:00 · 2941 阅读 · 0 评论 -
Android实战简易教程-第四十九枪(两种方式实现网络图片异步加载)
加载图片属于比较耗时的工作,我们需要异步进行加载,异步加载有两种方式:1.通过AsyncTask类进行;2.通过Handler来实现,下面我们就来看一下如何通过这两种方式实现网络图片的异步加载。一、AsyncTask方式1.main.xml:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2015-09-01 16:38:08 · 2179 阅读 · 3 评论 -
Android实战简易教程-第四十八枪(App引导页面效果实现)
经常使用APP的童鞋会发现,第一次进入APP会有引导页面,里面可以放一些APP的使用介绍或其他信息等等,下面我们研究一下如何实现这个功能,增加APP的体验。一、自定义控件继承ViewGroup:package com.genius.scroll;import android.content.Context;import android.content.Intent;import andro原创 2015-08-29 20:51:38 · 1814 阅读 · 4 评论 -
Android实战简易教程-第四十七枪(ListView多选-实现点餐系统)
一般在外卖的选单中常常会用到ListView的多选,大家可以改进后加入自己的项目中。下面看一下代码:一、代码1.main.xml:(由一个ListView和一个Button组成)<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_paren原创 2015-08-29 17:47:29 · 5034 阅读 · 9 评论 -
Android实战简易教程-第四十六枪(自定义控件体验之罗盘)
前言作为一名有创新意思的开发人员,你迟早会发现内置的控件会满足不了你的想象力。拥有扩展已存在的视图、组建复合的控件以及创建独特的新视图能力,可以创建出最适合自己应用程序工作流的有优美用户界面,让用户得到最优的体验。创建新视图的最佳方法和希望达到的目标有关:1.如果现有控件已经可以满足希望实现的基本功能,那么只需对现有控件的外观或行为进行修改或扩展即可。通过重写事件处理程序和onDraw()方法。2原创 2015-08-25 20:43:25 · 2593 阅读 · 3 评论 -
Android实战简易教程-第四十五枪(SlideSwitch-好看又实用的开关按钮)
开关按钮也是在项目中经常用到的控件,github上有开源的项目,我们研究下它的使用方法:1.SlideButton.java:/* * Copyright (C) 2015 Quinn Chen * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file ex原创 2015-08-24 12:19:05 · 3330 阅读 · 0 评论 -
Android实战简易教程-第四十四枪(Ripple Effect-为控件增加涟漪效果)
最近发现了一款可以为控件增加涟漪效果的github项目,可以提升应用的逼格啊,大家不妨引入到自己的项目中。该项目本身是android studio下面编译,我改成了eclipse下可以运行的项目,下面我们来看一下具体的用法吧!1.RippleView.java:/* * The MIT License (MIT) * * Copyright (c) 2014 Robin Chutaux *原创 2015-08-23 22:34:49 · 5752 阅读 · 9 评论 -
Android实战简易教程-第四十三枪(Shell Script 运行Command)
android系统运行于Dalvik VM中,有着与Linux雷士的Shell Command指令,可通过Runtime().getRuntime().exec()来运行指令。下面我们就通过代码来实现这一功能,体验一下命令行。1.activity_main.xml:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/a原创 2015-08-22 22:12:01 · 1996 阅读 · 4 评论 -
Android实战简易教程-第四十二枪(github实用控件推荐BadgeView-图标左上角消息提示控件)
微信和QQ的左上角消息提示大家都十分有印象,有强迫症的童鞋总是忍不住的要点掉它,我们怎么将这样一个小功能引入到自己的项目中呢?github上有一款控件可以帮助我们实现这个功能,下面我们就看一下这个控件的使用吧。下面我们看一下自带的实例,分别介绍了普通控件和ListView控件中如何使用消息提示控件,首先我们看一下普通控件的使用。一、普通控件引入消息提示控件:/* * ViewsFragment.原创 2015-08-22 11:11:13 · 3742 阅读 · 3 评论 -
Android实战简易教程-第四十一枪(显示倒计时的Button-适用于获取验证码)
最近在做获取验证码的功能,考虑到优良的用户体验,决定制作一个拥有倒计时提示的Button按钮,在网上查了一些资料,很是简单的就能实现,我写了一个小Demo,大家可以应用到自己的项目中。1.activity_main.xml:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too原创 2015-08-20 14:35:22 · 1941 阅读 · 0 评论 -
Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自动填入功能结合实例)
用户注册或者找回密码时一般会用到短信验证功能,这里我们使用第三方的短信平台进行验证实例。我们用到第三方短信验证平台是Mob,地址为:http://mob.com/一、注册用户、获取SDK大家可以自行注册,得到APPKEY和APPSECRET,然后下载SDK,包的导入方式如截图:二、主要代码SMSSendForRegisterActivity.java:(获取验证码页)package com.qia原创 2015-08-19 17:09:22 · 3411 阅读 · 2 评论 -
Android实战简易教程-第三十七枪(ListView中点击button跳转到拨号界面实例)
最近讨论了一个项目需求,在ListView的Item中放置了一个类似电话的图标,点击图标可以将号码调到拨号界面。实现起来很是容易,原理也易懂,较为实用,项目中有需要的可以直接引入。 我模拟了一个简单的demo.代码如下: 1.ListAdapter.java:package com.example.listviewphone;import java.util.List;import androi原创 2015-08-16 19:54:02 · 2963 阅读 · 3 评论 -
Android实战简易教程-第三十八枪(模仿腾讯QQ的网络状态提示和设置功能实现)
项目里要用到一个网络状态判断的功能,想到了QQ的网络状态判断和设置功能,决定模仿一下。实现起来也很是容易,界面较丑,还望原谅。1.MainActivity.java:package com.example.networktest;import android.app.Activity;import android.content.ComponentName;import android.c原创 2015-08-17 11:54:59 · 2792 阅读 · 6 评论 -
Android实战简易教程-第三十六枪(监听短信-实现短信验证码自动填入)
一般用户喜欢用手机号作为用户名注册APP账号,这时一般都是通过手机验证码的方式进行验证,下面我们就研究一个非常实用的方法,通过监听短信-实现短信验证码的自动填入,提高用户体验。 首先我们看一下如何监听手机短信。一、获取短信全部内容1.新建一个SMSBroadcastReceiver:package com.example.messagecut;import java.text.SimpleDat原创 2015-08-16 09:32:44 · 5793 阅读 · 8 评论 -
Android实战简易教程-第三十五枪(将二维码扫描和生成Demo引入项目实例)
网上有很多关于二维码扫码和二维码生成的Demo,你可能不想透彻的了解它是如何实现的,但是你必须要知道如何引入到你的项目之中,我们研究一下如何将这些Demo引入到自己的项目之中。 我也写了一个Demo,看一下它的目录结构。 这些打红色箭头的部分都是必须要复制到你的项目之中的。引入到你的项目之后会有一些报错,你可以根据错误提示进行修改。 strings里面有一个字段要加入到你的项目之中原创 2015-08-14 17:24:01 · 2765 阅读 · 0 评论 -
Android实战简易教程-第三十四枪(基于ViewPager和FragmentPagerAdapter实现滑动通用Tab)
上一段时间写过一篇文章《基于ViewPager实现微信页面切换效果》 里面实现了类似微信Tab的页面,但是这种实现方法有个问题,就是以后所有的代码逻辑都必须在MainActivity中实现,这样就造成MainActivity文件非常臃肿,不利于代码管理。 下面我们基于ViewPager和FragmentPagerAdapter实现滑动通用Tab。 布局文件基本和上篇文章一致。 1.top.x原创 2015-08-13 11:27:30 · 2065 阅读 · 2 评论 -
Android实战简易教程-第三十三枪(自定义View实现控件晃动提示效果)
用户登录注册页面,在进行数据提交之前我们一般都要进行初步判断,判断用户是否输入内容,在内容为空时我们一般进行Toast提示,今天我们实现另一种提示效果–控件晃动。 接着上一节的自定义控件,我们看一下如何实现动画效果。 1.DeletableEditText.java:package com.example.testview;import android.content.Context;impo原创 2015-08-12 13:35:54 · 12019 阅读 · 13 评论 -
Android实战简易教程-第三十二枪(自定义View登录注册界面EditText-实现一键清空)
自定义View实现登录注册页面的EditText一键清空功能,效果如下: 输入框输入文字后自动出现一键清空键,输入框文字为空时,一键清空键隐藏,下面我们看一下如何通过自定义View实现这一效果。 看一下DeletableEditText.java:package com.example.testview;import android.content.Context;import andro原创 2015-08-11 22:20:26 · 4446 阅读 · 16 评论 -
Android实战简易教程-第三十一枪(基于加速度传感器的摇一摇功能实例)
下面我们来看一下微信摇一摇功能的模拟实现,我们是基于手机加速度传感器实现该功能,实现方法比较简单。 MainActivity.java:MainActivity.java:package com.location.activity;import android.app.Activity;import android.content.Context;import android.hardwar原创 2015-08-03 13:02:31 · 1523 阅读 · 0 评论 -
Android实战简易教程-第三十枪(实例解析Application的用法)
一、Application类Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息。Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类。通常我们是不需要指原创 2015-08-02 21:59:03 · 3548 阅读 · 2 评论 -
Android实战简易教程-第二十九枪(基于Face++实现年龄识别APP(一))
我们通过Face++提供的api和服务实现HowOld App的开发,首先我们实现图片的选择功能。1.main.xml:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id原创 2015-08-02 09:56:26 · 2523 阅读 · 0 评论