文章分类 - Android
摘要:Android下如何获取Mac地址?1、需要在AndroidManifest.xml文件中添加权限<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />2、Java代码(必须在Activity中使用)public String getLocalMacAddress() { WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnec
阅读全文
摘要:引言上篇我们介绍了Intents和Intent Filters的理论部分,主要是介绍了:activities、services、broadcastreceivers三种组件的Intent机制两种Intent(显式和隐式)及它们如何去匹配目的组件、Intent对象包含哪些信息、Intent Filters的action & category & data。Intent的重要性,我不再着重介绍了,但我还是要说:Intent能够使应用程序突破沙盒与外界交流,者这使得Android的世界变得丰富多彩!本篇将用实例来介绍,如何应用Intent,而且继续用SMS方面的例子来阐述。本文的主要
阅读全文
摘要:引言大部分移动设备平台上的应用程序都运行在他们自己的沙盒中。他们彼此之间互相隔离,并且严格限制应用程序与硬件和原始组件之间的交互。 我们知道交流是多么的重要,作为一个孤岛没有交流的东西,一定毫无意义!Android应用程序也是一个沙盒,但是他们能够使用Intent、Broadcast Receivers、Adapters、Content Providers、Internet去突破他们的边界互相交流。有交流还会和谐,由此可见这些交流手段有多重要。上篇文章中我们在SMS接收程序和使用Intent发送SMS程序中用到了Intent,并做了简单的回顾和总结:android应用程序的三大组件——Acti
阅读全文
摘要:引言前面我们介绍都只是如何发送SMS消息,接下来我们介绍如何接收SMS消息,及另一种发短信的方式并增强为可以发生图片等,最后介绍一下emulator工具。本文的主要内容如下:1~5见Android 开发之旅:短信的收发及在android模拟器之间实践(一)6、温故知新之Intent7、准备工作:SmsMessage类8、SMS接收程序9、另一种发送短信的方式:使用Intent10、增强SMS为MMS6、温故知新之Intent此系列前面简单地接受过意图(Intent),这里再次简单介绍一下,在短信接收程序和使用Intent发送SMS中我们要用到。android应用程序的三大组件——Activit
阅读全文
摘要:引言本文通过运行两个Android模拟器,介绍在Android中如何实现短信服务(SMS,short message service)的功能。通过这个例子,我想带给大家的是:更加熟悉之前介绍过的Android应用程序的概念及技术细节,且通过实例调度大家的兴趣。我之所以选择SMS为例子,主要原因是SMS已经非常成熟了,从中可以发掘更多的信息和技术细节,而且我相信大部分人发短信比打电话多。本文的主要内容如下:1、温故知新2、准备工作:SMS涉及的主要类SmsManager3、简单的SMS发送程序3.1、运行SMS程序给另一个android模拟器发短4、SMS增强(一)5、SMS增强(二)6、SMS
阅读全文
摘要:引言通过前面两篇:Android 开发之旅:又见Hello World!Android 开发之旅:深入分析布局文件&又是“Hello World!”我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!”程序来实践证明了。在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid
阅读全文
摘要:——量变产生质变,如果你从第一篇一直看到了这篇,可以说这就是你的质变点之一。回顾及展望经过数篇对Android应用程序的原理的讲述,现在我们大概回顾一下。首先我们利用Hello World程序介绍了一个Android应用程序的目录结构,包括src文件夹、gen文件夹、Android x文件夹、assets文件夹、AndroidMainifest.xml、default.properties;接下来我们又站在架构的高度分析了一下Android系统的主要组成部分,包括Linux Kernel、Android Runtime、Libraries、Application Framework、Appli
阅读全文
摘要:引言上篇可以说是一个分水岭,它标志着我们从Android应用程序理论进入实践,我们拿起手术刀对默认的“Hello World!”程序进行了3个手术,我们清楚了“Hello world!”是如何实现显示在屏幕上的,而且我们知道不仅可以根据布局文件main.xml来初始化屏幕,还可编程地进行。以后基本我们都会以实践的方式来深入Android开发。我们这次深入分析Android应用程序的布局文件,主要内容如下:1、用户界面及视图层次2、Android中布局定义方法3、编写XML布局文件及加载XML资源4、常用布局文件中元素的属性4.1、ID属性4.2、布局参数5、布局位置&大小&补距
阅读全文
摘要:Android系统试图尽可能长地保持一个应用程序进程,但是当内存低时它最终还是需要移除旧的进程。为了决定保持哪个进程及杀死哪个进程,Android将每个进程放入一个基于运行于其中的组件的重要性等级和这些组件的状态。重要性最低的进程首先被杀死,然后是次低,以此类推。总共有5个层次等级。下列清单按重要性顺序列出:前台进程,用户当前工作所需要的。一个进程如果满足下列任何条件被认为是前台进程:它正运行着一个正在与用户交互的活动(Activity对象的onResume()方法已经被调用)。它寄宿了一个服务,该服务与一个与用户交互的活动绑定。它有一个Service对象执行它的生命周期回调(onCreate
阅读全文
摘要:引言应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁。在这期间,他们有时候处于激活状态,有时候处于非激活状态;对于活动,对用户有时候可见,有时候不可见。组件生命周期将讨论活动、服务、广播接收者的生命周期——包括在生命周期中他们可能的状态、通知状态改变的方法、及这些状态的组件寄宿的进程被终结和实例被销毁的可能性。上篇Android开发之旅:组件生命周期(一)讲解了论活动的生命周期及他们可能的状态、通知状态改变的方法。本篇将介绍服务和广播接收者的生命周期:服务生命周期广播接收者生命周期1、服务生命周期一个服务可以用在两个方面:它可以启动且允许一直运行直到有人
阅读全文
摘要:引言应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁。在这期间,他们有时候处于激活状态,有时候处于非激活状态;对于活动,对用户有时候可见,有时候不可见。组件生命周期将讨论活动、服务、广播接收者的生命周期——包括在生命周期中他们可能的状态、通知状态改变的方法、及这些状态的组件寄宿的进程被终结和实例被销毁的可能性。本文主要讨论活动的生命周期及他们可能的状态、通知状态改变的方法。分为以下三部分:1、活动生命周期2、保存活动状态3、协调活动1、活动生命周期一个活动有三个基本状态:激活状态或运行状态,这时它运行在屏幕的前台(处于当前任务活动栈的最上面)。这个活动有
阅读全文
摘要:——坚持就是胜利!关键是你能坚持吗?不能的话,你注定是个失败者。引言关于Android应用程序原理及术语,前面两篇:Android开发之旅:应用程序基础及组件Android开发之旅:应用程序基础及组件(续)介绍了Android应用程序的进程运行方式:每一个应用程序运行在它自己的Linux进程中。当应用程序中的任何代码需要执行时,Android将启动进程;当它不在需要且系统资源被其他应用程序请求时,Android将关闭进程。而且我们还知道了Android应用程序不像别的应用程序那样(有Main函数入口点),它没有单一的程序入口点,但是它必须要有四个组件中的一个或几个:活动(Activities)
阅读全文
摘要:引言当应用程序的组件第一次运行时,Android将启动一个只有一个执行线程的Linux进程。默认,应用程序所有的组件运行在这个进程和线程中。然而,你可以安排组件运行在其他进程中,且你可以为进程衍生出其它线程。本文从下面几点来介绍Android的进程与线程:1、进程2、线程2.1、远程过程调用(Remote procedure calls,RPCs)2.2、线程安全方法1、进程组件运行于哪个进程中由清单文件控制。组件元素——<activity>、<service>、<receiver>、<provider>,都有一个process属性可以指定组件运
阅读全文
摘要:——成功属于耐得住寂寞的人,你离成功又近了一步了。引言上篇Android开发之旅:应用程序基础及组件介绍了应用程序的基础知识及Android的四个组件,本篇将介绍如何激活组关闭组件等。本文的主题如下:1、激活组件:意图(Intents)1.1、活动(Activity)组件的激活1.2、服务(Service)组件的激活1.3、广播接收者(Broadcast receiver)组件的激活2、关闭组件3、清单文件4、Intent过滤器1、激活组件:意图(Intents)当接收到ContentResolver发出的请求后,内容提供者被激活。而其它三种组件——活动、服务和广播接收者,被一种叫做意图(in
阅读全文
摘要:——成功属于耐得住寂寞的人,接下来几篇将讲述Android应用程序的原理及术语,可能会比较枯燥。如果能够静下心来看,相信成功将属于你。引言为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西。本篇的主题如下:1、应用程序基础2、应用程序组件2.1、活动(Activities)2.2、服务(Services)2.3、广播接收者(Broadcast receivers)2.4、内容提供者(Content providers)因为这些内容比较理论,且没有用例子来说明,看上去会比较枯燥,我就把这几篇写得算比
阅读全文
摘要:引言通过前面两篇:Android 开发之旅:环境搭建及HelloWorldAndroid 开发之旅:HelloWorld项目的目录结构我们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪些文件夹和文件及相应的作用。本篇将站在顶级的高度——架构,来看android。我开篇就说了,这个系列适合0基础的人且我也是从0开始按照这个步骤来学的,谈架构是不是有点螳臂挡车,自不量力呢?我觉得其实不然,如果一开始就对整个android的架构了然于胸,就不会误入歧途,能够很好地把握全局。本文的主题如下:1、架构图直观2
阅读全文
摘要:引言前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Android项目的目录结构。本文的主要主题如下:1、HelloWorld项目的目录结构1.1、src文件夹1.2、gen文件夹1.3、Android 2.1文件夹1.4、assets1.5、res文件夹1.6、AndroidManifest.xml1.7、default.properties1、HelloWorld项目的目录结构(这个HelloWorld项目是基于Android 2.1的)在Eclipse的左
阅读全文
摘要:——工欲善其事必先利其器引言本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教。在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld。本文的主题如下:1、环境搭建1.1、JDK安装1.2、Eclipse安装1.3、Android SDK安装1.4、ADT安装1.5、创建AVD2、HelloWorld1、环境搭建1.1、JDK安装如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一步一步走。设置环境变量步骤如下:
阅读全文

浙公网安备 33010602011771号