Unit3-Android程序设计基础_第1页
Unit3-Android程序设计基础_第2页
Unit3-Android程序设计基础_第3页
Unit3-Android程序设计基础_第4页
Unit3-Android程序设计基础_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Unit3Android程序设计基础

本章目标可以使用Eclipse进行简单的Android程序的开发;可以掌握Android项目中的各个主要组成部分及作用;可以掌握Android程序的主要开发模式;可以掌握Activity与AndroidManifest.xml文件的配置。命令:adbpushf:\kugou\xianjian.mp3sdcard/xj.mp3

说明:将电脑中的某个文件复制到模拟器的SDCARD中命令:adbpullmnt/sdcard/a.txt

D:\

说明:将手机卡中的某个文本文件复制到电脑D盘push的作用和pull正好相反,是从电脑端向手机复制文件的。

命令:Adbinstallc:\\abc\aa.apk说明:在模拟器上安装Android应用程序ADB命令基本应用ActivityActivity实际上就是表示的是一个人机的交互程序,用于存放各个显示控件,也是Android的基本组成,所有的Android项目都使用Java语言进行开发,所以每一个继承了android.app.Activity的Java类都将成为一个Activity程序,而一个Android项目将由多个Activity程序所组成,而所有的显示组件都必须放在Activity上才可以进行显示,android.app.Activity类的继承结构如下:java.lang.Object ↳android.content.Context ↳android.content.ContextWrapper ↳android.view.ContextThemeWrapper ↳android.app.Activity

Activity类的常用方法No.方法类型描述1publicfinalViewfindViewById(intid)普通根据组件的ID取得组件对象2publicvoidsetEnabled(booleanenabled)普通设置是否可编辑3publicvoidsetFocusable(booleanfocusable)普通设置是否默认取得焦点4publicfinalvoidsetProgress(intprogress)普通设置ProgresBar的进度5publicfinalvoidsetSecondaryProgress(intsecondaryProgress)普通设置第二进度条的进度6publicWindowgetWindow()普通取得一个Window对象7publicvoidsetContentView(intlayoutResID)普通设置显示组件8publicvoidsetContentView(Viewview)普通设置显示组件Android项目中的文件夹作用No.文件夹描述1src存放所有的*.java源程序2gen为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID3Android2.3.3表示现在使用的AndroidSDK的版本是2.3.3,如果建立项目时选择1.5,则此处为1.54assets可以存放项目一些较大的资源文件,例如:图片、音乐、字体等5res可以存放项目中所有的资源文件,例如:图片(*.png、*.jpg)、文本等6res\drawable-hdpi保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型7res\drawable-ldpi保存低分辩率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型8res\drawable-mdpi保存中等分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型9res\layout存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置10res\values存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称:

·arrays.xml:定义数组数据;

·colors.xml:定义表示颜色的数据;

·dimens.xml:定义尺度,可以使用Resources.getDimension()获得这些资源;

·strings.xml:定义字符串,可以使用Resources.getString()或Resources.getText()方法获得这些资源;

·styles.xml:定义显示的样式文件;11res\raw自定义的一些原生文件所在目录,像音乐、视频等文件格式,Resources.getRawResource()方法可以获得这些资源;12res\xml用户自定义的XML文件,所有的文件在程序运行时编译到应用程序之中,在程序运行时可以使用Resources.getXML()方法获取;13res\anim用于定义动画对象;Android项目中的文件作用No.文件描述1Hello.java为Activity程序,类似于Java程序中的主类2icon.png项目中所需要的图片资源文件,在drawable-hdpi、drawable-ldpi、drawable-mdpi分别保存不同分辩率的图片3main.xml配置所有的控件4strings.xml配置所有的资源信息5R.java此文件为自动生成并自动维护,当用户向drawable-hdpi、drawable-ldpi、drawable-mdpi文件夹中增加图片,或者在main.xml文件中配置控件以及在strings.xml文件中定义文本信息都会自动在此文件夹中生成一个唯一的ID,以供程序使用。6AndroidManifest.xml为Android的主要配置文件,用于配置各个组件或者是一些访问权限等7pertiesAndroid项目的属性定义文件编写Activity程序,操作组件packageorg.lxh.demo;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.Button;importandroid.widget.TextView;public

