“小尖椒”通过精心收集,向本站投稿了6篇Android笔记(一)―― hello world程序结构分析,今天小编就给大家整理后的Android笔记(一)―― hello world程序结构分析,希望对大家的工作和学习有所帮助,欢迎阅读!

Android笔记(一)―― hello world程序结构分析

篇1:Android笔记(一)―― hello world程序结构分析

新建一个android project,(我用的是2.3.3的Target),eclipse会自动生成以下内容——

——这是一个完整的可运行的“hello world”程序,

运行结果为:

在屏幕上显示出了Hello world,Demo_01Activity!

然后就开始分析以下这个程序吧——

在AndroidManifest.xml中有如下代码段:

[html]

< activity

android:label=“@string/app_name”

android:name=“.Demo_01Activity” >

即说明Demo_01Activity是程序的入口。

然后Demo_01Activity.java 的内容:

[java]

package barry.android.demo;

import android.app.Activity;

import android.os.Bundle;

public class Demo_01Activity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

}

所有的Activity都要继承Activity类。

Demo01_Activity类覆写了父类的onCreate方法,在程序启动时会执行此方法。

在执行父类的onCreate方法之(第7行)后,执行了方法setContentView(R.layout.main),这个方法的作用是从布局配置文件中加载内容到Activity中。

setContentView(R.layout.main)的参数——R.layout.main——R.java是自动生成的资源文件,我们用到的资源(res文件夹中的图片、字符串、配置文件等)都会在R.java中自动生成相应的映射,引用资源时只需引用R文件中的相应映射即可,

R.layout.main即对应res/layout/路径下的main.xml。

main.xml的内容:

[html]

< ?xml version=“1.0” encoding=“utf-8”?>

< LinearLayout xmlns:android=“schemas.android.com/apk/res/android”

android:layout_width=“fill_parent”

android:layout_height=“fill_parent”

android:orientation=“vertical” >

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:text=“@string/hello” />

< /LinearLayout>

< LinearLayout>标签指示控件的排列式为线性,android:orientation=“vertical”指示为垂直排列,android:layout_width=“fill_parent” 、android:layout_height=“fill_parent” 指示显示方式为充满父控件(Activity的父控件即整个屏幕)。

标签内有一个文本框标签,指示显示一个文本框,其三个属性分别指示:文本框高度为充满父控件、宽度为自动适应内容、以及显示字符串 ”@String/hello” 。

@String/hello 指res/values/目录下的string.xml的相应配置的名为”hello”的字符串,值为“Hello World, Demo_01Activity!”——

string.xml内容:

[html]

< ?xml version=“1.0” encoding=“utf-8”?>

< resources>

Hello World, Demo_01Activity!

Demo_01

< /resources>

在手机程序菜单里所显示的图标——,

以及程序的标题显示——,也是由AndroidManifest.xml中代码所配置的:

[html]

android:icon=“@drawable/ic_launcher”

android:label=“@string/app_name”

其中图标默认提供了三种分辨率——,具体使用哪个由系统根据手机的不同分辨率决定。

所以,由以上过程,在运行demo_01时会产生前面图示的结果。——一个最简单的hello world程序。

摘自 狼的第二个小窝

篇2:Android笔记:stackview

Android笔记(一)―― hello world程序结构分析

stackview相关范例:(附件)

参考资料:

1.sampleprogramz.com/android/stackview.php

2.stackoverflow.com/questions/9997753/how-to-create-custom-stackview-for-android-2-2-or-2-3

3.stackoverflow.com/questions/5544112/alternative-views-instead-of-stackviews-for-android-versions-lower-to-android-3

4.stackoverflow.com/questions/12286506/simulate-stack-view-in-android2api-5

本文出自 “天空没有痕迹但我飞过” 博客,请与作者联系!

篇3:DEDECMS仿站终极教程之DEDE程序结构分析

我们了解了DEDECMS的程序目录结构和相关模板的含义,通过第一节,我们对DEDE的模板有了一个初步的认识.在这一节,我将引导大家来分析和了解D...

我们了解了DEDECMS的程序目录结构和相关模板的含义,通过第一节,我们对DEDE的模板有了一个初步的认识.在这一节,我将引导大家来分析和了解DEDE模板文件的代码结构.

准备工作:

1:安装好DW,如果实在不想安装也行.用记事本也可以.不过用DW可以把结构看的很清楚.在记事本里看会把你搞迷糊的

2:你安装了DEDECMS.并进入/templets/default(默认模板目录)目录.

OK!Let's GO!

用DW打开文件index.htm

如果你不熟悉HTML和CSS 建议去补习下.在这里就不系统讲这些额外的东西了.在这里假设你看的懂HTML和CSS代码,会不会写姑且不管.

