Android开发简单教程.docx
- 文档编号:2330205
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:20
- 大小:295.12KB
Android开发简单教程.docx
《Android开发简单教程.docx》由会员分享,可在线阅读,更多相关《Android开发简单教程.docx(20页珍藏版)》请在冰点文库上搜索。
Android开发简单教程
目录介绍
环境搭建
AndroidSDK安装
ADT安装
AVD创建
Android项目的创建目录结构以及各文件作用
Android项目创建
Android目录结构及文件作用
Android应用解析
Android资源文件解析
Android主程序解析
Android生命周期
Android调用webservice
1.环境搭建
在已经安装jdk并且有eclipse前提下安装AndroidSDK和ADT
AndroidSDK安装:
1.首先下载SDK文件(有以下几个下载地址)
Windows版
Linux版
Mac版
2.解压文件,运行里面的“SDKManager.exe”
如果你遇到了消息为“FailedtofetchURL…”的错误提示
1)在“AndroidSDKandAVDManager”窗口的左侧选择“Settings”
2)选中“Forcehttps:
//… ” 这个选项
3)点击“SaveandApply”并重新运行SDKSetup.exe
3.选择你要安装的API版本、驱动、文档
1)如果你只要尝试一下Android2.1Emulator那么你只选择“SDKPlatformAndroid2.1.API7,revision1”来安装就可以了
2)如果你要在此SDK上开发应用程序和游戏应用,那么你需要接受并遵守所有许可内容(AcceptAll)
3)点击“InstallSelected”
4.然后就是等待安装程序下载选择的包来安装. “InstallingArchives”窗口
ADT安装:
1.打开eclipseIDE,进入菜单中的“Help”->”InstallNewSoftware”
2.点击Add……按钮,弹出对话框输入Name和Location,Location输入:
https:
//dl-
如果不好用就改为http:
//dl-
3.确定返回后,在workwith后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有DeveloprTools,展开它会有AndroidDDMS和AndroidDevelopmentTool,勾选他们,然后按照提示一步一步next
完成之后:
1)选择Window>Preferences……
2)在左侧面板选择Android,然后在右侧点击Browse…并选中SDK路径
3)点击Apply。
OK配置完成
AVD创建:
为使Android应用程序可以在模拟器上运行,必须创建AVD
1)在Eclipse中,选择Window>AndroidSDKandAVDManager
2)点击左侧面板的VirtualDevices,再点击右侧的New输入一个AVD名称,选择一个Target,输入模拟的SDCard的容量大小,选择一个外观皮肤Skin,点击CreateAVD即可完成AVD的创建
3)运行新建的模拟器
a.在列表里选择新建的要运行的模拟器(VirtualDevice)
b.单击“Start…”
c.单击“Launch”
注意:
如果点击左侧面板的VirtualDevices,再点击右侧的New,而target下拉列表没有可选项时,点击面板左侧的AvailablePackages,在右侧勾选
https:
//dl-repository/repository.xml
然后点击InstallSelected按钮,然后按照提示做就行了
2.Android项目的创建目录结构及各文件作用
Android项目创建:
打开file—new--AndroidProject
BuildTarget:
选择sdk的版本
Applicationname:
一个易读的标题在你的应用程序上
Packagename:
包名,遵循Java规范,用包名来区分不同的类是很重要的
CreateActivity:
项目的主类名,这个类将会是Android的Activity类的子类。
一个Activity类是一个简单的启动程序和控制程序的类。
它可以根据需要创建界面,但不是必须的
Android目录结构及文件作用:
1.Android目录结构
src目录—-存放源代码文件
gen目录—-ADT插件生成的文件,一般不作修改
assets目录—-存放资源文件目录,不会在R.java中生成ID
res目录—-存放资源文件目录,这里面的每个文件
AndroidManifest.xml---整个应用程序配置文件,存储一些包名版本号程序图标程序标签
default.properties---检查版本文件,自动生成,不能修改(修改将被删除)
2.重点目录及文件
res/drawable-xxxx是存放图片的目录
drawable-hdpi---存放高分辨率版本
drawable-ldpi---存放中分辨率版本
drawable-mdpi---存放低分辨率版本
res/layout目录---存放布局文件(xml文件),每个Activity对应一个XML文件
res/value目录---存放存储值文件(xml文件)
R.java文件
drawable类---给图片生产的ID
layout类---给布局文件生成的ID
string类---给string.xml里面键值对生成的ID
main.xml
控制Activity中控件的位置,每个Activity对应一个此布局文件
string.xml
存放键值对,一般用在程序的多语言版本的切换(多个文件,键一样,值不同)
在项目上右键runas>AndroidApplication程序就运行了
3.Android应用解析
资源文件解析:
AndroidManifest.xml样例,代码如下
xmlversion="1.0"encoding="utf-8"?
>
android=" package="com.test.AndroidTMS.views" android: versionCode="1" android: versionName="1.0"> icon="@drawable/tmslogo"android: label="@string/app_name"> name=".AndroidTMS" android: label="@string/app_name"> name="android.intent.action.MAIN"/> name="android.intent.category.LAUNCHER"/> name="android.permission.READ_PHONE_STATE"> minSdkVersion="5"/> AndroidManifest.xml解析 manifest 根节点,描述了package中所有的内容 xmlns: android 包含命名空间的声明。 xmlns: android=http: //schemas. Package 声明应用程序包 application 包含package中application级别组件声 明的根节点。 此元素也可包application的一些全局和默认的属性,如标签、icon、主题、必要的权限,等等。 一个manifest能包含零个或一个此元素(不能大于一个) android: icon 应用程序图标 android: label 应用程序名字 Activity 用来与用户交互的主要工具。 Activity是用户打开一个应用程序的初始页面,大部分 被使用到的其他页面也由不同activity所实现,并声明在另外的activity标记中。 注意,每一个activity必须有一个 如果一个activity没有对应的标记,你将不能运行它。 另外,为了支持运行时查找Activity,可包含一个或多个 android: name 这个activity对应的类别 android: label 这个activity的代号 intent-filter 声明了指定的一组组件支持的Intent值,从而形成了IntentFilter。 除了能在此元素下指定不同类型的值,属性也能放在这里来描 述一个操作所需的唯一的标签、icon和其他信息 action 组件支持的Intentaction category 组件支持的IntentCategory。 这里指定 了应用程序默认启动的activity uses-permission 应用需要的权限应当在此处申请,所申请的权限应当被系统或某个应用所定义,否则视为无效申请。 同时,使用权限的申请需要遵循权限授予条件,非platform认证的应用无法申请高级权限。 uses-sdk 该应用程序所使用的sdk版本相关 Strings.xml解析 xmlversion="1.0"encoding="utf-8"? > 这个文件很简单,就定义了两个字符串资源,与R.java中对应的索引, publicstaticfinalclassstring{ publicstaticfinalintapp_name=0x7f040001; publicstaticfinalinthello=0x7f040000; } String资源的使用 Resources r = this.getContext().getResources(); String appname= ((String) r.getString(R.string.app_name)); String hello= ((String) r.getString(R.string.hello)) ; AndroidManifest.xml中调用 name=".AndroidTMS" android: label="@string/app_name"> 项目的布局文件layout中资源文件的解析 main.xml xmlversion="1.0"encoding="utf-8"? > android=" android: layout_width="fill_parent"android: layout_height="wrap_content" android: orientation="vertical"android: gravity="center_vertical"> id="@+id/username_view" android: layout_height="wrap_content"android: layout_width="wrap_content" android: layout_marginLeft="60dip"android: layout_marginRight="30dip" android: text="用户信息"android: gravity="center_horizontal" android: textAppearance="? android: attr/textAppearanceMedium"/> id="@+id/dataInfo"android: layout_marginRight="10dip" android: layout_width="wrap_content"android: layout_height="wrap_content"android: layout_marginTop="30dip"> text="退出程序"android: id="@+id/btnExit" android: layout_width="wrap_content"android: layout_height="wrap_content"> 与R.java中对应的索引 publicstaticfinalclassdrawable{ publicstaticfinalinticon=0x7f020000; } publicstaticfinalclassid{ publicstaticfinalintbtnExit=0x7f050002; publicstaticfinalintdataInfo=0x7f050001; publicstaticfinalintusername_view=0x7f050000; } publicstaticfinalclasslayout{ publicstaticfinalintmain=0x7f030000; } layout布局文件的加载 setContentView(R.layout.user_info); layout布局文件中按钮的调用 Buttonbtn=(Button)findViewById(R.id.btnExit); 按钮的监听事件,当用户点击按钮的时候询问用户是否要退出改程序,如果选择是,退出程序,选择否不执行任何操作 btn.setOnClickListener(newOnClickListener(){ publicvoidonClick(Viewv){ AlertDialogdlg=newAlertDialog.Builder(ArtistsActivity.this) .setTitle("LoginExit").setMessage("您要退出程序? ? ") .setPositiveButton("确定",newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhichButton){ finish(); } }).setNegativeButton("取消",newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhichButton){ } }).create(); dlg.show(); } }); 程序解析: publicclassAndroidTMSextendsActivity{ /**Calledwhentheactivityisfirstcreated.*/ publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); TextViewtv=(TextView)findViewById(R.id.dataInfo); TelephonyManagertm=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); Stringimei=tm.getSimSerialNumber(); tv.setText(imei+”sim卡号”); Buttonbtn=(Button)findViewById(R.id.btnExit); btn.setOnClickListener(newOnClickListener(){ publicvoidonClick(Viewv){ AlertDialogdlg=newAlertDialog.Builder(ArtistsActivity.this) .setTitle("LoginExit").setMessage("您要退出程序? ? ") .setPositiveButton("确定",newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhichButton){ finish(); } }).setNegativeButton("取消",newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialog,intwhichButton){ } }).create(); dlg.show(); } }); } } 主程序AndroidTMS类继承自TabActivity类,重写了voidonCreate(BundlesavedInstanceState)方法。 在onCreate方法中通setContentView(R.layout.main)设置了Activity要显示的布局文件(\layout\main.xml)。 程序中的Stringimei=tm.getSimSerialNumber();是读取SIM卡序列号,需要有权限,所以在Androidmani.xml中加入了权限 name="android.permission.READ_PHONE_STATE"> 4.Android生命周期 activity是单独的,用于处理用户操作。 几乎所有的activity都要和用户打交道,所以activity类创建了一个窗口,可以通过setContentView(View)接口把UI放到activity创建的窗口上,当activity指向全屏窗口时,也可以用其他方式实现: 作为漂浮窗口(通过windowIsFloating的主题集合),或者嵌入到其他的activity(使用ActivityGroup)。 大部分的Activity子类都需要实现以下两个接口: onCreate(Bundle)接口是初始化activity的地方.在这儿通常可以调用setContentView(int)设置在资源文件中定义的UI,使用findViewById(int)可以获得UI中定义的窗口. onPause()接口是使用者准备离开activity的地方,在这儿,任何的修改都应该被提交(通常用于ContentProvider保存数据). 为了能够使用Context.startActivity(),所有的activity类都必须在AndroidManifest.xml文件中定义有相关的“activity”项。 activity类是Android应用生命周期的重要部分。 前台的生命周期,从onResume()开始到onPause()结束。 在这段时间里,该Activity处于所有Activity的最前面,和用户进行交互。 Activity可以经常性地在resumed和paused状态之间切换,例如: 当设备准备休眠时,当一个Activity处理结果被分发时,当一个新的Intent被分发时。 所以在这些接口方法中的代码应该属于非常轻量级的。 Activity的整个生命周期都定义在下面的接口方法中,所有方法都可以被重载。 所有的Activity都需要实现onCreate(Bundle)去初始化设置,大部分Activity需要实现onPause()去提交更改过的数据,当前大部分的Activity也需要实现onFreeze()接口,以便恢复在onCreate(Bundle)里面设置的状态。 在系统中的Activity被一个Activity栈所管理。 当一个新的Activity启动时,将被放置到栈顶,成为运行中的Activity,前一个Activity保留在栈中,不再放到前台,直到新的Activity退出为止。 Activity有四种本质区别的状态: 在屏幕的前台(Activity栈顶),叫做活动状态或者运行状态(activeorrunning) 如果一个Activity失去焦点,但是依然可见(一个新的非全屏的Activity或者一个透明的Activity被放置在栈顶),叫做暂停状态(Paused)。 一个暂停状态的Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被杀掉。 如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。 它依然保持所有状态和成员信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 开发 简单 教程