classHelloextendsActivity{

@Override

public

voidonCreate(BundlesavedInstanceState){

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

super.setContentView(R.layout.main); //调用布局文件

//取得在AndroidManifest.xml配置的组件

TextViewtext=(TextView)super.findViewById(R.id.mytext);

//设置此文本框的显示文字信息

text.setText(“广东农工商职业技术学院");

//取得在AndroidManifest.xml配置的组件

Buttonbut=(Button)super.findViewById(R.id.mybut);

//设置按钮上的显示文字信息

but.setText("按我,不过没用!"); }}编辑values\strings.xml文件可以将所有要显示的文字信息直接在values\strings.xml文件中进行配置。编辑values\strings.xml文件,加入两条新的内容<?xml

version="1.0"

encoding="utf-8"?><resources>

<string

name="hello">HelloWorld,Hello!</string>

<string

name="app_name">myfirst</string>

<string

name="info">广东农工商职业技术学院</string>

<string

name="msg">按我,不过没用!</string></resources>将strings.xml文件中的内容设置到文本控件<?xml

version="1.0"

encoding="utf-8"?><LinearLayout

xmlns:android="/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"

/>

从资源文件之中读取默认显示文字

<TextView

定义文本显示组件

android:id="@+id/mytext"

组件ID,程序中使用

android:layout_width="fill_parent"

组件宽度为屏幕宽度

android:layout_height="wrap_content"

组件高度为文字高度

android:text="@string/info"

/>

从资源文件之中读取默认显示文字

<Button

定义按钮组件

android:id="@+id/mybut"

组件ID,程序中使用

android:layout_width="fill_parent"

组件宽度为屏幕宽度

android:layout_height="wrap_content"

组件高度为文字高度

android:text="@string/msg"

/>

从资源文件之中读取默认显示文字</LinearLayout>定义布局管理器,并增加组件packageorg.lxh.demo;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.Button;importandroid.widget.LinearLayout;importandroid.widget.TextView;public

classHelloextendsActivity{

@Override

public

voidonCreate(BundlesavedInstanceState){

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

LinearLayoutlayout=newLinearLayout(this);//定义布局管理器

layout.setOrientation(LinearLayout.VERTICAL);//垂直摆放所有组件

TextViewtext=newTextView(this); //创建文本显示组件

text.setText(super.getString(R.));//从资源文件之中设置显示文字

Buttonbut=newButton(this); //创建按钮

but.setText(super.getString(R.string.msg));//设置显示文字

layout.addView(text); //增加组件

layout.addView(but); //增加组件

super.setContentView(layout); //设置默认布局管理器

}}Android操作系统及模拟器使用简介模拟器创建Android系统桌面拨号功能建的使用程序浏览网页及多点触摸活动应用系统设置,设置日期及时间/设置语言发送短信adb简介adb的全称为AndroidDebugBridge,就是起到调试桥的作用。主要功能有:1.运行设备的shell(命令行)2.管理模拟器或设备的端口映射3.计算机和设备之间上传/下载文件4.将本地apk软件安装至模拟器或android设备常用命令:1.查看设备*adbdevices2.安装软件*adbinstall<apk文件路径>3.卸载软件*adbuninstall<软件名>4.登录设备shell*adbshell5.上传或下载文件*adbpush/pull<本地路径><远程路径>6.显示帮助信息*adbhelp开发第一个Android应用打开Eclipse,新建项目(点击FileNewProject),在项目列表中展开Android目录,选择AndroidProject,如下图:开发第一个Android应用开发第一个Android应用点击”finish”即可完成项目的创建,创建后的项目已经是一个可运行的Android应用,我们可以通过下面方式运行此应用:点击工具栏上机器人形状的虚拟设备管理器(简称“AVD“),如下:开发第一个Android应用在打开的虚拟设备管理器中创建一个虚拟手机:开发第一个Android应用在项目上右键点击runasAndroidapplication,如下图:Android应用程序架构src/java原代码存放目录gen/自动生成目录gen目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。res/资源(Resource)目录在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。assets资源目录Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gpAndroidManifest.xml

项目清单文件这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。perties

项目环境信息,一般是不需要修改此文件Android应用程序界面开发编程式界面开发每一个屏幕由一个Activity代表每个Activity中需要设置一个View组件一个ViewGroup组件可以放置更多的View组件TextViewtv=newTextView(this);tv.setText("用户名:");EditTextedit=newEditText(this);Buttonbtn=newButton(this);btn.setText("保存");LinearLayoutgroup=newLinearLayout(this);//设置方向group.setOrientation(LinearLayout.VERTICAL);//添加View到ViewGroup中group.addView(tv);group.addView(edit);group.addView(btn);//把ViewGroup通过setContentView方法设置到Activity中this.setContentView(group);Android应用程序界面开发声明式界面开发Android支持声明式界面开发,使用xml标记来声明界面。界面布局位置放置在layout目录中,内容大致如下:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android" android:layout_width="fill_parent"android:layout_height="fill_parent" android:orientation="vertical" > <TextViewandroid:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/username" /> <EditTextandroid:layout_width="fill_parent" android:layout_height="wrap_content"/> <Buttonandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/save"/> </LinearLayout>在程序中可以把一个Activity的内容设置为布局文件对应的view。this.setContentView(R.layout.ui);UI控件事件处理在View类中,提供了setOnXXX系列的方法,可以用设置某一个View组件的事件监听对象(监听器)。主要如下:setOnClickListener(l)setOnLongClickListener(l)setOnFocusChangeListener(l)setOnKeyListener(l)setOnTouchListener(l)setOnCreateContextMenuListener(l)事件监听对象的onClick等方法中,包括了事件响应的代码。btn.setOnClickListener(newOnClickListener(){ publicvoidonClick(Viewv){ //事件响应代码 }});或者MainActivityimplements

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论