
Android简易实战教程系列
文章平均质量分 85
和以往专栏不同,此专栏只写实例。每个实例对应某一章节的内容,循序渐进。且次专栏会一直更新下去。每一篇的题目开头命名为:Android简易实战教程--第n话(*********)
杨道龙
南京邮电大学硕士,某大厂Android开发,软件开发狂热爱好者,热爱分享知识,优快云博客认证专家。在优快云原创文章300多篇。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android简易实战教程--第五十四话《视差特效》
第五十四话原创 2017-10-26 11:19:12 · 1485 阅读 · 0 评论 -
Android简易实战教程--第五十三话《多彩波浪》
今天带来一篇自定义View的小案例,点击屏幕随机生成五颜六色的波浪效果。逻辑十分简单,Demo挺有趣,直接代码分享在下面:public class MyWaveView extends View { List waveList = new ArrayList(); List currentList = new ArrayList(); private int alpha; int[原创 2017-02-03 15:32:33 · 880 阅读 · 6 评论 -
Android简易实战教程--第五十二话《满屏拖动的控件2》
之前就有写过这种小Demo,那里是使用setLayoutParams给控件设置新坐标的方式完成的,有兴趣读者可以参考博客:Android简易实战教程--第四十九话《满屏拖动的控件》本篇小Demo,使用另一种实现方式同样完成类似的功能。在开始之前,你需要复习一下有关坐标的知识:int getLeft() 得到当前视图左顶点相对父视图的X轴坐标int getTop() 得到当前视图左顶点相对父视图的Y原创 2017-01-22 11:50:25 · 708 阅读 · 0 评论 -
Android简易实战教程--第五十一话《使用Handler实现增加、减少、暂停计数》
转载博客请注明出处:之前,写过一篇使用异步任务AysncTask实现倒计时的小案例,喜欢的话可以参考博客:Android简易实战教程--第三十三话《 AsyncTask异步倒计时》。本篇在此基础上,使用Handler实现一些顺序计数以及倒叙计数。本篇小案例基本涵盖Handler使用场景还值得推敲哒~ 喜欢的朋友可以关注本专栏,专栏会持续更新下去,而且文章会越来越标准化。案例简单,轻松阅读。博客只原创 2017-01-03 20:38:38 · 1345 阅读 · 0 评论 -
Android简易实战教程--第五十话《动画扫描》
祝新年快乐!2017(一起)前行。本篇简答的小案例,使用动画知识,完成一个类似雷达扫描效果,并且加入自定义进度条。对于自定义进度条前面有很详细的解析和案例了,本篇就结合动画知识串起来,并且再加入之前写过的AsynckTask知识。读者朋友也可以阅读之前两篇小案例,读者可以参考:Android简易实战教程--第三十三话《 AsyncTask异步倒计时》原创 2017-01-02 16:25:04 · 2818 阅读 · 8 评论 -
Android简易实战教程--第四十九话《满屏拖动的控件》
今天做个有意思的效果吧,控件的拖拽,简单实用,逻辑清晰点3分钟看完。说的很高大上,其实就是拖动Button按钮跟着鼠标位置满手机屏幕跑罢了。直接上简单的代码吧:public class MainActivity extends Activity implements View.OnTouchListener { private Button mButton; private Vie原创 2016-12-20 20:06:16 · 1242 阅读 · 0 评论 -
Android简易实战教程--第四十八话《Android - Timer、TimerTask和Handler实现倒计时》
之前本专栏文章中的小案例有写到:第三十九话《Chronometer实现倒计时》 以及使用异步实现倒计时:第三十三话《 AsyncTask异步倒计时》 本篇文章结合Timer、TimerTask和Handler来实现相同的功能。下面介绍一下Handler及其主要用法: 在android中提供了一种异步回调机制Handler,利用它我们可以在完成任务后做出相应的通知。 handler基本使用: 在主线原创 2016-12-18 13:23:27 · 1847 阅读 · 0 评论 -
Android简易实战教程--第四十七话《使用OKhttp回调方式获取网络信息》
在之前的小案例中写过一篇使用HttpUrlConnection获取网络数据的例子。在OKhttp盛行的时代,当然要学会怎么使用它,本篇就对其基本使用做一个介绍,然后再使用它的接口回调的方式获取相同的数据。因为它封装的很好了,并不需要我们去做封装,只需要写少量的代码就可以获取到复杂的网络数据了。一、OKhttp的最基本使用。还是直接使用代码来说话:1、添加依赖:Github网址:https://gi原创 2016-12-13 09:40:14 · 1287 阅读 · 0 评论 -
Android简易实战教程--第四十六话《RecyclerView竖向和横向滚动》
Android5.X后,引入了RecyclerView,这个控件使用起来非常的方便,不但可以完成listView的效果,而且还可以实现ListView无法实现的效果。当然,在新能方便也做了大大的提高。本篇 第四十六话 案例,就使用这个控件,完成竖向和横向加载数据。我们直接上代码,在每一步后都简要分析一下功能:一、实现竖向滚动1、定义一个实体类:package com.ity原创 2016-12-07 23:38:46 · 1946 阅读 · 0 评论 -
Android简易实战教程--第四十五话《几种对话框》
Android中提供了各种原生的对话框,在使用简单的功能的时候,还不比考虑自定义,使用原生的也能完成功能。本篇简单小案例就介绍三种对话框。还是直接上代码吧:布局中三个点击事件的按钮:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schema原创 2016-11-27 18:44:25 · 737 阅读 · 0 评论 -
Android简易实战教程--第四十四话《ScrollView和HorizontalScrollView简单使用》
一、ScrollView由于手机屏幕的高度有限,当普通布局放不下现实和的内容时,ScrollView视图(滚动视图)就会派上用场,因为数据可以往下滚动显示。二、HorizontalScrollView 看名称就清楚,当想在水平方向想放置更多的空间,屏幕宽度放不下的时候,它就派上用场了。因为用法非常简单,跟ScrollView一样只不过是个父容器,所以我结合上面的案例,把Ho原创 2016-11-17 21:46:36 · 752 阅读 · 0 评论 -
Android简易实战教程--第四十三话《上拉加载与下拉刷新》
ListView的下拉刷新很常见,很多开源的框架都能做到这个效果,当然也可以自己去实现。本篇案例是基于xlistview的。布局:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"原创 2016-11-15 13:29:19 · 839 阅读 · 0 评论 -
Android简易实战教程--第四十二话《Spinner下拉级联效果》
本篇承接第四十话第四十话《Spinner》参考博客:http://blog.youkuaiyun.com/yayun0516进入正题:Strings加入第一级数据: 水果 职位 动物 来个布局: <LinearLayout xmlns:android="http://schemas.androi原创 2016-11-12 23:17:47 · 985 阅读 · 0 评论 -
Android简易实战教程--第四十一话《vitamio网络收音机》
在Android初级教程专栏里面,介绍了Android原生的VideoView和vitamio框架。并演示了播放网络视频的对应的Demo,本篇以小案例的方式,使用vitamio完成播放网络的收音机频道。集成vitamio过程如下(回忆):ViewView的集成过程:下载lib包.demo:https://github.com/yixia/VitamioBundle新建工原创 2016-11-12 20:58:24 · 2278 阅读 · 0 评论 -
Android简易实战教程--第四十话《Spinner》
对于Spinner控件的介绍和使用方法,可以先看之前写过的一篇博客:Spinner控件详解本篇就基于这个知识点完成一个简单的小案例:根据介绍,先写一个布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"原创 2016-11-09 22:31:22 · 968 阅读 · 0 评论 -
Android简易实战教程--第三十九话《Chronometer实现倒计时》
Android提供了实现按照秒计时的API,今天就是用这个API实现简单的倒计时。来个布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_paren原创 2016-11-07 23:21:03 · 3268 阅读 · 3 评论 -
Android简易实战教程--第三十九话《简单的模糊查询》
今天这一篇小案例模拟模糊查询,即输入一个字符,显示手机对应的所有存在该字符的路径。布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_paren原创 2016-11-05 08:37:51 · 1067 阅读 · 0 评论 -
Android简易实战教程--第三十八话《自定义通知NotifiCation》
上一篇小案例,完成了一个普通的通知,点击通知启动了一个活动。但是那里的通知没有加入些“靓点”,这一篇就给它加入自定义的布局,完成自定义的通知。应用:比如QQ音乐为例,当点击音乐播放的时候,手机屏幕上方就会展示播放音乐的通知,这个通知不仅仅拥有布局,而且响应点击事件,能完成上一曲下一曲的切换。今天这个小案例,就以此为背景展开。首先,主活动布局不需要改变,还是放置两个按钮用于开启、关闭服务。原创 2016-10-28 21:51:31 · 902 阅读 · 3 评论 -
Android简易实战教程--第三十七话《NotifiCation》
通知的使用,无疑是Android系统的亮点之一;就连IOS在5.0开始也引入了类似通知的技巧。可见它的实用性。今天这个小案例,就学习一下通知的基本使用,API是使用最新的API,4.3以前创建通知的API已经过时。首先定义个布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xm原创 2016-10-28 19:45:00 · 869 阅读 · 0 评论 -
Android简易实战教程--第三十六话《电话录音》
今天完成一个简单的电话录音功能,即接通电话后,立即录下自己打电话的声音。实现起来比较简单:一个服务,一个TelephonyManager、一个MediaRecorder就够了。1、布局提供一个开启录音服务的按钮。2、服务里面代码如下:(代码详细解释都在里面了)package com.itydl.recorder;import android.app.Service;import原创 2016-10-26 08:27:21 · 816 阅读 · 0 评论 -
Android简易实战教程--第三十五话《音乐播放》
已经好几天不更新博客了,今天就轻松一点模拟个简单的“音乐播放器”。原创 2016-10-24 23:02:51 · 1057 阅读 · 0 评论 -
Android简易实战教程--第三十四话《 自定义SeekBar以及里面的一些小知识》
许多应用可能需要加入进度,例如下载、播放视频、音频、读取数据库等等,都需要一个等待状态的进度条。原生的进度条的确不美观,今天这篇小案例,就让咱们的进度条“靓起来”。首先来看一个小案例,我们部队seekbae做样式修改,使用默认的效果。定义一个布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi原创 2016-10-18 18:08:09 · 1169 阅读 · 0 评论 -
Android简易实战教程--第三十三话《 AsyncTask异步倒计时》
本篇小案例,完成一个倒计时。方式选择AsyncTask。代码贴在下面:布局文件soeasy:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="原创 2016-10-12 09:30:47 · 1738 阅读 · 0 评论 -
Android简易实战教程--第三十二话《使用Lrucache和NetworkImageView加载图片》
本博客是所用vooley框架完成的一个小案例,如果想详细学习该框架的使用。可以关注本人专栏《Android进阶》下的volley框架详解使用。好了,看到这里说明,你对该框架使用应该算是入门了,那就开始实战之旅吧!首先,定义一个布局,只用一个ListView就好了了。然后,自定义一个adapter适配器package com.leslie.volleylistviewdemo;i原创 2016-10-11 20:37:17 · 997 阅读 · 0 评论 -
Android简易实战教程--第三十一话《自定义土司》
最近有点忙,好几天不更新博客了。今天就简单点,完成自定义土司。主布局文件代码:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match原创 2016-09-24 22:13:53 · 1446 阅读 · 0 评论 -
Android简易实战教程--第二十九话《创建图片副本》
承接第二十八话加载大图片,本篇介绍如何创建一个图片的副本。安卓中加载的原图是无法对其修改的,因为默认权限是只读的。但是通过创建副本,就可以对其做一些修改,绘制等了。首先创建一个简单的布局。一个放原图,一个放副本copy<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:原创 2016-09-10 22:58:15 · 892 阅读 · 0 评论 -
Android简易实战教程--第二十八话《加载大图片》
Android系统以ARGB表示每个像素,所以每个像素占用4个字节,很容易内存溢出。假设手机内存比较小,而要去加载一张像素很高的图片的时候,就会因为内存不足导致崩溃。这种异常是无法捕获的内存不足并不是说图片的大小决定的,最主要的因素是像素问题。因此加载大图片就要设置相应的缩放比例。* 计算机把图片所有像素信息全部解析出来,保存至内存* Android保存图片像素信息,是用ARGB保原创 2016-09-07 08:49:05 · 785 阅读 · 0 评论 -
Android简易实战教程--第二十六话《网络图片查看器在本地缓存》
本篇接第二十五话 点击打开链接 http://blog.youkuaiyun.com/qq_32059827/article/details/52389856上一篇已经把王略中的图片获取到了。生活中有这么些场景:微信联网打开别人照片后,当手机断网的时候再去点击人家的额图片还能完整看到。这时候,已经不是去网路中获取图片了,其实微信在获取网络图片同时把图片在本地做咯额个缓存,这也是微信生成垃圾文原创 2016-09-03 23:51:55 · 694 阅读 · 0 评论 -
Android简易实战教程--第二十五话《网络图片查看器》
访问网络已经有了很成熟的框架。这一篇只是介绍一下HttpURLConnection的简单用法,以及里面的”注意点”。这一篇可以复习或者学习HttpURLConnection、handler、以及Bitmap保存图片。需求:点击按钮,访问一张网络图片显示。布局很简单,只需要一个按钮一个ImagetView: <Button android:layout_width=原创 2016-08-31 23:07:51 · 979 阅读 · 0 评论 -
Android简易实战教程--第二十四话《画画板》
今天完成一个画画板。首先来个布局:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android原创 2016-08-29 23:17:16 · 987 阅读 · 0 评论 -
Android简易实战教程--第二十三话《绚丽的菜单项》
转载本博客请注明出处:今天这篇稍微增强点代码量,可能要多花上5分钟喽。本篇完成一个稍微显得绚丽的菜单项,模仿优酷选择菜单。如果想对其中的任意一项实现点击功能,自行加入即可。现在就一步一步做出这个小案例:在实现功能前,先看一下完成的结果,可能能对代码更好的理解。效果演示:PS:由于代码中做出了详细的解释,不再做过多的赘述。首先自定义组合控件布局原创 2016-08-26 13:35:45 · 1320 阅读 · 2 评论 -
Android简易实战教程--第二十二话《自定义组合控件模拟qq登录下拉框和其中的一些”小技巧”》
转载此文章请注明出处:首先,很荣幸此专栏能被优快云推荐到主页。荣幸的同时,也激励自己会把这个专栏一直更新下去。进入今天的主题:我们在qq登录的时候,会有一个下拉的按钮,来查看历史登录账号。这一篇就模拟这个效果,自定义组合框实现之。这里面会用到popupwindow,对于popupwindow的原始用法欢迎看之前的一篇文章,对弹出窗体做过介绍:点击打开链接今天不再使用那原创 2016-08-25 13:11:45 · 1537 阅读 · 0 评论 -
Android简易实战教程--第二十一话《内容观察者监听数据库变化》
当数据库的数据发生改变,我们又想知道具体改变的情况时,就需要对数据库的变化情况做一个监控。这个任务,就由内容观察者来完成。下面这个案例,为短信数据库注册内容观察者,来监控短信的变化情况,当短信数据库发生改变的时候,去做相应的业务处理即可(这里只是打印log)布局文件选择默认,因为用不到任何界面。看一下主活动中的代码:package com.itydl.contentobserver;原创 2016-08-22 14:56:10 · 1389 阅读 · 0 评论 -
Android简易实战教程--第二十话《通过广播接收者,对拨打电话外加ip号》
没睡着觉,起来更篇文章吧哈哈!首先祝贺李宗伟击败我丹,虽然我是支持我丹的,但是他也不容易哈哈,值得尊敬的人!切入正题:这一篇来介绍个自定义广播接收者。通常我们在外拨电话的时候,一般为使用网络电话。如果电话号码是某种类型的电话,会自动在前面加上ip号。从而节省费用。今天这一篇就模拟ip拨号。这个功能,是通过广播接收者来实现的。自定义广播接收者,“监听”外拨电话时候系统发出的广播(系统对我们注册的原创 2016-08-20 00:26:24 · 1147 阅读 · 0 评论 -
Android简易实战教程--第十九话《手把手教您监听EditText文本变化,实现抖动和震动的效果》
监听文本输入情况,仅仅限于土司略显low一点,这一篇就稍微“高大上”一点,体验一下滚动和震动。首先,需要两个文件。截图:两个文件的内容分别如下:cycle_7:<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="7" />s原创 2016-08-18 22:31:32 · 1264 阅读 · 0 评论 -
Android简易实战教程--第十八话《ListView显示,简单的适配器SimpleAdapter》
本篇介绍Listview的显示,对于listview有许多的适配器,如ArrayAdapter,BaseAdapter,SimpleAdapter等等。本篇先热身一下,介绍最简单的SimpleAdapter适配器。对于安卓界面的显示。首先在主界面布局文件main.xml加入如下代码:<RelativeLayout xmlns:android="http://schemas.androi原创 2016-08-17 18:18:48 · 916 阅读 · 0 评论 -
Android简易实战教程--第十七话《自定义彩色环形进度条》
转载请注明出处:在Android初级教程里面,介绍了shape用法的理论知识,再来完成这个小案例将会变得非常简单哦。(欢迎学习阅读):http://blog.youkuaiyun.com/qq_32059827/article/details/52203347 点击打开链接这一篇就针对这个知识点,完成一个自定义的彩色进度条。系统自带的环形进度条是黑白相间的,如果你不是色盲,肯定觉得那个原创 2016-08-14 13:02:59 · 1726 阅读 · 2 评论 -
Android简易实战教程--第十六话《SharedPreferences保存用户名和密码》
之前在Android简易实战教程--第七话《在内存中存储用户名和密码》那里是把用户名和密码保存到了内存中,这一篇把用户名和密码保存至SharedPreferences文件。为了引起误导,声明实际开发中不会用到这两种方式,这里指示提供一种思路和给初学者学习简单的api。由于内容和之前的基本一样,不做过多的解释。直接上代码:xml文件:<LinearLayout xmlns:a原创 2016-08-10 15:52:40 · 1161 阅读 · 0 评论 -
Android简易实战教程--第十五话《在外部存储中读写文件》
第七话里面介绍了在内部存储读写文件 点击打开链接。这样有一个比较打的问题,假设系统内存不够用,杀本应用无法执行,或者本应用被用户卸载重新安装后。以前保存的用户名和密码都不会得到回显。所以,有必要注意这个问题因此把文件保存到sd卡中。即今天所写的 第十五话《在外部存储中读写文件》 首先布局文件和第七话一样:<LinearLayout xmlns:android="http:原创 2016-08-07 19:12:27 · 903 阅读 · 0 评论 -
Android简易实战教程--第十四话《模仿金山助手创建桌面Widget小部件》
打开谷歌api,对widget小部件做如下说明:App Widgets are miniature application views that can be embedded in otherapplications(such as the Home screen) and receive periodic updates. These views arereferred to as Wid原创 2016-08-06 08:42:17 · 1117 阅读 · 0 评论