Android应用开发初印象

简介:

前段时间终于拿下了蓄谋已久的HTC G2 TIM,并且在手机上安装了各种各样的软件好好的玩了一把。总体感觉Android的应用相对来说还是少了一些,耐玩的游戏还不多。其中钻石迷情(jewels)还算是比较耐玩的,时间模式下我现在的最高分是46230,和高手比起来,不知道这个分数是不是还低了些呢,呵呵。我非常期待popcap的植物大战僵尸能够尽快移植到Android平台,这款游戏深受广大玩家的喜爱,原因就是非常的耐玩,并且考验智力。

智能手机的好处就是可以自己装软件,甚至是自己写在手机里运行的软件。Android的程序需要使用Java开发,这点让我有些不爽。因为一直以来我对Java都不太感冒,虽然在语法上看起来和C#很相似。但是没办法,我还是决定硬着头皮把eclipse装上,决定学习一下Android应用程序的开发,并且,打算第一个项目把之前使用Python写的NancyGLines游戏移植到Android中。这对我来说是一个激动人心的项目,第一次学习手机软件的开发,希望NancyGLines能够早点出来,放到Android Market里。

为了我的开山之作,自然要先了解Android开发的知识。于是,我在网上找了一圈,发现资料还不少,下面是我找到的电子书列表,都可以Google到,找不到的可以留言问我要:

Android-A-Programmer’s-Guide

Android-Essentials

Introduction-To-Android

Professional_Android_2_Application_Development

