Android22快速入门.docx

上传人:b****7 文档编号:10891791 上传时间:2023-02-23 格式:DOCX 页数:23 大小:34.39KB
下载 相关 举报
Android22快速入门.docx_第1页
第1页 / 共23页
Android22快速入门.docx_第2页
第2页 / 共23页
Android22快速入门.docx_第3页
第3页 / 共23页
Android22快速入门.docx_第4页
第4页 / 共23页
Android22快速入门.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

Android22快速入门.docx

《Android22快速入门.docx》由会员分享,可在线阅读,更多相关《Android22快速入门.docx(23页珍藏版)》请在冰豆网上搜索。

Android22快速入门.docx

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为中文的。

 

结束

  资料均来自网络,感谢这些人的分享~~

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1