
Android开发技术
文章平均质量分 90
Android移动开发的各项技术解析和实例详解,让学习Android的新手能够轻松入门,也能让老鸟获得一些额外的小经验
光仔December
技术宅,系统集成项目管理工程师,FCP-报表开发工程师,全国软件开发(C/C++)专业人才高级认证,2014年ACM-ICPC河南省赛区银奖,2014年第五届蓝桥杯河南赛区C/C++程序设计本科B组二等奖,2015年甲骨文杯全国Java程序设计大赛华中赛区A组二等奖,2015年中国大学生计算机设计大赛团队三等奖
展开
-
【Android开发】多媒体应用开发-使用VideoView播放视频
在Android中,提供了VideoView组件用于播放视频文件。想要使用VideoView组件播放视频,首先需要在布局文件中创建该组件,然后在Activity中获取该组件,并应用其setVideoPath()方法或setVideoURI()方法加载要播放的视频,最后调用start()方法来播放视频。另外,VideoView组件还提供了stop()和pause()方法,用于停止或暂停视频的播放。原创 2015-06-18 18:30:24 · 8074 阅读 · 0 评论 -
【Android开发】多媒体应用开发-使用SoundPool播放音频
由于MediaPlayer占用资源较多,且不支持同时播放多个音频,所以Android还提供了另一个播放音频的类-----SoundPool。SoundPool即音频池,可以同时播放多个短小的音频,而且占用的资源较少。SoundPool适合在应用程序中播放按键音或消息提示音等,在游戏中播放密集而短暂的声音,如多个飞机爆炸的声音等。使用SoundPool播放音频,首先需要创建SoundPool对象,然原创 2015-06-18 18:27:06 · 1610 阅读 · 0 评论 -
【Android开发】多媒体应用开发-使用MediaPlayer播放音频
Android提供了对常用音频和视频格式的支持,它所支持的音频格式有MP3(.mp3)、3GPP(.3gp)、Ogg(.ogg)和WAVE(.ave)等,支持的视频格式有3GPP(.3gp)和MPEG-4(.mp4)等。通过AndroidAPI提供的相关方法,在Android中可以实现音频与视频的播放。下面介绍使用MediaPlayer播放音频在Android中,提供了MediaPla原创 2015-06-15 23:16:03 · 5543 阅读 · 0 评论 -
【Android开发】网络编程及Internet应用-获取天气预报
在Eclipse中创建Android项目,利用之前学过的WebView控件和中国天气网提供的天气数据接口,实现获取指定城市的天气预报。布局文件:res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sc原创 2015-06-15 23:10:26 · 3754 阅读 · 0 评论 -
【Android开发】网路编程及Internet应用-从指定网站上下载文件
利用前面学过的HttpUrlConnection和文件输入输出流来完成从Android端下载指定站点的文件。写一个编辑框,用来输入要下载文件的URL路径,下面一个按钮,点击实现文件下载res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xm原创 2015-06-14 09:51:08 · 2323 阅读 · 0 评论 -
【Android开发】网路编程及Internet应用-使用WebView显示网页
Android提供了内置的浏览器,该浏览器使用了开源的WebKit引擎。WebKit不仅能够搜索网址、查看电子邮件,而且能够播放视频节目。在Android中,要使用内置的浏览器,需要通过WebView组件来实现。通过WebView组件可以轻松实现显示网页功能。如何在Android中使用WebView组件:WebView组件使用方法同其它组件一样,既可以使用XML布局文件配置,也可以原创 2015-06-14 09:42:48 · 3173 阅读 · 0 评论 -
【Android开发】网络编程及Internet应用-使用HttpClient访问网络
前面介绍了使用java.net包中的HttpURLConnection类来访问网络,在一般情况下,如果只需要到某个简单页面提交请求并获取服务器的响应,完全可以使用该技术来实现。不过,对于比较复杂的联网操作,使用HttpURLConnection类就不一定能满足要求,这时,可以使用Apache组织提供的HttpClient项目来实现。在Android中,已经成功的集成了HttpClient,所以可以原创 2015-06-08 16:37:44 · 3486 阅读 · 0 评论 -
【Android开发】网络编程及Internet应用-通过HTTP访问网络
通有线互联网一样,移动互联网也可以使用HTTP访问网络。在Android中,针对HTTP进行网络通信的方法主要有两种,一种是使用HttpURLConnection实现;另一种是使用HttpClient实现。下面分别进行介绍1.使用HttpURLConnection访问网络HttpURLConnection位于java.net包中,用于发送HTTP请求和获取HTTP响应。由于该类是抽原创 2015-06-08 16:32:28 · 2682 阅读 · 2 评论 -
【Android开发】范例2-开启新线程实现电子广告牌
利用之前学过的多线程处理技术,我们做一个开启新线程实现电子广告牌的项目界面布局文件,加入ImageView图片控件,用于显示一个图片,一个TextView控件,用于显示广告说明语。res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln原创 2015-06-05 13:25:43 · 2002 阅读 · 2 评论 -
【Android开发】范例1-开启新线程获取网络图片并显示到ImageView中
利用之前学过的多线程处理技术,我们来写一个开启新线程获取网络图片并显示到ImageView中的实例。在布局文件中加入一个ImageView图片控件:res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://原创 2015-06-04 12:33:29 · 5244 阅读 · 0 评论 -
【Android开发】消息处理类(Handler)与消息类(Message)介绍
一.消息处理类(Handler)简介消息处理类Handler允许发送和处理Message或Runnable对象到其所在线程的MessageQueue中。Handler主要有一下两个作用:1.将Message或Runnable应用post()或sandMessage()方法发送到MessageQueue中,在发送时可以指定延迟时间、发送时间以及要携带的Bundle数据。当MessageQ原创 2015-06-04 12:30:25 · 6872 阅读 · 0 评论 -
【Android开发】线程与消息处理-Handler消息传递机制之Looper
在前面已经介绍了在Android中如何创建、开启、休眠和中断线程。不过,此时并没有在新创建的子线程中对UI界面上的内容进行操作,如果应用前面介绍的方法对UI界面进行操作,将抛出异常。为此,Android中引入了Handler消息传递机制,来实现在新创建的线程中操作UI界面。下面将对Handler消息传递机制进行介绍。1.循环者Looper介绍在介绍Looper之前,需要先了解一原创 2015-06-03 23:03:33 · 1768 阅读 · 0 评论 -
【Android开发】线程与消息处理-开启一个新线程播放背景音乐
在本实例用,开启一个新的线程播放背景音乐,在音乐文件播放完毕后,暂停5秒后重新开始播放。具体实现:界面(只有一个"开始"按钮)res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas原创 2015-06-03 23:01:07 · 5092 阅读 · 0 评论 -
【Android开发】线程与消息处理-通过实现Runnable接口来创建线程
利用Runnabe接口来创建线程,实现这样一个效果:在屏幕上有一个"开始"和一个"结束"按钮,单击"开始"按钮,将在日志(Log)面板中输出循环变量的值;单击"停止"按钮,将终端线程。界面资源文件:rea/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2015-06-02 23:18:54 · 3076 阅读 · 0 评论 -
【Android开发】线程与消息处理-实现多线程
在现实生活中,很多事情是同时进行的,例如,我们可以一边看书,一边喝咖啡;而计算机则可以一边放音乐,一边打印文档。对于这种可以同时进行的任务,可以用线程来表示,每个线程完成一个任务,并与其它线程同时执行,这种机制被称为多线程。下面介绍如何创建、开启、休眠和停止线程。1.创建线程两种方法a.通过Thread类的构造方法创建线程在Android中,可以使用Thread类提供的原创 2015-06-02 23:16:16 · 1610 阅读 · 0 评论 -
【Android开发】经典范例1-在GridView中显示SD卡上的全部图片
实现一个在GridView中显示SD卡上的全部图片的实例。在mian.xml布局文件中加入GridView组件,列数4,也就是每行显示4张图片res/layout/main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://s原创 2015-05-19 20:51:24 · 3670 阅读 · 4 评论 -
【Android开发】动画范例2-旋转、平移、缩放和透明度渐变的补间动画
实现旋转、平移、缩放和透明度渐变的补间动画,具体实现如下:1.在新建项目的res目录中,创建一个名为anim的目录,并在该目录中创建实现旋转、平移、缩放和透明度渐变的动画资源文件。透明度渐变的动画资源文件anim_alpha.xml(完全不透明->完全透明->完全不透明) <alpha android:fromAlpha="1" android:toA原创 2015-05-19 20:48:09 · 3381 阅读 · 0 评论 -
【Android开发】动画范例1-士兵走起来!
利用学过的逐帧动画技术来在Android上实现让一个士兵上下左右行走的小例子。具体效果如图使用资源图片如图具体实现:首先将图片资源加入drawable文件夹下,然后在res文件夹下建立如下四个逐帧动画的配置XML文件,分别实现让士兵向上、下、左、右行走的动画播放:anim_up.xml:<animation-list xmlns:android="原创 2015-05-13 21:44:21 · 1694 阅读 · 2 评论 -
【Android开发】图形图像处理技术-实现Android动画的两种方式
在应用Android进行项目开发时,特别是在进行游戏开发时,经常需要涉及动画。Android中的动画通常可以分为逐帧动画(Frame Animation)和补间动画(Tween Animation)两种。下面将分别介绍这两种动画。一.实现逐帧动画(Frame Animation)逐帧动画就是顺序播放事先准备好的静态图像,利用人眼的"视觉暂留"原理,给用户造成动画的错觉。实现逐帧动画比较原创 2015-05-13 21:42:17 · 2212 阅读 · 0 评论 -
【Android开发】范例2-实现放大镜效果
利用之前学过的图形图像绘画技术和图片添加特效技术,我们来实现一个Android放大镜的简单应用。最终效果如图具体实现:用来显示自定义的绘图类的布局文件res/layout/main.xml: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:to原创 2015-05-10 20:17:21 · 4352 阅读 · 2 评论 -
【Android开发】范例1-实现带描边的圆角图片
利用学过的BitmapShader渲染类,我们来实现一个带描边的圆角图片。具体实现:用来显示自定义的绘图类的布局文件res/layout/main.xml: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andro原创 2015-05-10 20:14:01 · 4324 阅读 · 0 评论 -
【Android开发】图形图像处理技术-使用BitmapShader渲染图像
在Android中,提供的BitmapFactory类主要用来渲染图像。如果需要将一张图片裁剪成椭圆形或圆形等形状并显示到屏幕上,就可以使用BitmapShader类来实现。使用BitmapShader来渲染图像的基本步骤如下:1.创建BitmapShader类的对象,可以通过一下构造方法进行创建BitmapShader(Bitmap bitmap,Shader.TileMode ti原创 2015-05-09 15:47:09 · 2378 阅读 · 0 评论 -
【Android开发】图形图像处理技术-旋转、缩放、倾斜和平移图像
一.旋转图像使用Android提供的android.graphics.Matrix类的setRotate()、postRotate()和preRotate()方法,可以对图像进行旋转。由于这三种方法处理方法名不同外,语法格式等均相同,下面将以setRotate()方法为例来进行介绍。setRotate()方法有以下两种语法格式:1.setRotate(float degress原创 2015-05-09 15:46:03 · 6769 阅读 · 0 评论 -
【Android开发】SD卡路径问题
Android SD卡路径问题在研究拍照后突破的存储路径的问题,开始存储路径写死为: private String folder = "/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径); 后来发现这样写虽然一般不会出错,但不是很好,因为不同相机,可能路径会出问题。较好的方法是通过Environment 来获取路径,最后给出一个例子,教你怎样获取SDCard 的内转载 2015-05-03 19:22:43 · 1519 阅读 · 0 评论 -
【Android开发】范例2-实现简易绘图板
下面这个实例通过前面学过的Paint、Canvas等2D绘画技术来实现一个简单的Android的绘图板。具体实现代码:创建一个名为DrawView的类,该类继承自android.view.View类。在该类中,首先定义程序中所需的属性,然后添加构造方法,并重写onDraw(Canvas canvas)方法:DrawView.java:package com.example.原创 2015-05-03 19:18:07 · 6293 阅读 · 4 评论 -
【Android开发】范例1-绘制Android的机器人
下面这个实例通过前面学过的Paint、Canvas等2D绘画技术来实现在手机屏幕上绘制Android机器人的小实例。具体代码实现和效果:用来显示自定义的绘图类的布局文件res/layout/main.xml: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t原创 2015-05-03 13:54:50 · 3048 阅读 · 0 评论 -
【Android开发】图形图像处理技术-绘制图片
在Android中,Canvas类不仅可以绘制几何图形、文件和路径,还可以用来绘制图片。想要使用Canvas类绘制图片,只需要使用Canvas类提供的如下表所示的方法将Bitmap对象中保存的图片绘制到画布上即可。drawBitmap(Bitmap bitmap,Rect src,RectF dst,Paint paint)用于从指定点绘制从源位图中"挖取"的一块drawBit原创 2015-05-03 13:49:38 · 2877 阅读 · 0 评论 -
【Android开发】图形图像处理技术-绘制路径
在Android中提供了绘制路径的功能。绘制一条路径可以分为创建路径和将定义好的路径绘制在画布上两部分,下面分别进行介绍。1.创建路径要创建路径,可以使用android.graphics.Path类来实现。Path类包含一组矢量绘图方法,如画圆、矩形、弧、线条等。常用的绘图方法如下表:void addArc(RectF oval, float startAngle, float原创 2015-04-27 10:37:33 · 3402 阅读 · 0 评论 -
【Android开发】图形图像处理技术-绘制文本
在Android中,虽然可以通过TextView或图片现实文本,但是在开发游戏,特别是开发RPG(角色)类游戏时,会包含很多文字,使用TextView和图片显示文本不太合适,这时,就需要通过绘制文本的方式来实现。Canvas类提供了一系列绘制文本的方法,下面分别行介绍:1.drawText()方法用于在画布的指定位置绘制文字。该方法比较常用的语法格式如下:drawText(Stri原创 2015-04-27 10:30:23 · 1357 阅读 · 0 评论 -
【Android开发】图形图像处理技术-绘制几何图形
常见的几何图形包括点、线、弧、矩形等。在Android中,Canvas类提供了丰富的绘制几何图形的方法,通过这些方法,可以绘制出各种几何图形。常用的几何图形的绘制方法如下所示:1. 画一个圆使用的是drawCircle:canvas.drawCircle(cx, cy, radius, paint);x、y代表坐标、radius是半径、paint是画笔,就是画图的颜色;2. 在画图的时原创 2015-04-21 22:14:19 · 2942 阅读 · 0 评论 -
【Android开发】图形图像处理技术-Bitmap和BitmapFactory类
一、Bitmap类Bitmap类代表位图,是Android系统中图像处理的一个重要类。使用该类,不仅可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,而且还可以指定格式保存图像文件。对于这些操作,都可以通过Bitmap类提供的方法来实现。Bitmap类提供的常用方法如表所示:(1)public final int getHeight():获取位图宽度(2)public fina原创 2015-04-21 22:09:39 · 2911 阅读 · 0 评论 -
【Android开发】图形图像处理技术-常用绘图类之Canvas类
Canvans类代表画布,通过该类提供的方法,可以绘制各种图形(如矩形、圆形和线条等)。通常情况下,要在Android中绘图,需要先创建一个继承自View类的视图,并且在该类中重写onDraw(Canvas canvas)方法,然后在显示绘图的Activity中添加该视图。下面通过一个具体的实例来说明如何创建用于绘图的画布。1.创建一个名称为DrawView的类,继承android原创 2015-04-20 22:02:25 · 1958 阅读 · 0 评论 -
【Android开发】图形图像处理技术-常用绘图类之Paint类
Paint类代表画笔,用来描述图形的颜色风格,如线宽、颜色、透明度和填充效果等信息。使用Paint类时,首先需要创建该类的对象,这可以通过该类提供的构造方法来实现。通常情况下,只需要使用无参数的构造方法来创建一个使用默认设置的Paint对象,具体代码如下:Paint paint=new Paint();创建Paint类的对象之后,还可以通过该对象提供的方法来对画笔的默认设置进行改变原创 2015-04-20 21:58:12 · 2714 阅读 · 0 评论 -
【Android开发】Bundle和Intent实例1-实现根据身高计算标准体重
编写一个实例来实现Bundle在Activity之间传递信息和Intent跳转Activity页面的效果。此实例是让用户输入性别和身高,以此来判断用户的最佳合适的体重(计算最佳体重按照科学数据计算)。效果如图下面我们来实现这个实例:res/layout/main.xml(主页面): <LinearLayout xmlns:android="htt原创 2015-04-19 10:40:14 · 10596 阅读 · 0 评论 -
【Android开发】基本程序单元Activity-Activity概述
Activity的意思是活动。在Android中,Activity代表手机的一屏,或是平板电脑中的一个窗口。它是Android应用的重要组成单元之一,提供了和用户交互的可视化界面。在一个Activity中,可以添加很多组件,这些组件负责具体的功能。在Android应用中,可以有很多个Activity,这些Activity组成了Activity栈(Stack),当前活动的Activity位于原创 2015-04-19 10:30:31 · 2075 阅读 · 0 评论 -
【Android开发】经典范例2-仿QQ在状态栏显示登录状态的图标
运行本实例,将显示一个用户登录界面,输入用户名(hpuacm)和密码(1111)后,单击"登录"按钮,将弹出如下图所示的选择登录状态的列表对话框,单击代表登录状态的列表项,该对话框消失,并在屏幕的左上角显示代表登录状态的通知(如图)过一段时间后该通知消失,同时在状态栏上显示代表该登录状态的图标(如图)将状态栏下拉可以看到状态的详细信息(如图)单击"更原创 2015-04-15 12:01:24 · 2564 阅读 · 0 评论 -
【Android开发】经典范例1-实现仿Windows7图片预览窗格效果
本实例将显示类似于windows7提供的图片预览窗格效果,单击任意一张图片,可以在右侧显示该图片的预览效果。效果如图所示:具体实现方法:res/layout/main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientatio原创 2015-04-14 13:52:18 · 1823 阅读 · 0 评论 -
【Android开发】范例2-带图标的列表对话框
根据之前学的Android对话框技术,来实现下面一个效果:界面有一个"打开设置对话框"按钮,将弹出选择项目的对话框,单击任意列表项,都将关闭该对话框,并通过消息提示框显示选择的列表内容。效果如图所示:实现代码:res/layout/main.xml: <LinearLayout xmlns:android="http://schemas.android.com/原创 2015-04-13 10:08:54 · 2267 阅读 · 0 评论 -
【Android开发】范例1-询问是否退出的对话框
根据之前学的Android对话框技术,来实现下面一个效果:界面有一个"退出"按钮,按下之后会弹出一个询问是否退出的提示对话框,单击"不"按钮,不退出游戏,单击"是的"按钮,将退出游戏。接下来实现此实例:res/layout/main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an原创 2015-04-13 10:05:56 · 3009 阅读 · 0 评论 -
【Android开发】消息提示框与对话框-使用Notification在状态栏上显示通知
在使用手机时,当有未接来电或者是新短消息时,手机会给出相应的提示信息,这些提示信息通常会显示到手机屏幕的状态栏上。Android也提供了用于处理此类信息的类,他们是Notification和NotificationManager。其中,Notification代表的是具有全局效果的通知;而NotificationManager则是用于发送Notification通知的系统服务。使用Noti原创 2015-04-12 13:53:45 · 5845 阅读 · 7 评论