Android.Application.Development.-.Programming.With.The.Google.Sdk.(O'reilly,.2009,.0596521472)

由于刚入门,我还是选择先看Android的官方文档:

http://developer.android.com/guide/index.html

官方的文档非常的详细,从基础介绍,内部架构,到入门教学示例,到每个API的说明,都非常详细。因此,我花了2个晚上的时间,把Android开发的一些基础文章以及入门示例都看了一遍,对Android开发有了一些初印象,在这里做为自己的学习笔记记录一下。

工欲善其事必先利其器,首先我需要把Android的开发环境配置好。相信也有很多朋友和我一样,在这里耽误了不少了时间。其实官方的文档中已经写的很详细,只能怪我没有仔细的看清楚。ADT插件老是安装不少,最后的原因是没有安装JDK。

步骤如下:

1. 下载并安装JDK(5或6)。

2. 下载并解压Eclipse

3. 下载Android的SDK,解压后,设置环境变量PATH到Tool目录。

4. 在Eclipse中通过https://dl-ssl.google.com/android/eclipse/下载并安装Android Development Tools (ADT) Plugin。

5. 装好重启Eclipse后,在Window - Preference中设置Android SDK的路径。

6. 打开Android SDK and AVD Manager,安装不同平台的Android SDK版本,比如Andoid2.1 Android1.6。

完成了,其实并不复杂。接下来了解一下Android的架构:

由于是入门,看上面这张图还不是很有感觉。随着以后的深入,再回过头来看这张图,应该会更有感觉。

开发环境配置好后,最行之有效的学习方法是看官方的Tutorials,包括:

通过上面的示例,我会了解到以下东西:

1. Activity

Activity控制用户界面操作的实体,一个应用程序可以有多个Activity,但同时只能有一个Activity的用户界面呈现在用户面前。我们需要实现一个类,继承自Activity类,通过重写父类的一些特定方法,就能实现在某些事件发生下,执行一些特定的代码。比如,用户按键,触摸屏幕的某个点等等。其中,关于Activity的几个状态,需要重点搞清楚,见下图:

 

2. View

用户界面布局是通过xml来描述的,比如:


复制代码
<? xml version="1.0" encoding="utf-8" ?>
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"
      android:layout_width
="wrap_content"
    android:layout_height
="wrap_content" >
    
< ListView  android:id ="@android:id/list"
            android:layout_width
="wrap_content"
            android:layout_height
="wrap_content" />
    
< TextView  android:id ="@android:id/empty"
            android:layout_width
="wrap_content"
            android:layout_height
="wrap_content"
            android:text
="@string/no_notes" />

</ LinearLayout >
复制代码


里面的ListView ,TextView可以理解为自带的一些控件。同时,我们也可以实现自己自定义的View,只要继承自View类。比如:

< com.coderzh.nancyglines.GLinesView
    
android:id ="@+id/glines"
        android:layout_width
="fill_parent"
        android:layout_height
="fill_parent" />


然后实现GLinesView类:


public   class  GLinesView  extends  View {

}


其中一个最重要的方法就是onDraw,用来画想要呈现的用户内容。比如,我想在屏幕上写一个Hello。

复制代码
@Override
protected   void  onDraw(Canvas canvas) {
    
//  TODO Auto-generated method stub
     super .onDraw(canvas);
    mPaint.setTextSize(
20 );
    mPaint.setColor(Color.BLUE);
    canvas.drawText(
" Hello " 20 20 , mPaint);
}
复制代码


3. Intent

Intent表示你想要做什么,AndroidManifest.xml中的filterIntent表示你的应用程序能够处理什么样的Intent。有时,还可以通过Intent来实现不同窗体间互相传递信息。

4. AndroidManifest.xml文件

相当于ASP.NET的Web.config文件了,全局的一些配置。比如,设置Activity,filterIntent等等。

5. 资源访问的R.java

Android里访问资源非常简单,当我们添加了资源到res目录后,ADT插件会自动更新R.java文件,通过R类,就能轻松的访问到任何res中的资源。同时,也可以界面的xml中方面的使用。

6. 数据库

使用sqlite,有现成的SQLiteDatabase类可用来操作数据库。

上面都只是非常粗略的介绍,想要更深的理解还需要更多的实践。不过,通过了解上面的基本内容,我们可以大致了解开发过程中的一些步骤的实施方式。比如,界面布局在哪里设置,事件如何触发,数据如何保存,资源如何使用等等。以后若有所得,再来总结了。

 

 

本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2010/03/20/android-first.html,如需转载请自行联系原作者

相关文章
|
23天前
|
存储 Android开发 开发者
深入理解安卓应用开发的核心组件
【10月更文挑战第8天】探索Android应用开发的精髓,本文带你了解安卓核心组件的奥秘,包括Activity、Service、BroadcastReceiver和ContentProvider。我们将通过代码示例,揭示这些组件如何协同工作,构建出功能强大且响应迅速的应用程序。无论你是初学者还是资深开发者,这篇文章都将为你提供新的视角和深度知识。
|
26天前
|
数据可视化 Android开发 开发者
安卓应用开发中的自定义View组件
【10月更文挑战第5天】在安卓应用开发中,自定义View组件是提升用户交互体验的利器。本篇将深入探讨如何从零开始创建自定义View,包括设计理念、实现步骤以及性能优化技巧,帮助开发者打造流畅且富有创意的用户界面。
58 0
|
1天前
|
搜索推荐 前端开发 Android开发
安卓应用开发中的自定义视图实现
【10月更文挑战第30天】在安卓开发的海洋中,自定义视图是那抹不可或缺的亮色,它为应用界面的个性化和交互体验的提升提供了无限可能。本文将深入探讨如何在安卓平台创建自定义视图,并展示如何通过代码实现这一过程。我们将从基础出发,逐步引导你理解自定义视图的核心概念,然后通过一个实际的代码示例,详细讲解如何将理论应用于实践,最终实现一个美观且具有良好用户体验的自定义控件。无论你是想提高自己的开发技能,还是仅仅出于对安卓开发的兴趣,这篇文章都将为你提供价值。
|
1天前
|
JSON Java Android开发
探索安卓开发之旅:打造你的第一个天气应用
【10月更文挑战第30天】在这个数字时代,掌握移动应用开发技能无疑是进入IT行业的敲门砖。本文将引导你开启安卓开发的奇妙之旅,通过构建一个简易的天气应用来实践你的编程技能。无论你是初学者还是有一定经验的开发者,这篇文章都将成为你宝贵的学习资源。我们将一步步地深入到安卓开发的世界中,从搭建开发环境到实现核心功能,每个环节都充满了发现和创造的乐趣。让我们开始吧,一起在代码的海洋中航行!
|
1天前
|
Android开发 Swift iOS开发
探索iOS与安卓应用开发的差异性
探索iOS与安卓应用开发的差异性
8 2
|
7天前
|
传感器 XML IDE
探索安卓应用开发:从基础到进阶
【10月更文挑战第23天】在数字化时代的浪潮中,移动应用已成为人们日常生活的延伸。本文以安卓平台为例,深入浅出地介绍了如何从零开始构建一个安卓应用,涵盖了开发环境搭建、基本组件使用、界面设计原则以及进阶技巧等关键步骤。通过实例演示和代码片段,引导读者逐步掌握安卓应用开发的核心技能,旨在激发更多开发者对安卓平台的探索热情,并为初学者提供一条清晰的学习路径。
|
1天前
|
存储 搜索推荐 Java
打造个性化安卓应用:从设计到实现
【10月更文挑战第30天】在数字化时代,拥有一个个性化的安卓应用不仅能够提升用户体验,还能加强品牌识别度。本文将引导您了解如何从零开始设计和实现一个安卓应用,涵盖用户界面设计、功能开发和性能优化等关键环节。我们将以一个简单的记事本应用为例,展示如何通过Android Studio工具和Java语言实现基本功能,同时确保应用流畅运行。无论您是初学者还是希望提升现有技能的开发者,这篇文章都将为您提供宝贵的见解和实用的技巧。
|
5天前
|
搜索推荐 开发工具 Android开发
打造个性化Android应用:从设计到实现的旅程
【10月更文挑战第26天】在这个数字时代,拥有一个能够脱颖而出的移动应用是成功的关键。本文将引导您了解如何从概念化阶段出发,通过设计、开发直至发布,一步步构建一个既美观又实用的Android应用。我们将探讨用户体验(UX)设计的重要性,介绍Android开发的核心组件,并通过实际案例展示如何克服开发中的挑战。无论您是初学者还是有经验的开发者,这篇文章都将为您提供宝贵的见解和实用的技巧,帮助您在竞争激烈的应用市场中脱颖而出。
|
7天前
|
算法 Java 数据库
Android 应用的主线程在什么情况下会被阻塞?
【10月更文挑战第20天】为了避免主线程阻塞,我们需要合理地设计和优化应用的代码。将耗时操作移到后台线程执行,使用异步任务、线程池等技术来提高应用的并发处理能力。同时,要注意避免出现死循环、不合理的锁使用等问题。通过这些措施,可以确保主线程能够高效地运行,提供流畅的用户体验。
18 2
|
10天前
|
Java API Android开发
安卓应用程序开发的新手指南:从零开始构建你的第一个应用
【10月更文挑战第20天】在这个数字技术不断进步的时代,掌握移动应用开发技能无疑打开了一扇通往创新世界的大门。对于初学者来说,了解并学习如何从无到有构建一个安卓应用是至关重要的第一步。本文将为你提供一份详尽的入门指南,帮助你理解安卓开发的基础知识,并通过实际示例引导你完成第一个简单的应用项目。无论你是编程新手还是希望扩展你的技能集,这份指南都将是你宝贵的资源。
38 5