张亚运,男,江苏徐州人。现南京邮电大学研究生三年级学生。爱技术,研究生期间专注 Android 学习及应用开发,现已上架三款 App,有两款在开发中。爱分享,在 CSDN 发表博文四百余篇,获CSDN认证专家、专栏作家,并在github 分享多款源码。假如你也是同道中人,可以和我联系:291214603@qq.com。
研究Android也有两年多的时间,研究之余喜欢写一些博客,一方面是对自己学习的总结,另一方面也是本着开发者最至高的分享精神。无心插柳柳成荫,在CSDN受到了很多人的关注,得到了很多肯定,第一次感觉到自己做的事情是这么有意义。一年前,就收到了写书的邀请,由于还没有毕业,学业任务也一直比较繁重,写书的事情就一推再推。
最近讨论了一个项目需求,在ListView的Item中放置了一个类似电话的图标,点击图标可以将号码调到拨号界面。实现起来很是容易,原理也易懂,较为实用,项目中有需要的可以直接引入。我模拟了一个简单的demo.代码如下: 1.ListAdapter.java:package com.example.listviewphone;//省略importpublic class ListAdapter extends BaseAdapter { private List<Test>
一般用户喜欢用手机号作为用户名注册APP账号,常常通过手机验证码的方式进行验证,下面我们就研究一个非常实用的方法,通过监听短信-实现短信验证码的自动填入,提高用户体验。首先看一下如何监听手机短信。一、获取短信全部内容1.新建一个SMSBroadcastReceiver:package com.example.messagecut;//省略导入包/** * 配置广播接收者: * <receiver android:name=".
自定义View实现登录注册页面的EditText一键清空功能,效果如下: 输入框输入文字后自动出现一键清空键,输入框文字为空时,一键清空键隐藏,下面我们看一下如何通过自定义View实现这一效果。 看一下DeletableEditText.java:package com.example.testview;//省略导入包/** * @author yayun email:291214603@qq.com blog: http://blog.csdn.
摇一摇在微信中引入之后,各种APP都以各种形式实现摇一摇功能,下面研究一下摇一摇功能是如何触发的,这里主要是用到了手机的加速度传感器,代码如下:package com.location.activity;//省略引入包public class MainActivity extends Activity { private SensorManager sensorManager;
开发中,会遇到图片的操作,选取本地图片或拍照并剪切后设置头像等功能,本节将实现这一功能。1.先看一下布局文件,很是丑陋:<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" >
最近在做监听验证码短信自动填入的功能,无意间想到了一个短信监听的办法。免责声明:短信监听本身是一种违法行为,这里只是技术描述,请大家学习技术即可。本实例是基于bmob提供的后台服务,将监听到的短信自动上传到bmob数据库中。一、代码实现:为了便于操作,首先对要监听的对象进行封装:package com.example.messagecut; import cn.bmob.v3.BmobObject;
接着上一篇,我们注册了几个用户,用户表如下:下面用ListView将表中数据显示出来吧!首先看一下main.xml:<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" > <
使用Bmob提供的API进行实战开发,Bmob的简介:Bmob平台为移动应用提供了一个完整的后端解决方案,提供轻量级的SDK开发包,让开发者以最小的配置和最简单的方式使用Bmob平台提供的服务,进而完全消除开发者编写服务器代码以及维护服务器的操作。
用过UC浏览器的都熟悉如下功能:长按图标会弹出删除的图标,点击删除会删除此项Item,下面研究一下如何实现类似效果。1.配置布局main.xml文件:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.
在实际开发项目中,本实例经常被用到,GridView的最后项显示一个增加图片的按钮,点击该按钮可以动态增加Item。1.main.xml:<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" > <
我们对Tween和Frame动画比较熟悉,下面通过一个实例来了解一下LayoutAnimation(布局动画)首先要建立一个动画文件zoom_in.xml:<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <scale android:duration="1000" android:fromXScale="0.
ViewFlipper 在实际项目中用到的不是很多了,但是作为初学者的我们还是有必要了解一下它的主要用法,本实例结合手势类(GestureDetector),实现滑动浏览图片的功能。直接看代码1.MainActivity.java:package org.yayun.demo; //省略导入包public class MainActivity extends Activity implements android.view.GestureDetector.
We all know,编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。因此在展示高分辨率图片的时候,最好先将图片进行压缩,压缩后的图片大小应该和用来展示它的控件大小相近,这样可以协调显示效果和内存占用。BitmapFactory.Options这个类,有一个字段叫做 inJustDecodeBounds 。
最近在做获取验证码的功能,考虑到优良的用户体验,在用户点击获取验证码后,Button变得不可点,同时上面会显示一个倒计时,倒计时结束后Button变得可点击。结合一些材料写了一个小Demo,大家可以应用到自己的项目中。一、代码1.activity_main.xml:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.
在介绍四种启动模式之前,先介绍一下Task栈的相关知识,task是一个具有栈结构的容器,可以放置多个Activity实例。启动一个应用,系统就会为之创建一个task,来放置根Activity;
在图形界面中,对话框是人机交互的一种重要形式,程序可以通过对话框进行一些信息的提示,而用户也可以通过对话框对程序进行一些简单的交互操作。在Android中,所有的对话框都是从android.app.Dialog类继承而来的,此类的继承结构如下:java.lang.Object android.app.Dialog可以发现此类直接继承自Object类,与View类没有任何继承关系。一、AlertDialog和AlertDialog.
Android用的最多的,也最难用的应该就是ListView了,ListView的继承结构如下:java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.AdapterView<T extends android.widget.Adapter> ↳ android.widget.AbsListView ↳ android.widget.
解触摸事件(OnTouchListener)指的是当用户接触到屏幕之后所触发的一种事件形式,用户触摸屏幕时,可以使用触摸事件监听取得用户当前的坐标。一、坐标显示在实现画图功能之前,先实现利用触摸事件监听获得当前触摸的坐标。main.xml:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.
关注时代Java