Android 开发笔记之界面开发

相关代码下载:http://download.csdn.net/detail/nuptboyzhb/4476822

1.android开发的帮助文档

我的androidSDK安装路径是D:\android-sdk-windows,因此,帮助文档的路径在D:\android-sdk-windows\docs\index.html,用浏览器打开即可。这是官方的帮助文档。

2.android界面设计工具

android的界面设计工具是别人开发的一个根据用户的设计界面自动产生.xml文件的一个可视化软件。工具下载地址为:http://code.google.com/p/droiddraw/downloads/list

3.android目录解析

src目录下有几层文件夹,对应的是创建工程是填入的包名,最里边的java文件就是项目的源文件

gen目录下也是和src目录下一样的几个文件夹,最里边放的是R.java文件,这个R.java文件是系统自动生成的,用来存放全局资源文件的ID。一般不允许修改。从代码可以看到,R里面定义了几个内部类,对应着几种资源类型。R.java文件时系统自动更新的。

android.jar就是android项目需要要引用的工具包,大部分开发用的工具都被封装在里面了。

assets文件夹用来存放资源文件,存放到里面的文件,都会被打包到应用程序里面。

bin文件夹是运行以后生成的,里面包含生成的可执行文件等。程序运行以前是没有这个文件夹的。

res 文件夹里面放的是程序的资源文件,里面的三个drawable***文件夹放的是在不同分辨率下的图片文件。

layout目录下放的是布局文件,都是 xml格式的。

values存放字符串,颜色,数组等常量数据。可以任意命名,但是通常命名:color.xml、strings.xml、 array.xml、styles.xml等。
androidmanifest.xml文件,这个是系统控制文件,每个android里面都有这个文件,里面定义应用程序名称、图标、资源、Activity权限、注册Activity、注册服务、广播等。

可以参考:http://www.cnblogs.com/salam/archive/2010/09/22/1833080.html


http://blog.csdn.net/shagoo/article/details/7485958

4.android重要的包

android.app :提供高层的程序模型、提供基本的运行环境
android.content :包含各种的对设备上的数据进行访问和发布的类
android.database :通过内容提供者浏览和操作数据库
android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location :定位和相关服务的类
android.media :提供一些类管理多种音频、视频的媒体接口
android.net :提供帮助网络访问的类,超过通常的java.net.* 接口
android.os :提供了系统服务、消息传输、IPC 机制
android.opengl :提供OpenGL 的工具
android.provider :提供类访问Android 的内容提供者
android.telephony :提供与拨打电话相关的API 交互
android.view :提供基础的用户界面接口框架
android.util :涉及工具性的方法,例如时间日期的操作
android.webkit :默认浏览器操作接口
android.widget :包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用

5.android界面开发详解

5.1Activity

1.Activity的创建

a.引入相应的android的开发包

importandroid.app.Activity;

import android.os.Bundle;

b.新建一个由Activity派生的类,重写其onCreate函数,设置其对应的.xml布局文件

publicclassMyActivityextends Activity {

/** Called when the activity is firstcreated. */

@Override

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);//调用父类的onCreate

//设置该Activity对应的.xml文件

setContentView(R.layout.XXXXXX);

setTitle("现在是在Activity2");//设置标题

//……

}

}

C.AndroidManifest.xml文件中声明该Activity的名称信息。

<manifest ... >

<application ... >

<activityandroid:name=".MyActivity"></activity>

...

</application ... >

...

</manifest >

如果该Activity是主Activity,则AndroidManifest.xml中声明如下:

<activity android:name=".MyActivity "

android:label="@string/app_name">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<category

android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

注意setContentView(R.layout.XXXXXX);语句的含义。该语句是将XXXXXX.xml文件的布局文件与当前的Activity绑定。也即是XXXXXX.xml文件所描述的布局信息,对应于当前的Activity.

2.Activity的跳转

我们要完成的功能是,点击按钮,由当前的Activity跳转到另外一个Activity

a.引入相应的android的开发包

import android.content.Intent;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

b.在当前Activity中新建一个Button和一个OnClickListener

OnClickListenerlistener1 =null;//声明

Button button1;//声明

onCreate函数中,创建声明的listener1

