目录

  • 如何安装Android SDK、创建开发环境和调试项目
  • 移动设计中一些注意事项
  • 使用Android虚拟设备、模拟器和其他开发工具

如何安装Android SDK、创建开发环境和调试项目

下载和安装Android SDK :

我的是window7系统,当然下载 SDK starter package 最合适了: http://developer.android.com/sdk/index.html

image

下载完打开压缩包如下:

image

然后把这个包解压到一个目录,运行 SDK Manager.exe:

image

其中包括平台工具(Tools),每个平台版本和一组extra 的节点。

下载时要选中对应于最新的框架SDK和最新的版本工具、兼容/支持包、文档和示例代码的复选框。

当有新的Android框架SDK、开发工具、示例代码、文档、兼容库和第三方增件可用时,可以使用 Android SDK Manager 下载和安装更新。

Eclipse的ADT插件功能:

  • 集成Android项目创建向导。
  • 基于窗体的manifest文件、布局和资源管理器以帮助创建、编辑和验证XML资源。
  • 自动的构建Android项目,转换为Android的可执行文件.dex,打包为包文件.apk,并把包安装到Dalvik虚拟机(可以运行在虚拟机和实际设备上)。
  • Android虚拟设备管理器:运行特定版本Android OS、设定硬件和内存限定。
  • Android模拟器:外观,网络连接设置以及模拟来电,SMS消息的能力。
  • Dalvik 调试监控服务(Dalvik Debug Monitoring Service,DDMS),包括:端口转发(port forwarding),栈、堆和线程查看,进程细节和屏幕捕捉功能。
  • 访问设备或者模拟器的文件系统,允许浏览目录和转移文件。
  • 运行调试。设置断点和查看调用栈。
  • 所有的Android/Dalvik日志和控制台输出。

安装ADT插件:还算简单,如下图。

Eclipse 选择 Help|Install New Software:

image

创建和理解第一个HelloWorld程序:

(1)选择Eclipse的File|New|Project|Android Application 类型|Next:

image

(2)填写信息之后一路Next便创建了一个默认的Hello World程序。

当然还得创建一个虚拟器AVD:

(1) Eclipse 选择 Window|AVD Manager|Create:

image

(2)填写信息即可OK。

还需要创建一个启动配置哦:

  • 要启动的项目和Activity
  • 部署目标(虚拟设备和时间设备)
  • 模拟器的启动参数
  • 输入/输出设置(包括默认的控制台)

创建和设置就简单啦:

image

填写信息,Apply保存当前设置。

终于运行和调试了(F5行不通了):

当然选择Run/Debug了

image

理解一下HelloWorld是个什么东东:

Activity是应用程序中可见的交互组件的基类,大概等同于桌面应用程序开发中的窗体Form哦。AndroidBarActivity是支持库里的类可以兼容2.x版本, activity提供的actionbar只有在3.0以上才可以用的。

package com.example.hello;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

在Android中,可视化组件称为视图(View),它类似于传统桌面应用开发中的控件。

setContentView是用来布局的,当然是通过传入的那个参数:布局资源。所以必须重写OnCreate方法。

注意到R变量:提供对资源的设计时访问。

<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.hello.MainActivity" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />

</RelativeLayout>

定义UI有两种方式:

(1) XML,这样可以把应用程序逻辑和UI分离开来。

Code中访问UI元素是通过标识符属性获取的,例如:

<TextView android:id=”@+id/myTextView”
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />

Code访问:TextView myTextView = (TextView)findViewById(R.id.myTextView);

(2) Code,按需使用。

移动设计中一些注意事项

Android的应用程序类型:

  • 前台应用程序
  • 后台应用程序
  • 间歇式应用程序
  • Widget和Live Wallpaper

移动设备的特点:

  • 低处理能力
  • 有限的RAM
  • 有限的永久存储能力
  • 低分辨率的小屏幕
  • 与数据传输相关的更高成本
  • 连接不稳定,低速的数据传输速率,高延迟
  • 更不可靠的数据连接
  • 有限的电池使用时间

开发中考虑事项:

  1. 高效
  2. 考虑有限的能力
  3. 为不同的屏幕进行设计
  4. 考虑低速率,高延迟
  5. 需要多少花费

使用Android虚拟设备、模拟器和其他开发工具

1. Android虚拟设备管理器

可以设置:

  • 虚拟机最大堆大小
  • 屏幕的像素密度
  • SD卡支持
  • 是否具有DPad、触摸屏、键盘和跟踪球等硬件
  • 加速计、GPS和距离传感器支持
  • 可用设备的内存
  • 摄像头硬件(及分辨率)
  • 录音支持
  • 是否具备硬件back和home键

2. Android SDK 管理器

3. Android 模拟器

4. DDMS:允许查看Activity进程、查看栈、查看和暂停Activity线程以及浏览任何已连接Android设备的文件系统

5. Android调试桥(ADB):一个客户端-服务器应用程序,它允许连接任何Android设备(真实的或者虚拟的)它由三个组件组成,

  • 一个设备或模拟器上运行的守护进程
  • 一个在开发计算机上运行的服务
  • 通过服务来和守护进程进行通信的客户端应用程序(如:DDMS)

6. Hierarchy Viewer 和 Lint 工具:帮助分析、调试和优化应用程序内使用的XML布局定义。

7. Monkey 和 Monkey Runner: 用来在一个UI视图中测试应用程序的稳定性。

Monkey 要在 ADB shell 中使用,它把一个伪随机系统和UI事件流发送给应用程序。在对应用程序进行压力测试,以了解在一些你可能没有想到的边缘情况下对UI的非常规使用是否会导致问题时,Monkey 十分有用

Monkey Runner 则是一个Python脚本 API,允许发送特殊的UI命令,以从应用程序外部控制模拟器或者设备。以一种可预测、可重复的方式执行UI测试、功能测试和单元测试十分重要。

以上几个工具看来比较强大哦,后面慢慢滴研究啊!!!

Q&A

Q:Android在启动模拟器AVD时,出现下面的异常:“Failed to allocate memory: 8”,怎么办?

A:减少分配的内存大小。修改AVD的配置文件,将选项“hw.ramSize=1024”从1024改为256。如图所示:

image

今天按Ctrl+S之前突然停电,写的很多,可惜丢了又来过一遍,气煞我也。

更多相关文章

  1. Android核心分析(20)----Android应用程序框架之无边界设计意图
  2. Android应用程序消息处理机制(Looper、Handler)分析(1)
  3. android基础知识17:Android设备常见问题与测试要领
  4. Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程
  5. 【苦读官方文档】2.Android应用程序基本原理概述
  6. Android 应用程序界面设计建议
  7. 关于启动Android模拟器时,运行时,会再弹出一个模拟器的问题
  8. 使用android快速开发框架afinal 开发android应用程序

随机推荐

  1. php没有文件被上传的实例分析及解决办法
  2. jsp中自定义Taglib详解
  3. ASP动态include文件
  4. HTML 模态框学习
  5. React入门
  6. 模态框实例
  7. PHP函数的参数与返回值、匿名函数、回调
  8. 伪类选择器、字体图标、盒模型
  9. Python中的if嵌套介绍【语法、实例、执行
  10. Python中if判断语句的综合应用:猜拳游戏(包