先来看下《head》《/head》部分.head上面的一般不管.

在head 标签范围内主要包括了三类东西

1:title标签

2:mete标签 keywords description等

3:CSS文件链接.

大家可以看下 head部分.是不是包括了这几部分.

至于 那些JS调用都不是必须的.只不过在首页index.htm模板有用到一些特殊的地方需要调用函数才加在head里的.我把代码贴出来了

{dede:global.cfg_webname/}

{dede:global.cfg_webname/}是你的网站名

{dede:global.cfg_description/}是你的网站描述

{dede:global.cfg_keywords/} 是你的网站关键字

你在仿站的时候 这三个值应该都是别人的.要变成自己的 就要用这些标签替换掉

然后我们再往下看.紧跟着的是《body》《/body》 标签..这里面的内容才是页面正文的开始.

body里的结构大体如下

{dede:include filename=“head.htm”/}

...中间代码

{dede:include filename=“footer.htm”/}

大家这样看 结构就清楚了吧..

{dede:include filename=“head.htm”/}是头部代码 如果你要修改头部代码就去head.htm

{dede:include filename=“footer.htm”/}是尾部代码 同样你要修改就去footer.htm

其他index_*.htm list_*.htm article_*.htm 等几乎所有的模板结构都是这样的.

现在有个大体的印象了.每个模板主要有两个部分构成

部分和 部分

部分 又由 头部模板 中间模板 和尾部模板.

在所有模板中 head.htm 和footer.htm 是其他模板的公共模板.都要调用到它们.所以 当制作模板的时候,最好把头部和尾部设计成这样..可以和系统同步.

OK..是不是也很简单.

厚诚集智 成长无限 企业大学网 www.51hlht.com

篇4:Android自学笔记4简单电话拨号器

动手写一个简单的电话拨号器,功能在文本框中输入电话号码,点击拨打按钮拨打电话,(小例子没有对号码正确性进行验证)

1 建立一个android工程,名字就叫做电话拨号器。由于ADT的新版本支持中文的项目,所以可以直接使用中文。工程的基本目录如下:

2 开发拨打电话的界面。

打开工程的res/layout/activity_main.xml文件,这时候右边会出现一个可视化的界面工具。在android中所有的界面布局都是写在xml里面的,这里虽然可以直接拖动对应的控件就可以,但是最后生成的还是xml文件。简单的布局如下:

3 编写代码,处理点击事件,拨打电话。

首先找到对应的按钮对象,添加点击事件,在点击的时候获取电话号码,拨打电话,代码如下:

ackage com.mxy.dail;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

public class MainActivity extends Activity {

//定义变量

private Button btnDail;

private EditText phoneNumber;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//使用findViewById 获取按钮和文本框对象 并进行类型的强制转换

btnDail = (Button) findViewById(R.id.btn_dail);

//为按钮添加监听事件

btnDail.setOnClickListener(new MyListener);

phoneNumber = (EditText) findViewById(R.id.number);

}

private class MyListener implements OnClickListener{

@Override

public void onClick(View v) {

//获取输入的电话号码

EditText phoneNumber = (EditText) MainActivity.this.findViewById(R.id.number);

String number = phoneNumber.getText().toString();

//验证电话号码是否可用

//想干什么

Intent intent = new Intent();

//具体想做什么

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse(“tel:” + number));

//使用这个需要在AndroidManifest.xml文件中添加对应的权限 android.permission.CALL_PHONE

startActivity(intent);

}

}

}

4 添加对应的权限

在AndroidManifest.xml文件中添加拨打电话的权限,如果不添加此权限程序运行的时候将会崩溃,添加如下代码:

5 运行

在项目上点击右键,选择Run As --> Android Application,选择设备运行、测试,

工程下载地址:pan.baidu.com/s/1gdwuybT

篇5:Android学习笔记总结初学者必看

第一步:

Android(1) - 在 Windows 下搭建 Android 开发环境,以及 Hello World 程序

搭建 Android 的开发环境,以及写一个简单的示例程序

在 Windows 下搭建 Android 开发环境 Android 项目的目录结构说明 写一个简单的 Hello World 程序

一、在 Windows 下搭建 Android 开发环境

1、安装 JDK (Java Development Kit)

download.java.net/jdk6/

2、安装 Android SDK

developer.android.com/sdk

3、安装 Eclipse

/android/eclipse/ ,然后安装 ADT(Android Development Tools)

5、新建 Android 项目

“New” -> Android Project,Project Name - 项目名称;Build Target - 编译项目的 SDK 版本;Application name - 程序名称;Package name - 包名;Min SDK Version - 程序所支持的最低 SDK 版本代号(2 对应 1.1,3 对应 1.5,4 对应 1.6)

