好吧,现在我们就一起来写第一个android程序,看它带给了我们什么。sdk的使用和虚拟机的创建我就不说了。项目创建过程先略过,不太重要。

那第一个程序我们能学到什么知识呢?一起看吧。^-^

在IDE中新建一个android项目:

如图:暂时就是一直下一步就可以了

创建好项目之后我们先来看一下项目的结构:

1.src目录:源代码文件存放的位置

2.gen目录:此目录中的文件由IDE生成,主要生成资源的ID,建议不要手动创建文件中的内容。程序需要通过里面的id引用资源

3.layout目录:存放程序的布局文件,以xml文件的形式存在,类似我们写动态网站的html文件的作用。主要呈现一种表现形式。可以理解为程序的外观

4.values目录:顾名思义,这个文件夹下面存放的是一种存放值类型的文件。如以后用到的字符串值(string)、颜色值(color)、尺寸值(dimension)等等

5.AndroidManifest.xml文件:程序的主要配置文件。类似一般程序中的ini配置文件,主要定义程序的行为

项目创建好后我们就可以直接运行了

先来看一下效果(到现在为止,效果很简单,没有什么激动人心的东西)

程序中都有什么:

程序名:HelloWorld

内容:hello world!

那么它们是在哪里定义的呢,我只定义了项目的名称啊?

在更进一步说明之前,我们先说一下预备知识。

Activity(什么是Activity)

  Activity现在我们暂时理解为一个简单的窗体,它用于存放我们程序中的内容。可以理解成html中body标签。windows程序中的Win Form。

现在我们先看一下layout目录下面有什么

对了,是一个activity_main.xml文件,那它有什么用呢?有web开发经验的人都知道index.html,对了,是首页,暂时就这样称呼吧,就是一个入口文件。

那它里面是什么呢,接着看

 <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=".MainActivity" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" /> </RelativeLayout>

我们来看看它们是什么

  RelativeLayout相对布局。有Web开发经验的都知道相对定位。它们确实有点像。(还有其他的布局现在不说)

           TextView:文本视图。它的唯一作用就是存放字符串。那它又和html中的什么相似呢?对了,是h标签,从h1到h(n)。除了TextView没有自动加粗的功能

    我们好像看到了一个hello_world了,但是它又跟我们上面看到的都不像啊。。。

好,我们来说说android:text的作用:

  它用于设置TextView的显示文本,就是上面空白地方显示的字符串hello world 

  @string/hello_world意思是将strings.xml文件中名叫hello_world的字符串中的值显示到TextView

我们之前说过,字符串值可以放到values目录下的文件中,所以这个strings.xml文件就是在这个目录下面。

           

strings.xml文件结构:

 <?xml version="1.0" encoding="utf-8"?>
<resources> <string name="app_name">HelloWorld</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string> </resources>

看到了吗?我们期待已久的Hello world!终于都出现了。

resources标签说明这些都是资源文件。

到此,我们剩下AndroidManifes.xm文件没有说了

先看代码:

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.aidevelopers.helloworld"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" /> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.aidevelopers.helloworld.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application> </manifest>

android:label="@string/app_name"这一行就是通过引用strings.xml文件中的app_name显示程序的名称的了

@符号其实就是一个引用标记。注意这里@后面的string没有s,而我们的strings.xml文件是有s的

@string就是引用strings.xml文件

@dimen就是引用dimens.xml文件

最后,程序通过src目录下面的MainActivity类将这个入口文件呈现给大家的了

 这里主要由Activity类的setContentView(R.layout.activity_main)方法完成

 package com.aidevelopers.helloworld;

 import android.os.Bundle;
import android.app.Activity;
import android.view.Menu; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} }

好了,今天就学习到这里,笔记也就做到这里了。

