一、开始

1.建立第一个应用程序

依赖关系和先决条件

欢迎来到Android应用程序开发!

这一节将教会你如何创建你的第一个应用程序.你将学会如何创建和运行一个可调试(?debugable)的Android应用程序,你将会学习一些基本的android应用程序设计,包括如何创建一个简单的用户接口和处理用户输入.

开始这节课之前, 请确认你的开发环境已经设置完毕. 你需要做如下步骤:

  1. 下载Android SDK.
  2. 安装ADT plugin for Eclipse (如果你使用eclipse的话).
  3. 下载最新SDK tools以及平台使用的SDK Manager.

如果你还没做这些, 那就开始下载Android SDK 并执行以上步骤吧. 安装完毕后你就可以开始这节课了.

教程将会使用循序渐进的创建一个小Android应用程序的方法教会你一些关于android开发的基本概念,所以最重要的是要遵循每一个步骤.

2.增加Action Bar

设置Action Bar(工具栏)

这节课将会教会你

  1. 支持Android 3.0及以上版本
  2. 支持 Android 2.1 及以上版本

你需要阅读以下章节

  • 设置支持库
  • 在最基本的样式中,action bar 将会在左边显示activity名称以及应用程序图标。 即使在一般情况下,工具栏也会用于告诉用户他们在哪个页面.

演示 1. An action bar with the app icon and activity title.

设置一个基本的工具栏需要你的应用程序使用activity主题并且实用了工具栏。根据你的应用程序中主题最低的android版本依赖的不同,这节课有两个不同的选择.

仅支持Android 3.0 及以上版本


从Android 3.0 (API level 11)开始,当默认主题需求的targetSdkVersion orminSdkVersion 属性为11或更高时,工具栏就已经包含在使用Theme.holo主题或其拓展主题的activity中。

所以要想在你的activity中添加工具兰,最简单的是设置需求版本属性为11或者更高,如下

<manifest ... >
    <uses-sdk android:minSdkVersion="11" ... />
    ...
</manifest>

主题: 如果你创建了一个自定义的主题,请确定是使用theme.holo中的一款主题为父主题,详见Styling the Action Bar.

现在Theme.Holo theme已经应用到你的应用程序并且所有activity将会显示工具栏,就这样.

支持Android 2.1 及以上


在低于android3.0,最低android2.1版本的系统中添加工具栏,需要你在你的应用程序中包含支持库。

首先, 阅读Support Library Setup 文档并设置 v7 appcompat 库 (一旦你已经下载的库包,按照说明添加库资源).

设置一次使你的应用程序项目与支持库相结合即可。

更新你的activity从ActionBarActivity继承,如下例

public class MainActivity extends ActionBarActivity { ... }

  1.  
  2. 在你的manifest文件中,更新<application> 元素或者单个<activity> 元素为使用  Theme.AppCompat主题.如下例:
    <activity android:theme="@style/Theme.AppCompat.Light" ... >

    主题: 如果你创建了一个自定义的主题,请确定是使用Theme.AppCompat中的一款主题为父主题,详见Styling the Action Bar.

Now your activity includes the action bar when running on Android 2.1 (API level 7) or higher.

现在当运行android2.1或者更高的版本时,你的activity已经包含了工具栏.

记得适当的在manifest中设置你的应用程序api支持版本:

<manifest ... >
    <uses-sdk android:minSdkVersion="7"  android:targetSdkVersion="18" />
    ...
</manifest>

3.支持不同的设备

4.管理Activity生命周期

5.使用fragments来创建一个动态UI

6.保存数据

7.与其他应用程序进行互动

8.内容分享

二、创建多媒体应用程序

1.录音管理

2.照相

三、创建图像/动画应用

1.高效显示Bitmaps

2.实用openGL ES显示图像

3.添加动画

四、创建网络和云应用

1.连接无线设备

2.执行网络操作

3.节能传输数据

4.云同步

5.解决云保存冲突

五、创建用户信息/本地应用程序

1.获取联系人数据

2.记住用户

3.应用程序位置感知

六、用户体验与UI实践

1.设计有效的导航

2.实现有效的导航

3.用户提醒

4.增加搜索功能

5.设计多屏

6.TV设计

7.创建自定义师徒

8.创建向后兼容的视图

9.实现可访问性

七、用户输入实践

1.使用触摸手势

2.处理键盘输入

八、性能实践

1.性能技巧

2.提升layout性能

3.运行在后台服务

4.后台加载数据

5.优化耗电

6.多线程操作

7.保持应用程序响应

8.JNI技巧

9.SMP Primer for android

九、安全与隐私事件

1.安全技巧

2.HTTPS和SSL安全

3.企业开发

十、测试实践

1.设置你的测试环境

2.创建和运行一个测试用例

3.测试UI组件

4.创建单元测试

5.创建功能测试

十一、利用Google Play来发布和赚钱

1.创建应用内置产品

2.维护多个APK包

3.通过你的应用程序赚钱