6、运行 Android 项目

打开菜单 “Run” -> “Run Configurations” -> New launch configuration,设置启动项目名称,在 Android 选项卡中选择启动项目,在 Target 选项卡中设置模拟器

7、创建/使用模拟 SD 卡

创建 SD 卡,运行类似如下命令:mksdcard -l sdcard 512M d:androidsdcard.img

模拟器中使用 SD 卡,在项目配置的 Target 选项卡的 “Additional Emulator Command Line Options” 框中输入类似如下参数:-sdcard d:androidsdcard.img

8、配置模拟器

运行类似如下命令:android create avd --name android15 --target 2。或者直接在菜单 “Window” -> “Android AVD Manager” 中配置模拟器

9、浏览模拟 SD 卡中的内容

调试程序,在 DDMS 中选择 “File Explorer” ,在其中的 sdcard 目录下就是模拟 SD 卡中的内容

10、查看日志 LogCat

Window -> Show View -> Other -> Android -> LogCat

11、在模拟器中安装/卸载 apk

安装 apk 运行类似如下命令:adb install name.apk;卸载 apk 运行类似如下命令:adb uninstall packagename(注:这里的参数是需要卸载的包名)

12、反编译 Android 程序

解压 apk 文件,取出其中的 classes.dex 文件,运行类似如下命令:dexdump.exe -d classes.dex > dump.txt(其意思是将 classes.dex dump 出来,并将反编译后的代码保存到指定的文本文件中)

13、人品不好是出现的某些错误的解决办法

如果出现类似如下的错误等

no classfiles specified

Conversion to Dalvik format failed with error 1

解决办法:Project -> Clean

出现 Android SDK Content Loader 60% (一直卡在 60%)

解决办法:Project -> 去掉 Build Automatically 前面的勾

14、查看 SDK 源代码

先想办法搞到源代码,如这个地址 /android.asp ,然后将其解压到 SDK 根路径下的 sources 文件夹内即可

二、Android 项目的目录结构

1、src - 用于放置源程序

2、gen - 自动生成 R.java 文件,用于引用资源文件(即 res 目录下的数据)

3、assets - 用于放置原始文件,Android 不会对此目录下的文件做任何处理,这是其与 res 目录不同的地方

4、res/drawable - 用于放置图片之类的资源;res/layout - 用于放置布局用的 xml 文件;res/values - 用于放置一些常量数据

5、AndroidManifest.xml - Android 程序的清单文件,相当于配置文件,配置应用程序名称、图标、Activity、Service、Receiver等

三、Hello World 程序

1、res/layout/main.xml 代码

android:layout_width=“fill_parent”

android:layout_height=“fill_parent”

android:id=“@+id/layout”

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:text=“@string/hello”

/>

android:layout_width=“fill_parent”

android:layout_height=“wrap_content”

android:id=“@+id/txt”

/>

2、res/values/strings.xml

代码

layout 直接调用 values 中的.字符串

编程方式调用 values 中的字符串

webabcd_hello

3、res/drawable 目录下放置一个名为 icon.png 的图片文件

4、AndroidManifest.xml

代码

package=“com.webabcd.hello”

android:versionCode=“1”

android:versionName=“1.0”>

android:label=“@string/app_name”>

5、Main.java 代码

package com.webabcd.hello;

import android.app.Activity;

import android.os.Bundle;

import android.widget.LinearLayout;

import android.widget.TextView;

public class Main extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 将指定的布局文件作为 Activity 所显示的内容

setContentView(R.layout.main);

// 动态地在指定的容器控件上添加新的控件

TextView txt = new TextView(this);

txt.setText(“动态添加控件”);

// setContentView(txt);

((LinearLayout)this.findViewById(R.id.layout)).addView(txt);

// 引用资源文件内的内容作为输出内容

TextView txt1 = (TextView)this.findViewById(R.id.txt);

txt1.setText(this.getString(R.string.hello2));

}

}

Android(2) - 布局(Layout)和菜单(Menu)

介绍

在 Android 中各种布局的应用,以及菜单效果的实现

? 各种布局方式的应用,FrameLayout, LinearLayout, TableLayout, AbsoluteLayout, RelativeLayout

?

为指定元素配置上下文菜单,为应用程序配置选项菜单,以及多级菜单的实现

1、各种布局方式的演示 res/layout/main.xml 代码

android:layout_width=“fill_parent” android:layout_height=“fill_parent”>

android:layout_width=“fill_parent”>

android:layout_height=“wrap_content” android:text=“FrameLayout”>

android:layout_height=“wrap_content” android:text=“Frame Layout”>

android:layout_height=“wrap_content” android:text=“@string/hello” />

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。