Android开发快速入门教程_第1页
Android开发快速入门教程_第2页
Android开发快速入门教程_第3页
Android开发快速入门教程_第4页
Android开发快速入门教程_第5页
全文预览已结束

下载本文档

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

文档简介

1、1.环境配置和安装()下载jdk,sdk,adt 。按步骤安装,安装晚后导入adt 包。如果导入的时候出问题就直接输入下载链接在线安装就可以了。系统架构linux内核(linux kernel):* android运行在linux kernel 之上,但是把linux内受gnu协议约束的部分做了取代,这样在android的程序可以用于商业目的。* linux 内核是硬件和软件层之间的抽象层。中间件:* 中间件包括两部分:核心库和运行时(libraries & android runtime)* 核心库包括,surfacemanager 显示系统管理库,负责把2d或3d内容显示到屏幕;media

2、 framework 媒体库,负责支持图像,支持多种视频和音频的录制和回放;sqlite 数据库,一个功能强大的轻量级嵌入式关系数据库;webkit 浏览器引擎等。* dalvik虚拟机:区别于java虚拟机的是,每一个android 应用程序都在它自己的进程中运行,都有一个属于自己的dalvik 虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。dalvik虚拟机并非运行java字节码,而是运行自己的字节码。应用程序框架(application framework):* 丰富而又可扩展性的视图(views),可以用来构建应用程序, 它包括列表(lists),网格(grids

3、), 文本框(text boxes),按钮( buttons), 可嵌入的web 浏览器。* 内容提供者(content providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。* 资源管理器(resource manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles )。* 通知管理器(notification manager) 使得应用程序可以在状态栏中显示自定义的提示信息。* 活动管理器(activity manager) 用来管理应用程序生命周期并提供常用的导航回退功能。应用程序 (applicati

4、ons):* android 系统会内置一些应用程序包包括email 客户端,sms 短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用java 语言编写的。系统包说明 :提供高层的程序模型、提供基本的运行环境 :包含各种的对设备上的数据进行访问和发布的类 :通过内容提供者浏览和操作数据库 :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上 :定位和相关服务的类 :提供一些类管理多种音频、视频的媒体接口 :提供帮助网络访问的类,超过通常的.* 接口 :提供了系统服务、消息传输、ipc 机制 :提供opengl 的工具 :提供类访问android 的内

5、容提供者 :提供与拨打电话相关的api 交互 :提供基础的用户界面接口框架 :涉及工具性的方法,例如时间日期的操作 :默认浏览器操作接口 :包含各种ui 元素(大部分是可见的)在应用程序的屏幕中使用nextpage4.项目工程说明src: 存放java源代码。gen: 存放编译器自动生成的java代码,这个目录下的文件是系统自动维护的。assets: 存放在这个目录下的文件,无论是mp3还是图片,都会被打包到发布包中。res: 资源文件目录,添加到这个目录下的文件都会在gen下的文件中显示出来;如果res下存放的资源在应用中没有使用到,那么在gen下的的文件中就不会显示,那么打包的时候就不会将

6、这部分资源打包,减少了应用的发布文件大小。drawable:存放图片文件,注意图片名称必须是a-z0-9_.组成;drawable目录下不能分子级目录,只能通过命名方法来加以区分。layout:存放与ui相关的布局文件,都是xml文件。raw: 直接复制到设备中的任意文件,不会被编译,可以放数据库文件。values: 存放字符串,颜色,数组等常量数据。可以任意命名,但是通常命名:、(定义尺寸值:dimension value) xml: 任意的xml文件,在运行时可以通过调用()读取。5.基本控件文本框(textview)、自动完成(autocompletetextview)编辑框(editt

7、ext)下拉列表(spinner)进度条(progressbar)拖动条(seekbar)评分条(ratingbar)按钮(button)、图片按钮(imagebutton)图片框 (imageview)、画廊(gallery)日期和时间(datepicker、timepicker)单项选择(radiogroup、radiobutton)、多项选择(checkbox)表格 (gridview)、列表(listview)对话框(alertdialog)、对话框中的进度条(progressdialog)菜单(menu)提示(toast)gestureoverlayviewhorizontalscr

8、ollviewmapviewvideoviewwebviewzoomcontrols6.布局和容器帧布局(framelayout):放入其中的所有元素都被放置最左上的区域,无法为这些元素指定一个确切的位置。如果有多个子元素,那么后边的子元素的显示会重叠在前一个元素上。线性布局(linearlayout):常用布局,子元素按行或列依次排列。android:layout_gravity是本元素对父元素的重力方向。android:gravity是本元素所有子元素的重力方向。绝对布局(absolutelayout):可以让子元素指定准确的x/y坐标值,(0, 0)为左上角,没有页边框,允许元素之间互相

9、重叠。相对布局(relativelayout):允许子元素指定他们相对于其它元素或父元素的位置(通过id指定)表格布局(tablelayout):将子元素的位置分配到行(tablerow)中,注意不会显示边框线也不能够跨行合并单元格。选项卡(tabwidget)nextpage7.常用代码在当前activity中启动另外一个activity:startactivity(new intent(this,目标);从当前contentview从查找控件:(button)findviewbyid 指控件id。获取屏幕宽高:displaymetrics dm = new displaymetrics()

10、;etdefaultdisplay().getmetrics(dm);int screenwidth = ;etflags 注意在setcontentview()之前调用,否则无效。注册activity:所有用到的activity都必须在中注册,否则会报空指针错误。如: ,注意是包名+类名。命令行dos进入android-sdk-windowstools目录登录linux命令:adb shell列出当前文件:ls删除文件:rm 文件名登录sqlite命令:sqlite3列出当前有哪些活动的模拟器:adb devices上传文件:adb push安装apk文件:adb install 文件破解获

11、取apk的资源图片:直接用 winrar打开,res/drawable直接拖拽出来即可。获取xml文件信息:虽然能用winrar看到里面的xml文件,但是xml是经过优化的,无法直接查看,需要使用apktool工具,下载和解压到同一个目录,然后把待破解的apk文件拷贝到同一目录,dos进入该目录,输入:aapt d 91callinfo,这里第四个参数为破解完存放的路径。反编译dex获取java源代码:apktool工具只能反编译成smali的中间代码文件,这里需要借助另外一个开源工具:dex2jar,这个工具不能直接翻译成java文件,但是可以把dex文件转换成jar文件,然后可以通过jad

12、工具把jar文件反编译成java源文件,如果只是看看源码的话可以用jd-gui,dex文件可以用winrar从apk文件中解压出来。10.小技巧使用系统的图标:例如调用系统打电话的图标 imageview android:src=android:drawable/ic_menu_call让控件透明,如imagebutton:设置android:background=null在layout中直接指定onclick方法:不用手动绑定,在layout中设置android:onclick=”methodname”,methodname为对应activity中的方法,如下格式:public void onclickmethodname

温馨提示

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

评论

0/150

提交评论