Android 官方新手指导教程的更多相关文章

  1. eclipse再见,android studio 新手入门教程(一)基本设置

    写在前面: 作为一个刚半只脚踏入android开发的新手,在使用eclipse开发了两个自我感觉不甚成熟的商城类app之后,遇到了一些问题,总结为如下: 代码复用性.findviewById,oncl ...

  2. eclipse 再见,android studio 新手入门教程(三)Github(ignore 忽略规则)的使用

    上传代码到github android studio里集成了上传代码到github的功能,所以使用上还是很简单的,设置里添加账号并测试,之后就可以很方便地上传代码到github了 如果你的项目是使用a ...

  3. eclipse再见,android studio 新手入门教程(二)项目的导入

    上一篇博客介绍了AS的一些常用设置方法,当工具调教妥当后,自然就要开始项目的开发啦.从零开始新建一个项目,这个简单,不必多说,这篇博客会分享我从旧平台eclipse导入项目到AS的过程,以及遇到的一些 ...

  4. Android基础新手教程——4.1.3 Activity登堂入室

    Android基础新手教程--4.1.3 Activity登堂入室 标签(空格分隔): Android基础新手教程 本节引言: 好的,在学习了两节的Activity后相信大家已经知道怎样去使用Acti ...

  5. Android基础新手教程——4.1.2 Activity初窥门径

    Android基础新手教程--4.1.2 Activity初窥门径 标签(空格分隔): Android基础新手教程 本节引言: 上一节中我们对Activity一些主要的概念进行了了解,什么是Activ ...

  6. Android基础新手教程——3.7 AnsyncTask异步任务

    Android基础新手教程--3.7 AnsyncTask异步任务 标签(空格分隔): Android基础新手教程 本节引言: 本节给大家带来的是Android给我们提供的一个轻量级的用于处理异步任务 ...

  7. Android基础新手教程——4.1.1 Activity初学乍练

    Android基础新手教程--4.1.1 Activity初学乍练 标签(空格分隔): Android基础新手教程 本节引言: 本节開始解说Android的四大组件之中的一个的Activity(活动) ...

  8. Android基础新手教程——1.5.2 Git之使用GitHub搭建远程仓库

    Android基础新手教程--1.5.2 Git之使用GitHub搭建远程仓库 标签(空格分隔): Android基础新手教程 本节引言: 在上一节中.我们学习了怎样使用Git.构建我们的本地仓库.轻 ...

  9. Android基础新手教程——1.2.1 使用Eclipse + ADT + SDK开发Android APP

    Android基础新手教程--1.2.1 使用Eclipse + ADT + SDK开发Android APP 标签(空格分隔): Android基础新手教程 1.前言 这里我们有两条路能够选,直接使 ...

随机推荐

  1. 查看linux内存、cpu

    1.查看cpu数 多核cpu,包括物理多核和逻辑多核,一台机器可能有多个cpu,每个cpu可能有多核的,多个可能包括物理多核和逻辑多核. /proc/cpuinfo 文件里记录了这些信息,以下是一个核 ...

  2. 使用bacula实现Linux的远程备份和还原

    Bacula,被誉为开源软件中最好的备份还原软件,它提供了企业级的客户机/服务器的备份解决方案,能够通过网络来管理文件的备份,恢复和核实工作.Bacula,既有windows版本的,也有Linux,U ...

  3. centos6.5 设置静态ip地址

    vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0BOOTPRO ...

  4. redis3.0集群使用发现的一些问题

    1.看了官方文档,没有发现有关整个集群关闭再启动的方法.集群是多机器多节点运行,一般情况不可能出现所有机器都挂掉.但万一同时挂掉,数据丢失的可能性就极大了. 验证方法:手动关闭了集群中所有节点,然后再 ...

  5. 【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2

    原文网址:http://bbs.51cto.com/thread-1099956-1.html 亲爱的学员们: 如今,各路开发者为淘一桶金也纷纷转入iOS开发的行列.你心动了吗?想要行动吗?知道如何做 ...

  6. 【转】Android--多线程之Handler--不错

    原文网址:http://www.cnblogs.com/plokmju/p/android_handler.html 前言 Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了 ...

  7. vijosP1285 佳佳的魔法药水

    vijosP1285 佳佳的魔法药水 链接:https://vijos.org/p/1285 [思路] 图论思想. 很巧妙. 如A+B=C,将AB之间连边,边权为C,用以找相连物品与合成物. 用Dij ...

  8. php 文本框里面显示数据库调出来的资料

    php 文本框里面显示数据库调出来的资料,,,在里面我标注了,,那个地方为什么是!=才能显示正确的数据库资料啊?我理解的是对比正确输出数据库内容的.大师貌似不知道为什么就写错了 <html> ...

  9. SRM 389(1-250pt)

    题意:按一定方法生成n个分数,求他们的和.n <= 20 解法:暴力.我只是没想到,10000^20用double算也能被接受0 0 tag:brute-force // BEGIN CUT H ...

  10. 分布式系统里session同步的那些事儿

    几周前,有个盆友问老王,说现在有多台服务器,怎么样来解决这些服务器间的session同步问题?老王一下就来精神了,因为在n年以前,老王还在学校和几个同学一起所谓创业的时候,也遇到了类似的问题.当时查了 ...