原创 Android第一站 HelloWorld之工程框架

2011-1-25 17:41 2206 7 9 分类: 智能手机

之前花了很多时间建立的Android的开发环境,本来以为可以大刀霍霍的入门,但是比我想象的更加难一些。因为本人也没有Java的编程经验,只能靠我C和C++的一些知识来维持了。原本看的文档比较水,只教你怎么用,却没有教你为什么要这样子做。所以就在网上地毯式搜索资料,感觉Android这个东西实在太火了,网上的资料可谓是一堆堆的。怪不得我同学叫我不要买书,网络是我们最好的资源。

废话不多,直奔主题,按照文档上面的方法建立了一个HelloWorld的工程,那个我们就看看这个工程是怎么构建的。

程序代码说明:

工程名.java:主程序

main.xml:主程序版本布局

colour.xml:色彩或资源常数

strings.xml:共享字符串常数

 

 

 HelloActivity .java 程序如下(工程名为 HelloActivity )

package com.sharpandroid.hello;

import android.app.Activity;
import android.os.Bundle;

public class HelloActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
setContentView(R.layout.main);
    }
}

有程序和我仅有的关于类的了解,我们看到 HelloActivity 继承了Activity类,在类中重新了OnCreate函数,setContentView(R.layout.main);来显示布局

 

具体布局程序main.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />
</LinearLayout>

在这个xml文件中,定义了两个布局,一个是<LinearLayout 和一个<TextView 

在布局设置中设置了一个TextView TAG,用以配置文本标签Widget

,其内部设置有android:text用于显示要显示的文字。引用string常量里面hello里面的字符常量。

 

 

具体的字符串常量如何设置就要看看strings.xml了

具体如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   
<string name="hello">Hello World, HelloActivity!</string>
   
<string name="app_name">Android,你好!</string>
</resources>

其中hello是上面布局要显示的内容,而ap_name是用于显示程序的名字。

Android的应用程序有以下三种:

前端Activity

后台服务

间隔执行Activity

前端Activity是如同helloworld一样的运行在手机里面的程序,后台服务是看不见的系统服务,系统信息、接收器等等。间隔执行:如进程等。

每一个项目都有一个Androidmainfest.xml设置文件,里头包含了这个Android应用程序具有哪些Activity、Service、和Receiver等,默认的如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="
http://schemas.android.com/apk/res/android"
      package="com.sharpandroid.hello"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon"

//设置程序的图标

android:label="@string/app_name">
        <activity android:name=".HelloActivity"
                
  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>
    <uses-sdk android:minSdkVersion="8" />

</manifest>

 

这样的话,一个最初的Helloworld程序就搞掂了,运行以下,我们就可以知道这个程序的是干嘛用的。也可以自行修改以下这个程序,在探索以下其中的奥秘。

 

 


 


PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

xucun915_925777961 2011-1-25 22:56

走过路过,来学习一下^_^

用户371925 2011-1-25 18:18

看着怎么像HTML?
相关推荐阅读
用户307537 2011-07-12 01:24
ad603中文资料
ad603中文资料 2008-03-24 21:32:16|  分类: 电子设计 |  标签: |字号大中小 订阅 正文内容: 在很多信号采集系统中,信号变化的幅度都比较大,那么放大以后的信号幅...
用户307537 2011-06-10 20:39
电脑PC端下载电子市场(Market)软件,Android SDK模拟器安装电子市场(Market)
http://bbs.dospy.com/thread-10844471-1-404-1.html...
用户307537 2011-06-02 15:48
使用BSRR和BRR寄存器直接操作STM32的I/O端口
标签: STM32  GPIO   使用BSRR和BRR寄存器直接操作STM32的I/O端口 STM32的每个GPIO端口都有两个特别的寄存器,GPIOx_BSRR和GPIOx_BRR寄存器,通...
用户307537 2011-05-30 22:53
免费芯片申请地址
免费芯片申请地址 1、铁电存储器(未见量的限制,据说最多有人申请了100片,不知真假.)介绍:铁电存储器(FRAM)产品将ROM的非易失性数据存储特性和RAM的无限次读写、高速读写以及低功耗等优势结...
用户307537 2011-03-20 23:16
STM32高级控制定时器1学习
学习STM32这么久了,很想将所学到的东西总结一下,好让自己不会在遗忘中迷失。 高级控制定时器(Tim1)是由一个16位的自动装载计数器组成,它由一个可编程预分频器驱动。 用途在于:测量输入信号的脉冲...
用户307537 2011-03-20 01:02
2440串口纠结后
以前一直都是在纠结在串口中,现在终于解决了。我整个人都好像轻松了不少。我又可以进行我的嵌入式之旅了。原来市面上卖的串口线,有两种,一种是默认TXD和RXD相连的,而另外一种没有,所以,我不知道,刚刚好...
EE直播间
更多
我要评论
2
7
关闭 站长推荐上一条 /3 下一条