“小尖椒”通过精心收集,向本站投稿了6篇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 指res/values/目录下的string.xml的相应配置的名为”hello”的字符串,值为“Hello World, Demo_01Activity!”——
string.xml内容:
[html]
< ?xml version=“1.0” encoding=“utf-8”?>
< resources>
< /resources>
在手机程序菜单里所显示的图标——,
以及程序的标题显示——,也是由AndroidManifest.xml中代码所配置的:
[html]
android:icon=“@drawable/ic_launcher”
android:label=“@string/app_name”
其中图标默认提供了三种分辨率——,具体使用哪个由系统根据手机的不同分辨率决定。
所以,由以上过程,在运行demo_01时会产生前面图示的结果。——一个最简单的hello world程序。
摘自 狼的第二个小窝
篇2:Android笔记:stackview

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” />










