Android22快速入门.docx
- 文档编号:10891791
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:23
- 大小:34.39KB
Android22快速入门.docx
《Android22快速入门.docx》由会员分享,可在线阅读,更多相关《Android22快速入门.docx(23页珍藏版)》请在冰豆网上搜索。
Android22快速入门
Android2.2快速入门
前言
这是前段时间用于公司Android入门培训的资料,学习Android三周时间收集整理的,时间仓促,希望能对像我这样还没入门就直接上项目的人一点帮助 :
)
声明
欢迎转载,但请保留文章原始出处:
)
博客园:
农民伯伯:
正文
一、 环境配置和安装(Android2.2)
参考文章:
这里
1.1 JDK
1.2 SDK
下载地址:
1.3 Eclipse3.5(Galileo)
下载地址:
http:
//www.eclipse.org/downloads/download.php?
file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-win32.zip
1.4 ADT0.9.7
下载地址:
1.5 安装
依次下载,按照文章步骤安装即可,注意安装SDK时,需要如下设置下:
不然更新不下来,那个链接地址被墙了。
二、 Android系统架构
2.1 Linux内核(LinuxKernel)
*Android运行在linuxkernel2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的。
*Linux内核是硬件和软件层之间的抽象层。
2.2中间件
*中间件包括两部分:
核心库和运行时(libraries&Androidruntime)
*核心库包括,SurfaceManager显示系统管理库,负责把2D或3D内容显示到屏幕;MediaFramework媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQlite数据库,一个功能强大的轻量级嵌入式关系数据库;WebKit浏览器引擎等。
*Dalvik虚拟机:
区别于Java虚拟机的是,每一个Android应用程序都在它自己的进程中运行,都有一个属于自己的Dalvik虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。
Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。
2.3 应用程序框架(ApplicationFramework)
*丰富而又可扩展性的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),可嵌入的web浏览器。
*内容提供者(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。
*资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。
*通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。
*活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
2.4 应用程序(Applications)
*Android系统会内置一些应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是使用JAVA语言编写的。
三、 Android系统包说明
android.app:
提供高层的程序模型、提供基本的运行环境
android.content:
包含各种的对设备上的数据进行访问和发布的类
android.database:
通过内容提供者浏览和操作数据库
android.graphics:
底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location:
定位和相关服务的类
android.media:
提供一些类管理多种音频、视频的媒体接口
:
提供帮助网络访问的类,超过通常的J.*接口
android.os:
提供了系统服务、消息传输、IPC机制
android.opengl:
提供OpenGL的工具
android.provider:
提供类访问Android的内容提供者
android.telephony:
提供与拨打电话相关的API交互
android.view:
提供基础的用户界面接口框架
android.util:
涉及工具性的方法,例如时间日期的操作
android.webkit:
默认浏览器操作接口
android.widget:
包含各种UI元素(大部分是可见的)在应用程序的屏幕中使用
四、 Android项目工程说明
src:
存放java源代码。
gen:
存放编译器自动生成的java代码,这个目录下的文件是系统自动维护的。
assets:
存放在这个目录下的文件,无论是mp3还是图片,都会被打包到发布包中。
res:
资源文件目录,添加到这个目录下的文件都会在gen下的R.ava文件中显示出来;如果res下存放的资源在应用中没有使用到,那么在gen下的R.java的文件中就不会显示,那么打包的时候就不会将这部分资源打包,减少了应用的发布文件大小。
drawable:
存放图片文件,注意图片名称必须是[a-z0-9_.]组成;drawable目录下不能分子级目录,只能通过命名方法来加以区分。
layout:
存放与UI相关的布局文件,都是xml文件。
raw:
直接复制到设备中的任意文件,不会被编译,可以放数据库文件。
values:
存放字符串,颜色,数组等常量数据。
可以任意命名,但是通常命名:
color.xml、strings.xml、array.xml、styles.xml、dimens.xml(定义尺寸值:
dimensionvalue)
xml:
任意的XML文件,在运行时可以通过调用Resources.getXML()读取。
参见。
五、 基本控件
1
2
3
4
5
5.1 文本框(TextView)、自动完成(AutoCompleteTextView)
自动完成的效果和代码:
AutoCompleteTextView:
5.2 编辑框(EditText)
android:
hint 内容为空时提醒的信息,如“请输入”
5.3 下拉列表(Spinner)
android:
entries 可以通过在strings.xml中指定string-array来设置选项。
5.4 进度条(ProgressBar)
效果和代码:
5.5 拖动条(SeekBar)
5.6 评分条(RatingBar)
5.7 按钮(Button)、图片按钮(ImageButton)
Button:
ImageButton:
5.8 图片框(ImageView)、画廊(Gallery)
ImageView
Gallery
画廊效果:
5.9 日期和时间(DatePicker、TimePicker)
AnalogClock
DigitalClock
Chronometer(计时器)
DatePicker
DatePickerDialog
TimePicker
TimePickerDialog
5.10 单项选择(RadioGroup、RadioButton)、多项选择(CheckBox)
CheckBox
RadioButton
ToggleButton
5.11 表格(GridView)、列表(ListView)
GridView
ListView
GridView:
ListView:
5.12 对话框(AlertDialog)、对话框中的进度条(ProgressDialog)
AlertDialog
AlertDialog:
ProgressDialog:
http:
//aina-
5.13 菜单(Menu)
5.14 提示(Toast)
类似于MessageBox,非模式窗口。
如:
Toast.makeText(this,"信息",Toast.LENGTH_SHORT).show();
5.15 GestureOverLayView
文章1、文章2
5.16 HorizontalScrollView
5.17 MapView
5.18 VideoView
5.19 WebView
5.20 ZoomControls
六、 布局和容器
6.1 帧布局(FrameLayout)
放入其中的所有元素都被放置最左上的区域,无法为这些元素指定一个确切的位置。
如果有多个子元素,那么后边的子元素的显示会重叠在前一个元素上。
6.2 线性布局(LinearLayout)
常用布局,子元素按行或列依次排列。
android:
layout_gravity是本元素对父元素的重力方向。
android:
gravity是本元素所有子元素的重力方向。
6.3 绝对布局(AbsoluteLayout)
可以让子元素指定准确的x/y坐标值,(0,0)为左上角,没有页边框,允许元素之间互相重叠。
6.4 相对布局(RelativeLayout)
允许子元素指定他们相对于其它元素或父元素的位置(通过ID指定)
6.5 表格布局(TableLayout)
将子元素的位置分配到行(TableRow)中,注意不会显示边框线也不能够跨行合并单元格。
例子:
6.6 选项卡(TabWidget)
例子:
七、 常用代码
7.1 在当前Activity中启动另外一个Activity
startActivity(newIntent(this,目标Activity.class));
7.2 从当前ContentView从查找控件
(Button)findViewById(R.id.btnAbout)
R.id.btnAbout指控件id。
7.3 获取屏幕宽高
DisplayMetricsdm=newDisplayMetrics();
//获取窗口属性
getWindowManager().getDefaultDisplay().getMetrics(dm);
intscreenWidth= dm.widthPixels;//320
intscreenHeight=dm.heightPixels;//480
7.4 无标题栏、全屏
//无标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
//全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
注意在setContentView()之前调用,否则无效。
7.5 注册activity
所有用到的Activity都必须在AndroidManifest.xml中注册,否则会报空指针错误。
如:
name="mon.TestView">,注意是包名+类名。 八、 Adb命令行 8.1 DOS进入android-sdk-windows\tools目录 8.2 Linux 登录linux命令: adbshell 列出当前文件: ls 删除文件: rm文件名 8.3 Sqlite 登录sqlite命令: sqlite3 8.4 Adb命令 列出当前有哪些活动的模拟器: adbdevices 上传文件: adbpush 安装apk文件: adbinstallandroid123.apk 九、 Apk文件破解 9.1 获取apk的资源图片 直接用WinRAR打开,res/drawable直接拖拽出来即可。 9.2 获取xml文件信息 虽然能用WinRAR看到里面的xml文件,但是xml是经过优化的,无法直接查看,需要使用apktool工具,下载地址: 下载apktool-1.3.1.tar.bz2和apktool-install-windows-2.2_r01-2.tar.bz2解压到同一个目录,然后把待破解的apk文件拷贝到同一目录,DOS进入该目录,输入: aaptd91callinfo.apk91callinfo,这里第四个参数为破解完存放的路径。 9.3 反编译dex获取Java源代码 Apktool工具只能反编译成smali的中间代码文件,这里需要借助另外一个开源工具: dex2jar,下载地址: http: //java.decompiler.free.fr/jd-gui/downloads/jd-gui-0.3.3.windows.zip。 dex文件(classes.dex)可以用WinRAR从apk文件中解压出来。 十、 小技巧 10.1 使用系统的图标 例如调用系统打电话的图标: src="@android: drawable/ic_menu_call" 图标名称和效果(Android1.5和1.6): 10.2 让控件透明,如ImageButton 设置android: background="@null" 10.3 在layout中直接指定onclick方法 不用手动绑定,在layout中设置android: onClick=”methodName”,methodName为对应Activity中的方法,如下格式: publicvoidmethodName(Viewview){}(适应1.6以上版本) 10.4 用PC键盘控制模拟器 PC键盘 模拟器按键 说明 Home Home 主页 F2 Menu 菜单 Esc Back 后退 F3 Call 打电话 F4 Hangup 挂断 F5 Search 搜索 Ctrl+F12 横竖屏切换 10.5 进入界面就显示/隐藏软键盘 在AndroidManifest.xml中设置activity的 android: windowSoftInputMode="stateHidden" 10.6 界面可视化布局工具 系统提供可视化布局并不好用,这里推荐一款,布局完后点生成代码即可: DroidDraw: http: //www.droiddraw.org/ 10.7 在Eclipse中看Android的源码 将源代码拷贝至android-sdk-windows\platforms\android-4\sources下即可。 注意源码版本对应android-4文件夹,这里指Android1.6的源码。 十一、 Q&A 11.1 用模拟器调试频繁连不上,或者报emulator-5554disconnected的错误? Window(窗口)->ShowViews(显示视图)->device->viewmenu(视图菜单) ->Resetadb 11.2 匿名类中如何使用this? classname(类名).this 11.3 程序出错后模拟器上仅显示应用程序遇到问题将关闭怎么办? 可以从LogCat中检查错误,默认LogCat在DDMS视图中,可以通过以下方法调整到Java视图与控制台并列显示: 点击Eclipse左下角 ,点开后在其他里面找到Android目录下的LogCat拖拽出来即可。 十二、后期维护 12.1 2010-10-1 补充了许多控件的截图,导出PDF下载: 12.2 2010-10-18 补充了GestureOverLayView的文章链接,文章1是英语的,文章2为中文的。 结束 资料均来自网络,感谢这些人的分享~~
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android22 快速 入门