listener1 =new OnClickListener() {

publicvoid onClick(View v) {

Intent intent1 =new Intent(ActivityMain.this,

AnotherActivity.class);

intent1.putExtra("activityMain","数据来自

activityMain");

startActivityForResult(intent1,REQUEST_CODE);

}

};

述启动方式只是其中的一种(在被启动的Activity中,可以通过键值“activityMain”获得字符串"数据来自activityMain")比如下面的启动方式非常简单,只实现跳转。

//Intent intent = new Intent(this, AnotherActivity.class);
//startActivity(intent);

然后在onCreate函数中设置该Activity的布局文件

setContentView(R.layout.main);

main.xml文件中添加按钮的布局信息,代码如下:

<Buttonandroid:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"android:text="这是button1"/>

然后在onCreate函数中将新建的button1对象与布局文件main.xml的按钮信息相关联

button1 = (Button) findViewById(R.id.button1);

将按钮与点击的事件响应关联

button1.setOnClickListener(listener1);

3.Activity之间的数据传递
Activity1 向 Activity2跳转并传递数据
在Activity1的相应位置添加代码如下:
Intent intent=new Intent(Activity1.this,Activity2.class);//新建一个Intent对象
Bundle bl=new Bundle();//新建一个Bundle对象
String s="要传递的数据";//要传递的字符串信息
bl.putString("key_text", s);//向bl中添加信息,"key_text"是信息的标识
intent.putExtras(bl);//将bl与intent绑定(添加进去)
startActivity(intent);//启动Activity2

在Activity2的相应位置,获得传递的信息
Bundle bundle=getIntent().getExtras();
String text=bundle.getString("text");

text字符串里及保存了传递过来的字符串信息"要传递的数据";

5.2组件与布局

5.2.1组件的创建流程

Android中的组件依附于Activity,依附于与Activity相应的.xml文件。

组件的声明是在Activity中实现的,如5.1中讲到的,Button button1;而组件的位置、相对整个Activity的布局等属性信息都是由xml文件管理。在程序中,通过调用findViewById函数,将java(android)程序中的组件与xml文件中描述的组件相关联。调用组件对象的各种方法,完成相应的功能。同时要注意不同组件的消息响应处理函数(Listener);

5.2.2界面的设计以及xml工具的使用

自动产生xml文件的工具下载地址是:http://code.google.com/p/droiddraw/downloads/list

我们可以先用droiddraw工具设计好Activity的布局,然后自动生成对用的xml文件,然后粘贴到Activity的xml文件中。我们只需要在java程序中新建这些组件,然后用findViewById函数关联即可。droiddraw教程可以参看博客:http://blog.csdn.net/archfree/article/details/6001871

5.2.3 widget(窗体小部件)介绍

所在的android包:importandroid.widget.*;

Widget包含的组件很多,如:按钮、文本框、编辑框、复选框、单选按钮、下拉列表等等。具体用法可以查api文档。示例代码中也有。

5.2.4strings.xml文件的管理与应用

1.strings.xml中声明字符串,格式如下:

<string name="school_name">南京邮电大学</string>

2.在其他.xml中使用“南京邮电大写”这个字符串:

android:text="@string/school_name"

3.java文件中使用“南京邮电大写”这个字符串:

R.string.school_name

好处:当我们想要将程序中显示“南京邮电大学”的中文翻译成英文时,我们只需要将strings.xml中的

<string name="school_name">南京邮电大学</string>

改为:

<string name="school_name">NUPT</string>

即可。这时,程序中所有引用school_name的地方都变化了。方便了程序的管理。

郑海波 2012-08-04 转载请声明:http://blog.csdn.net/nuptboyzhb/article/details/7831012

http://blog.csdn.net/shagoo/article/details/7485958

更多相关文章

  1. Spatialite for Android编译及测试
  2. unity 代码安装Android(安卓)apk
  3. SystemUI之功能介绍和UI布局实现
  4. android 布局之RelativeLayout(相对布局)
  5. android自定义title的方法
  6. android view的setVisibility方法值的意思
  7. 国内阉割版安卓手机无法使用google maps
  8. Failed to push the item
  9. 我的第一个Android程序——HelloWorld

随机推荐

  1. JAVA 关于图片上传的代码
  2. JavaEE学习笔记之SSH—Struts2(4)
  3. 关于Java中接口继承接口
  4. Java中怎么把字符串数组转为整形数组
  5. Java并发: CountDownLatch、CyclicBarrier
  6. 有什么方法可以避免HibernateOptimisticL
  7. Java jasypt对.properties配置文件密码加
  8. 在二叉树中找出和为某一值的所有路径-jav
  9. java 在数据库中添加新信息
  10. javaweb常用监听器