转载博客请注明出处:道龙的博客 之前,写过一篇使用异步任务AysncTask实现倒计时的小案例,喜欢的话可以参考博客:Android简易实战教程--第三十三话< AsyncTask异步倒计时>. 本篇在此基础上,使用Handler实现一些顺序计数以及倒叙计数.本篇小案例基本涵盖Handler使用场景还值得推敲哒~ 并作出提示 4. 点击"暂停" 上面的数值文本不再变化 接下来就跟着文章一步步的实现 一.初始时显示10,可以通过点击按钮改变其值,即"手动增加&quo…
祝新年快乐!2017(一起)前行. 转载博客请注明出处:道龙的博客 本篇简答的小案例,使用动画知识,完成一个类似雷达扫描效果,并且加入自定义进度条.对于自定义进度条前面有很详细的解析和案例了,本篇就结合动画知识串起来,并且再加入之前写过的AsynckTask知识. 读者朋友也可以阅读之前两篇小案例,读者可以参考:Android简易实战教程--第三十三话< AsyncTask异步倒计时> Android简易实战教程--第三十四话< 自定义SeekBar以及里面的一些小知识> 本篇源代…
最近有点忙,好几天不更新博客了.今天就简单点,完成自定义土司. 主布局文件代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height=&…
之前本专栏文章中的小案例有写到:第三十九话<Chronometer实现倒计时> 以及使用异步实现倒计时:第三十三话< AsyncTask异步倒计时> 本篇文章 结合Timer.TimerTask和Handler来实现相同的功能. 下面介绍一下Handler及其主要用法: 在android中提供了一种异步回调机制Handler,利用它我们可以在完成任务后做出相应的通知. handler基本使用: 在主线程中,使用handler很简单,new一个Handler对象然后实现其handle…
已经好几天不更新博客了,今天轻松一点模拟个简单的"音乐播放器".1分钟看完~ 整个简单布局,加几个控制按钮: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <Bu…
Android中提供了各种原生的对话框,在使用简单的功能的时候,还不比考虑自定义,使用原生的也能完成功能.本篇简单小案例就介绍三种对话框. 还是直接上代码吧: 布局中三个点击事件的按钮: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_wid…
Android5.X后,引入了RecyclerView,这个控件使用起来非常的方便,不但可以完成listView的效果,而且还可以实现ListView无法实现的效果.当然,在新能方便也做了大大的提高.本篇 第四十六话 案例,就使用这个控件,完成竖向和横向加载数据. 我们直接上代码,在每一步后都简要分析一下功能: 一.实现竖向滚动 1.定义一个实体类: package com.itydl.recyclerview; public class Fruit { private String name;…
本篇承接第四十话第四十话<Spinner> 参考博客:http://blog.csdn.net/yayun0516 进入正题: Strings加入第一级数据: <string-array name="province"> <item >水果</item> <item >职位</item> <item >动物</item> </string-array> 来个布局: <?xm…
今天完成一个简单的电话录音功能,即接通电话后,立即录下自己打电话的声音.实现起来比较简单:一个服务,一个TelephonyManager.一个MediaRecorder就够了. 1.布局提供一个开启录音服务的按钮. 2.服务里面代码如下:(代码详细解释都在里面了) package com.itydl.recorder; import android.app.Service; import android.content.Intent; import android.media.MediaReco…
转载本专栏每一篇博客请注明转载出处地址,尊重原创.此博客转载链接地址:小杨的博客    http://blog.csdn.net/qq_32059827/article/details/52791311 本博客是所用vooley框架完成的一个小案例,如果想详细学习该框架的使用.可以关注本人专栏<Android进阶>下的volley框架详解使用. 好了,看到这里说明,你对该框架使用应该算是入门了,那就开始实战之旅吧! 首先,定义一个布局,只用一个ListView就好了了. 然后,自定义一个ada…
今天做个有意思的效果吧,控件的拖拽,简单实用,逻辑清晰点3分钟看完. 说的很高大上,其实就是拖动Button按钮跟着鼠标位置满手机屏幕跑罢了. 直接上简单的代码吧: public class MainActivity extends Activity implements View.OnTouchListener { private Button mButton; private ViewGroup mViewGroup; private int xDelta; private int yDel…
一.ScrollView 由于手机屏幕的高度有限,当普通布局放不下现实和的内容时,ScrollView视图(滚动视图)就会派上用场,因为数据可以往下滚动显示. 二.HorizontalScrollView 看名称就清楚,当想在水平方向想放置更多的空间,屏幕宽度放不下的时候,它就派上用场了.因为用法非常简单,跟ScrollView一样只不过是个父容器,所以我结合上面的案例,把HorizontalScrollView放到了ScrollView里面.这样通过一个案例,同时学习了两个组件的使用,机智如我…
对于Spinner控件的介绍和使用方法,可以先看之前写过的一篇博客:Spinner控件详解 本篇就基于这个知识点完成一个简单的小案例: 根据介绍,先写一个布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=&q…
Android提供了实现按照秒计时的API,今天就是用这个API实现简单的倒计时. 来个布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:lay…
今天这一篇小案例模拟模糊查询,即输入一个字符,显示手机对应的所有存在该字符的路径. 布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layou…
上一篇小案例,完成了一个普通的通知,点击通知启动了一个活动.但是那里的通知没有加入些"靓点",这一篇就给它加入自定义的布局,完成自定义的通知. 应用:比如QQ音乐为例,当点击音乐播放的时候,手机屏幕上方就会展示播放音乐的通知,这个通知不仅仅拥有布局,而且响应点击事件,能完成上一曲下一曲的切换.今天这个小案例,就以此为背景展开. 首先,主活动布局不需要改变,还是放置两个按钮用于开启.关闭服务. 主活动中的代码做了了较大改变,如下: package com.example.notifica…
转载本专栏文章,请注明出处尊重原创:博客地址http://blog.csdn.net/qq_32059827/article/details/52849676:小杨的博客 许多应用可能需要加入进度,例如下载.播放视频.音频.读取数据库等等,都需要一个等待状态的进度条.原生的进度条的确不美观,今天这篇小案例,就让咱们的进度条"靓起来". 首先来看一个小案例,我们部队seekbae做样式修改,使用默认的效果. 定义一个布局: <LinearLayout xmlns:android=&…
此篇邪恶一些,给单身屌丝发点"福利",通过图片的绘制,给美女脱掉衣服. 原理:图片覆盖图片,通过画笔对顶端的图片做一些特效处理,即手指触摸的地方,设置为透明.即可显示最底部的美女图片. 布局:一张内衣,一张外衣 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools&…
转载请注明出处:http://blog.csdn.net/qq_32059827/article/details/51860900 点击打开链接 Device Administration 对于这个应用,市场上很多,但是看一下评论就知道效果有多差了,因为99%一键锁屏应用没办法卸载.今天就开发一个小应用,实现轻松点击一键锁屏,同时支持卸载... 通查看谷歌原文档,有设备管理器的API,从这里可以抽取一些代码,开发出一个小应用,即即将介绍的<一键锁屏>. 根据文档翻译,获取设备管理器的大致步骤如…
之前在Android简易实战教程--第七话<在内存中存储用户名和密码> 那里是把用户名和密码保存到了内存中,这一篇把用户名和密码保存至SharedPreferences文件.为了引起误导,声明实际开发中不会用到这两种方式,这里指示提供一种思路和给初学者学习简单的api. 由于内容和之前的基本一样,不做过多的解释.直接上代码: xml文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi…
转载请注明出处:http://blog.csdn.net/qq_32059827/article/details/51707931 从今天开始,本专栏持续更新Android简易实战类博客文章.和以往专栏不同,此专栏只有实例.每个实例尽量按照知识点对应相应一章节的内容去写,循序渐进.有些实例可能会与另一个专栏有重复的文章. 开始本专栏的第一个简易案例: 首先设置两个布局文件,一个布局文件进行输入数据,获取加法运算:另一个布局文件进行显示最终结果.Activity1启动Activity2,并传递计算…
第七话里面介绍了在内部存储读写文件 点击打开链接. 这样有一个比较打的问题,假设系统内存不够用,杀本应用无法执行,或者本应用被用户卸载重新安装后.以前保存的用户名和密码都不会得到回显.所以,有必要注意这个问题 因此把文件保存到sd卡中.即今天所写的  第十五话<在外部存储中读写文件> 首先布局文件和第七话一样: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:…
访问网络已经有了很成熟的框架.这一篇只是介绍一下HttpURLConnection的简单用法,以及里面的"注意点".这一篇可以复习或者学习HttpURLConnection.handler.以及Bitmap保存图片. 需求:点击按钮,访问一张网络图片显示. 布局很简单,只需要一个按钮一个ImagetView: <Button android:layout_width="wrap_content" android:layout_height="wrap…
当数据库的数据发生改变,我们又想知道具体改变的情况时,就需要对数据库的变化情况做一个监控.这个任务,就由内容观察者来完成.下面这个案例,为短信数据库注册内容观察者,来监控短信的变化情况,当短信数据库发生改变的时候,去做相应的业务处理即可(这里只是打印log) 布局文件选择默认,因为用不到任何界面. 看一下主活动中的代码: package com.itydl.contentobserver; import android.net.Uri; import android.os.Bundle; imp…
如果想要获取系统手机应用的详细信息,那么下边代码可以直接作为模板使用.笔者对每一行代码都做了注解,供您参考.直接上代码: package com.example.itydl.engines; import java.io.File; import java.util.ArrayList; import java.util.List; import com.example.itydl.domain.AppBean; import android.content.Context; import an…
承接第二十八话加载大图片,本篇介绍如何创建一个图片的副本. 安卓中加载的原图是无法对其修改的,因为默认权限是只读的.但是通过创建副本,就可以对其做一些修改,绘制等了. 首先创建一个简单的布局.一个放原图,一个放副本copy <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"…
本篇接第二十五话  点击打开链接   http://blog.csdn.net/qq_32059827/article/details/52389856 上一篇已经把王略中的图片获取到了.生活中有这么些场景:微信联网打开别人照片后,当手机断网的时候再去点击人家的额图片还能完整看到.这时候,已经不是去网路中获取图片了,其实微信在获取网络图片同时把图片在本地做咯额个缓存,这也是微信生成垃圾文件最多的原因之一. 本篇虽然以最简单直接的方式去对图片做缓存,但是,其实本质都差不多的.因为上一篇已经介绍的很…
Android系统以ARGB表示每个像素,所以每个像素占用4个字节,很容易内存溢出.假设手机内存比较小,而要去加载一张像素很高的图片的时候,就会因为内存不足导致崩溃.这种异常是无法捕获的 内存不足并不是说图片的大小决定的,最主要的因素是像素问题. 因此加载大图片就要设置相应的缩放比例. * 计算机把图片所有像素信息全部解析出来,保存至内存 * Android保存图片像素信息,是用ARGB保存 * 手机屏幕320*480,总像素:153600 * 图片宽高2400*3200,总像素7680000…
今天完成一个画画板. 首先来个布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"…
转载此文章请注明出处:点击打开链接   http://blog.csdn.net/qq_32059827/article/details/52313516 首先,很荣幸此专栏能被CSDN推荐到主页.荣幸的同时,也激励自己会把这个专栏一直更新下去. 进入今天的主题: 我们在qq登录的时候,会有一个下拉的按钮,来查看历史登录账号.这一篇就模拟这个效果,自定义组合框实现之. 这里面会用到popupwindow,对于popupwindow的原始用法欢迎看之前的一篇文章,对弹出窗体做过介绍:点击打开链接…