android开发------第一个android程序的更多相关文章

  1. 在开发第一个Android应用之前需要知道的5件事:

    你能否详细讲述一下,在开发Android应用过程中每一阶段要用到的技能和编程语言? 建立一个Android应用程序可以归结为两个主要技能/语言:Java和Android系统.Java是Android的 ...

  2. Android Studio新建一个HelloWorld 程序(App)

    Android Studio新建一个HelloWorld程序(App) 新建 或者直接启动程序(注:如果已有程序,此方法会直接打开最近一次关闭从程序) 更改App名 选择App运行平台 选择模板 更改 ...

  3. [译]:Xamarin.Android开发入门——Hello,Android Multiscreen深入理解

    原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本 ...

  4. [译]:Xamarin.Android开发入门——Hello,Android深入理解

    返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...

  5. [译]:Xamarin.Android开发入门——Hello,Android快速上手

    返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...

  6. Android开发周报:Android L默认加密用户数据

    Android开发周报:Android L默认加密用户数据 新闻 <iCloud前车之鉴,Android L默认开启加密功能>:iCloud 艳照风波再起,第二波女星照片流出,大量女星的裸 ...

  7. eclipse3.62开发第一个java程序HelloWorld

    [学习笔记] 用eclipse3.62开发第一个java程序: 使用eclipse之前们需要先配置一下jdk.window/preference/java/installed JREs,详细请见视频. ...

  8. [Ruby on Rails系列]3、初试Rails:使用Rails开发第一个Web程序

    本系列前两部分已经介绍了如何配置Ruby on Rails开发环境,现在终于进入正题啦! Part1.开发前的准备 本次的主要任务是开发第一个Rails程序.需要特别指出的是,本次我选用了一个(Paa ...

  9. Android开发工程师文集-Android知识点讲解

    前言 大家好,给大家带来Android开发工程师文集-Android知识点讲解的概述,希望你们喜欢 WebView讲解 一般通过Intent调用系统的浏览器: Uri uri = Uri.parse( ...

随机推荐

  1. [原]在win上编译 subversion 源码实践Tonyfield的专栏

    (百度和网页的作者无关,不对其内容负责。百度快照谨为网络故障时之索引,不代表被搜索网站的即时页面。) [原]在win上编译 subversion 源码实践 2013-6-9阅读400 评论0 (参考 ...

  2. java 正则表达式的应用:读取文件,获取其中的电话号码

    1.正则表达式 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描 ...

  3. KVM 介绍(8):使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机 [Nova Libvirt QEMU/KVM Live Migration]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  4. ssh连接失败,排错经验

    一.场景描述 ssh连接服务器,发现连接失败,但是对应服务器的ip能够ping通. 场景: [root@yl-web ~]# ssh root@10.1.101.35 ssh_exchange_ide ...

  5. [转]ASP.NET MVC Dynamic Themes

    本文转自:http://www.codeproject.com/Articles/32847/ASP-NET-MVC-Dynamic-Themes Download source code - 148 ...

  6. 「Mobile Testing Summit China 2016」 中国移动互联网测试大会-议题征集

    时至北京盛夏,一场由 TesterHome 主办的关于移动互联网测试技术的盛会正在紧锣密鼓的筹备中.只要你关注软件质量,热爱测试,期待学习,都欢迎你加入这次移动测试技术大会中和我们一起分享经验.探讨话 ...

  7. 有关数据库行、锁 的几个问题(rowlock)

    行锁的基本说明: SELECT au_lname FROM authors WITH (NOLOCK) 锁定提示                                 描述  HOLDLOC ...

  8. [No000013]在Office中关闭自动拼写检查和自动语法检查

    大家知道有时候语法检查很麻烦,搞得文档里都是红线和绿线.解决办法就是关闭自动拼写检查.现在我们来介绍怎么关闭office包括Word .Outlook .PowerPoint .OneNote .Pu ...

  9. 自定义右键菜单中bug记录

    今天客服部提出一个Bug,拖动滚动条到底部右键表格下方的数据,然后点击拨打电话打出的是表格上面的号码,看了下代码发现bug的原因是因为获取表格中电话号码的方式是通过给tr绑定了mouseover事件, ...

  10. 定时取数据库的schema,并推送到git服务器

    写了个脚本,定时去数据库取schema,并推送到公司的git里. #daily_schema.py #/usr/bin/env python import os import datetime,tim ...