Android菜鸟的成长笔记
文章平均质量分 83
一个非计算机专业的大学生因为兴趣和移动互互联网开发结缘,本专栏既是一个成长故事,又是一个Android学习过程的经验分享。
lxq_xsyu
这个作者很懒,什么都没留下…
展开
-
Android菜鸟的成长笔记(28)——Google官方对Andoird 2.x提供的ActionBar支持
在Google官方Android设计指南中(链接:http://www.apkbus.com/design/get-started/ui-overview.html)有一个新特性就是自我标识,也就是宣传自己,所以很多应用现在也自然的使用ActionBar并提供自己的logo.微信的应用:Google的Android设计指南中是这样说的:应用的 启动图标 作为启动应用的入口是展示 logo 的最佳场原创 2014-05-21 14:24:29 · 3204 阅读 · 0 评论 -
Android菜鸟的成长笔记(27)——ViewPager的使用
ViewPager是Android 3.0以上可以使用的API。一、ViewPager能干什么?1、微信5.0中连带滑动用ViewPager可以轻松实现。2、实现类似于新浪微博的导航引导界面。3、实现其他导航或菜单。二、ViewPager的使用1、添加布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2014-05-14 10:11:22 · 4335 阅读 · 4 评论 -
Android菜鸟的成长笔记(26)——普通广播与有序广播
BroadcastReceiver是Android系统的四大组件之一,BroadcastReceiver是一个全局的系统级监听器,它拥有自己的独立进程。我们来写一个最简单的广播接收过程先在manifest中定义一个广播接受者 <application android:allowBackup="true" android:icon="@drawable/ic_l原创 2014-02-26 18:12:12 · 4769 阅读 · 1 评论 -
Android菜鸟的成长笔记(25)——可爱的小闹钟
摘要:这一篇主要使用系统为我们提供的一个服务AlarmManager来制作一个Android小闹钟,同时还涉及到了自定义主题、判断第一次启动应用、自定义动画、对话框、制作指导滑动页面等方面。最后形成一个可以直接在手机上面使用的小闹钟。原创 2014-02-26 13:26:49 · 9927 阅读 · 16 评论 -
Android菜鸟的成长笔记(24)——Android中的振动器
在某些时候,程序需要启动系统振动器,比如手机静音时使用振动提示用户;再比如玩游戏时,当系统碰撞、爆炸时使用振动带给用户更逼真的体验等。总之,振动是除视频、声音之外的另一种“多媒体”,充分利用系统的振动器会带给用户更好的体验。系统获取Vibrator也是调用Context的getSystemService()方法即可,接下来就可以调用Vibrator的方法来控制手机震动了。package c原创 2013-12-24 16:23:22 · 3154 阅读 · 1 评论 -
Android菜鸟的成长笔记(23)——获取网络和SIM卡信息
TelephonyManager是一个管理手机通话状态、电话网络信息的服务类,该类提供了大量的getXxx()方法来获取电话网络的相关信息。这些信息包括设备编号、软件版本、网络运营商代号、网络运营商名称、手机制式、设备当前位置、SIM卡的国别、SIM卡序列号等。下面来实际看一下:MainActivity.javapackage com.example.telephonymanager;原创 2013-12-24 11:44:58 · 3511 阅读 · 0 评论 -
Android菜鸟的成长笔记(22)——Android进程间传递复杂数据(AIDL)
在上一篇中介绍了Andorid中的进程间的通信方式AIDL,本篇文章将介绍传递复杂数据的AIDL Service下面通过一个示例说明:本例子中用到了两个自定义类型:Person与Pet, 其中Person对象作为调用远程Service的参数,而Pet将作为返回值。就像RMI要求远程调用的参数和返回值必须实现Serializable接口,Android要求调用远程Service的参数和返回值原创 2013-12-24 10:53:01 · 4215 阅读 · 0 评论 -
Android菜鸟的成长笔记(21)——跨进程调用Service
我们都知道在Android中的每一个应用是一个进程,其实每一个应用就相当于Linux系统里面的一个用户,进程和进程之间的通信其实就相当于用户和用户之间的通信,为了实现这种跨进程通信,Android提供了AIDL Service ( Android Interface definition language).与邦等本地Service不同的是,本地Service的onBind()方法会直接把IB原创 2013-12-23 15:34:03 · 2645 阅读 · 1 评论 -
Android菜鸟的成长笔记(20)——IntentService
前面介绍的Service在官方文档介绍中说Service存在着如下两个问题:1.A Service is not a separate process. The Service object itself does not imply it is running in its own process; unless otherwise specified, it runs in the原创 2013-12-19 13:56:01 · 2930 阅读 · 1 评论 -
Android菜鸟的成长笔记(19)——Service的生命周期
前面两篇文章介绍了关于Service的两种启动方式,简要总结如下:Context.startService() Context.bindService()1. startService()的目的是回调onStart()方法,onCreate() 方法是在Service不存在的时候调用的,如果Service存在(例如之前调用了bindService,那么Service的onCreate方原创 2013-12-18 18:11:05 · 2847 阅读 · 0 评论 -
Android菜鸟的成长笔记(18)——绑定本地Service并与之通信
在上一篇中介绍了Service与Activity的区别及Service两种启动方式中的第一种启动方式startService().我们会发现用startService()、stopService()方法启动和关闭一个Service时,Service与访问者之间基本上不存在太多的关联,因此Service和访问者之间也无法进行通信和数据交换。如果要实现Service与Activity之间的通信就要原创 2013-12-18 16:54:59 · 2947 阅读 · 1 评论 -
Android菜鸟的成长笔记(17)—— 再看Android中的Unbounded Service
前面已经写过关于startService(Unbounded Service)的一篇文章:《Service与BroadcastReceiver——(1)Service简介》本篇将在这一篇的基础上再来看一下startService的用法。先看一段代码:原创 2014-02-23 23:10:05 · 3279 阅读 · 0 评论 -
Android菜鸟的成长笔记(16)——Service简介
Service是Android四大组件之一1、Service与Activity的区别在:Service一直在后台运行,没有用户界面。2、选择Activity与Service的标准:如果某个程序组件需要在运行时向用户呈现某种界面,或者改程序需要和用户进行交互,就需要用Activity,否则需要考虑使用Service.3、Android系统本身提供了大量的Service组件,开发者可以通过原创 2013-12-18 16:13:00 · 3211 阅读 · 1 评论 -
Android菜鸟的成长笔记(15)—— Android中的状态保存探究(下)
在上一篇中我们简单了解关于Android中状态保存的过程和原理,这一篇中我们来看一下在系统配置改变的情况下保存数据及恢复数据的过程。下面我们先来看一个现象......原创 2014-02-23 19:21:51 · 3484 阅读 · 0 评论 -
Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上)
我们在用手机的时候可能会发现,即使应用被放到后台再返回到前台数据依然保留(比如说我们正在玩游戏,突然电话来了,当接完电话游戏继续玩),某些应用甚至会保留你离开时候的状态及数据,这些原理是什么?怎么去实现这样的应用?这将是我们这一篇文章要解开的问题。有一句很常见的代码如下,很多人不知道为什么要加这么一句话 @Override protected void onCreate(Bundle s原创 2014-02-22 17:34:14 · 3721 阅读 · 0 评论 -
Android菜鸟的成长笔记(13)——异步任务(Async Task)
Android的UI线程主要负责处理用户的事件及图形显示,因此主线程UI不能阻塞,否则会弹出一个ANR(Application Not Responding)异常,所以不能在UI线程中执行耗时操作。AsyncTaskAsyncTaskParams:启动任务执行的输入参数的类型Progress:后台任务完成的进度值的类型Result:后台执行任务完成后返回结果的类型例子:原创 2014-02-18 12:53:38 · 4646 阅读 · 3 评论 -
Android菜鸟的成长笔记(12)——Handler、Loop、MessageQueue
当一个程序第一次启动时,Android会启动一条主线程(Main Thread),主线程主要负责处理与UI相关的事件,如按键事件、触屏事件、绘图事件,主线程也被称为UI线程。UI的操作只能是通过主线程来操作,为了解决多线程操作UI的问题,就用到了Handler类。一、Handler类Handler类的作用有两个:1、在新启动的线程中发送消息。2、在主原创 2014-02-18 09:06:00 · 4150 阅读 · 1 评论 -
Android菜鸟的成长笔记(11)——Android中的事件处理
Android提供了两种方式来处理事件,一个是基于回调的事件处理,另一个是基于监听的事件处理,举个例子:基于回调的事件处理 @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub return super.onTouchEvent(event);原创 2014-02-17 13:10:27 · 5146 阅读 · 3 评论 -
Android菜鸟的成长笔记(10)——使用Bundle在Activity之间传值
前面我们了解了如何启动一个Activity,一个Activity在启动另外一个Activity的时候可能会遇到需要传值的需要。Activity之间传值是通过Bundle来实现的。一、通过Bundle传值介绍Intent提供了多个重载方法来携带数据putExtras(Bundle data):向Intent中放入需要的数据包Bundle getExtras():取出Intent所原创 2014-02-16 14:38:00 · 7714 阅读 · 1 评论 -
Android菜鸟的成长笔记(9)——Intent与Intent Filter(下)
接着上一篇的内容,下面我们再来看看Intent的Data与Type属性。一、Data属性与Type属性Data属性通常用于向Action属性 提供操作的数据,Data属性接受一个Uri对象格式:scheme://host:port/path例如:content://com.android.contacts/contacts/1tel:123其中prot部分被省略了,原创 2014-02-16 13:45:51 · 3429 阅读 · 0 评论 -
Android菜鸟的成长笔记(8)——Intent与Intent Filter(上)
摘要:Intent代表了Android应用的启动“意图”,Android应用将会根据Intent来启动指定组件,至于到底启动哪个组件,取决于Intent的各个属性。一、显式的Intent明确指定了要启动的组件的Intent我们称为显式的Intent二、隐式的Intent没有明确指定要启动的组件的Intent我们称为隐式的Intent三、获取通讯录案例原创 2014-02-16 00:01:08 · 3789 阅读 · 2 评论 -
Android菜鸟的成长笔记(7)——什么是Activity
前面我们做了一个小例子,在分析代码的时候我们提到了Activity,那么什么是Activity呢?我们先去官方网站上去看一下文档:http://developer.android.com/reference/android/app/Activity.htmlActivity是Android应用程序提供交互界面的一个重要组件,也是Android重要组件之一。Activity的启动过程1、原创 2014-02-12 22:54:06 · 8080 阅读 · 0 评论 -
Android菜鸟的成长笔记(6)——剖析源码学自定义主题Theme
还记得在Android菜鸟的成长笔记(3)中我们曾经遇到了一个问题吗?"这个界面和真真的QQ界面还有点不同的就是上面的标题myFirstApp,怎么去掉这个标题呢?",当时我直接在AndroidMainfest.xml中添加了一个属性:android:theme="@android:style/Theme.NoTitleBar" 可能有的朋友就会迷惑了,为什么添加了这个属性就可以了。这一篇原创 2014-01-01 12:30:45 · 6711 阅读 · 1 评论 -
Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗?
在上一篇中我们用Android系统源代码分析了我们前面写的代码,有的朋友可能就会问怎么才能下载到Google官方的源代码呢?下面我们通过Git管理工具来对Android系统源代码进行下载。另外为了方便有的朋友下载,我将下载好的各个版本的源码存放到360云盘,云盘下载链接如下原创 2013-12-25 22:46:36 · 6513 阅读 · 4 评论 -
Android菜鸟的成长笔记(4)——你真的理解了吗?
在上一篇中我们查看了QQ的apk源文件中的布局结构,并仿照QQ完成了我们第一个应用的界面,详细请看《Android菜鸟的成长笔记》专栏。这一篇中我们来具体看看这个界面到底是怎么呈现出来的,具体的原理是什么等问题,下面我们将从Android系统源代码中一步一步的解开留在我们心中的谜团。原创 2013-12-25 19:30:25 · 4080 阅读 · 3 评论 -
Android菜鸟的成长笔记(3)——给QQ登录界面说So Easy
上一篇:Android菜鸟的成长笔记(3)——第一个Android应用我们前面已经做了第一个Android应用程序,虽然有点像QQ的登录界面,但是很多地方还是很难看,这一篇咱们来将这个界面做成一个标准的商业界面,并一起来了解Android中的代码运行的原理。原创 2013-12-24 15:12:25 · 6876 阅读 · 5 评论 -
Android菜鸟的成长笔记(2)——第一个Android应用
在上一篇Android菜鸟的成长笔记(1)中我们已经介绍了Android环境的搭建,下面我们就来开发一个属于我们自己的好玩的应用吧,是不是已经迫不及待了,下面我们先来看看运行效果。首先我们要创建一个手机模拟器点击eclipse上面的模拟器图标,弹出如下弹框。点击右边的New...按钮,我们来创建一个“手机”,这个手机几乎和我们用的真实手机相同,我们叫做Android模拟原创 2013-12-24 00:42:32 · 5784 阅读 · 5 评论 -
Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通
今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写一个搭建过程的文章。一、在百度中百度“Android官网”如图:二、进入官网,并进行开发者一栏,如下图三、如下图所示,点击“tools" 在这里有两种办法: 1、直接下载Google提供的eclipse集成的Android开发环境原创 2013-08-04 20:01:18 · 9326 阅读 · 17 评论