Android2.2飞快入门

 

前言

  这是前段时间用于公司Android入门培训之材料,学习Android三周时空收集整理的,时间匆忙,希望会对诸如自家这样还未曾入门就一直上型之总人口某些帮助 
🙂

 

声明

  欢迎转载,但要保留文章原来出处:)

    博客园:http://www.cnblogs.com

    农民伯伯: http://www.cnblogs.com/over140/

正文

  同、             环境布置以及装(Android2.2)

  参考文章:这里

  1.1    
JDK

  1.2    
SDK

  下载地址:http://dl.google.com/android/android-sdk\_r06-windows.zip

  1.3    
Eclipse 3.5 (Galileo)

  下载地址:

  http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-win32.zip

  1.4    
ADT 0.9.7

  下载地址:http://dl.google.com/android/ADT-0.9.7.zip

  1.5    
安装

  依次下载,按照文章步骤安装即可,注意安装SDK时,需要如下设置下:

      图片 1 

  不然更新不下,那个链接地址给堵了。

 

  亚、            
Android系统架构

   图片 2

    2.1   Linux内核(Linux
Kernel)

    * Android运行在linux
kernel 2.6以上,但是将linux内让GNU协议约束的一些做了代表,这样在Android的先后可以用于商业目的。

    * Linux 内核是硬件和软件层之间的抽象层。  

    2.2中间件

    * 中间件包括个别有的:核心库和周转时(libraries
& Android runtime)

    * 核心库包括,SurfaceManager 显示系统管理库,负责将2D或者3D内容展示到屏幕;Media Framework 媒体库,负责支持图像,支持多视频与旋律的录制和回放;SQlite
数据库,一个功能强大的轻量级嵌入式关系数据库;WebKit
浏览器引擎等。

    * Dalvik虚拟机:区别于Java虚拟机的是,每一个Android 应用程序都在她自己之过程中运行,都生一个属于自己之Dalvik
虚拟机,这或多或少好给系统以运作时好达到优化,程序中的熏陶大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的许节码。

  2.3   应用程序框架(Application Framework)

    * 丰富而与此同时只是扩展性的视图(Views),可以据此来构建应用程序, 它包括列表(lists),网格(grids), 文本框(text boxes),按钮( buttons), 可放的web 浏览器。

    * 内容提供者(Content
Providers)使得应用程序可以看另一个应用程序的数额(如联络人数据库),
或者共享它们自己的多寡。

    * 资源管理器(Resource
Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(
layoutfiles )。

    * 通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义之提示信息。

    * 活动管理器( Activity
Manager) 用来管理应用程序生命周期并提供常用的领航回退功能。

  2.4   应用程序
(Applications)

      * Android 系统会放有应用程序包包括email
客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是采取JAVA
语言编写的。

 

  其三、            
Android系统包说明

  android.app
:提供高层的次模型、提供基本的运行环境

  android.content
:包含各种之对准设施及的数量进行访问同公布之类

  android.database
:通过内容提供者浏览和操作数据库

  android.graphics
:底层的图形库,包含画布,颜色过滤,点,矩形,可以拿他们直白绘制到屏幕及.

  android.location
:定位和有关服务之类

  android.media
:提供一些类似管理又板、视频的媒体接口

  android.net
:提供帮扶网络访问的切近,超过普通的Java.net.* 接口

  android.os
:提供了网服务、消息传、IPC 机制

  android.opengl :提供OpenGL 的工具

  android.provider
:提供类似看Android 的始末提供者

  android.telephony
:提供和拨打电话相关的API 交互

  android.view
:提供基础的用户界面接口框架

  android.util
:涉及工具性的法子,例如时间日期的操作

  android.webkit :默认浏览器操作接口

  android.widget :包含各种UI
元素(大部分是可见的)在应用程序的屏幕被利用

 

  季、            
Android项目工说明

  图片 3

  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(定义尺寸值:dimension value)

  xml:       任意的XML文件,在运转时可经过调用Resources.getXML()读取。

 

  参见http://www.inandroid.cn/bbs/thread-1401-1-1.html

 

  五、             基本控件

1    

2    

3    

4    

5    

  5.1    
文本框(TextView)、自动完成(AutoCompleteTextView)

  自动就的功能与代码:http://android.yaohuiji.com/archives/390

      AutoCompleteTextView
图片 4

  5.2    
编辑框(EditText)

      图片 5

  android:hint     内容为空时提醒的音信,如“请输入”

  5.3    
下拉列表(Spinner)

      图片 6

  android:entries        可以透过当strings.xml中指定string-array来设置选项。

  5.4    
进度条(ProgressBar)

      图片 7

    效果和代码:http://www.eoeandroid.com/viewthread.php?tid=1081

  5.5    
拖动条(SeekBar)

      图片 8

  5.6    
评分条(RatingBar)

      图片 9 

  5.7    
按钮(Button)、图片按钮(ImageButton)

      Button:图片 10

      ImageButton:图片 11

  5.8    
图片框 (ImageView)、画廊(Gallery)

  ImageView图片 12

      Gallery图片 13

      画廊效果:http://android.yaohuiji.com/archives/565

  5.9    
日期以及时间(DatePicker、TimePicker)

      AnalogClock图片 14

      DigitalClock图片 15

      Chronometer(计时器)图片 16

      DatePicker图片 17

      DatePickerDialog图片 18

      TimePicker图片 19

      TimePickerDialog图片 20

  5.10 单项选择(RadioGroup、RadioButton)、多宗选(CheckBox)

      CheckBox图片 21

      RadioButton图片 22

      ToggleButton图片 23

  5.11 表格 (GridView)、列表(ListView)

      GridView图片 24

      ListView图片 25

  GridView:http://blog.csdn.net/hellogv/archive/2009/09/18/4567095.aspx

  ListView:http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html

  5.12 对话框(AlertDialog)、对话框中的速度条(ProgressDialog)

      AlertDialog图片 26

  AlertDialog:http://android.yaohuiji.com/archives/655

  ProgressDialog:http://aina-hk55hk.javaeye.com/blog/679134

  5.13 菜单(Menu)

  5.14 提示(Toast)

  类似于MessageBox,非模式窗口。如:

  Toast.makeText(this, “信息”, Toast.LENGTH_SHORT).show();

  5.15 GestureOverLayView

      图片 27

      文章1、文章2

    5.16 HorizontalScrollView

      图片 28

    5.17 MapView

      图片 29

    5.18 VideoView

      图片 30

    5.19 WebView

      图片 31

    5.20 ZoomControls

      图片 32

 

  六、             布局和容器

  6.1   帧布局(FrameLayout)

  放入其中的有着因素还为停放最左上的区域,无法也这些元素指定一个适龄的位置。如果发差不多个子元素,那么晚止的子元素的亮会重叠在前边一个元素上。

  6.2   线性布局(LinearLayout)

      图片 33

         常用布局,子元素按行或列依次排列。

    android:layout_gravity是本元素对父元素的重力方向。

    android:gravity是本元素所有子元素的重力方向。

  6.3   绝对布局(AbsoluteLayout)

  可以让子元素指定准确之x/y坐标值,(0, 0)为左上角,没有页边框,允许元素中相重叠。

  6.4   相对布局(RelativeLayout)

      图片 34

         允许子元素指定他们针锋相对于任何元素或父元素的职(通过ID指定)

  6.5   表格布局(TableLayout)

  将子元素的位置分配到实践(TableRow)中,注意勿见面展示边框线也无克跨行合并单元格。

  例子:http://hi.baidu.com/hoyah/blog/item/d9db34275d6f361a8b82a171.html

  6.6   选项卡(TabWidget)

      
  图片 35

      
  例子:http://fatkun.com/2010/06/android-tabwidget.html

 

  七、             常用代码

  7.1   在当前Activity中启动另外一个Activity

          *startActivity(new Intent(this,目标Activity.class)); *

 

  7.2   从此时此刻ContentView从寻找控件

     (Button)findViewById(R.id.btnAbout)

    R.id.btnAbout指控件id。

 

  7.3   获取屏幕宽高

    DisplayMetrics dm = new
DisplayMetrics();

    //获取窗口属性

    getWindowManager().getDefaultDisplay().getMetrics(dm);

    int screenWidth
= dm.widthPixels;//320

    int screenHeight =
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中登记,否则会报空指针错误。如:<activity
android:name=”com.common.TestView”>
,注意是包名+类名。

 

  八、            
Adb命令行

  8.1   DOS进入android-sdk-windows\tools目录

  8.2   Linux

  登录linux命令:adb
shell

  列出当前文件:ls

  删除文件:rm 文件名

  8.3   Sqlite

  登录sqlite命令:sqlite3

  8.4   Adb命令

  列出当前时有发生怎样活动之模拟器:adb
devices

  上传文书:adb
push

  安装apk文件:adb
install android123.apk

 

  九、            
Apk文件破解

  9.1   获取apk的资源图形

         直接用 WinRAR打开,res/drawable直接拖拽出来即可。

 

  9.2   获取xml文件信息

    虽然能用WinRAR看到里面的xml文件,但是xml是经过优化的,无法直接翻,需要用apktool工具,下载地址:https://code.google.com/p/android-apktool/。

下载apktool-1.3.1.tar.bz2和apktool-install-windows-2.2_r01-2.tar.bz2解压到和一个索引,然后把需要破解的apk文件拷贝到平目录,DOS进入该目录,输入:aapt d
91callinfo.apk 91callinfo,这里第四单参数为破解了存放的门道。

 

  9.3   反编译dex获取Java源代码

         Apktool工具只能反编译成smali的中间代码文件,这里需要靠另外一个开源工具:dex2jar,下载地址:http://code.google.com/p/dex2jar/。这个家伙不克直接翻成java文件,但是足以拿dex文件转换成jar文件,然后可以透过jad工具将jar文件反编译成Java源文件,如果只是看看源码的说话可就此jd-gui,下载地址:

http://java.decompiler.free.fr/jd-gui/downloads/jd-gui-0.3.3.windows.zip

dex文件(classes.dex)可以据此WinRAR从apk文件被解压出来。

 

  十、             小技巧

  10.1          使用系统的图标

         例如调用系统打电话的图标:

  <ImageView
android:src=”@android:drawable/ic_menu_call”

  图标名称以及职能(Android1.5与1.6):

http://since2006.com/android/1.5-drawables.php

http://since2006.com/android/1.6-drawables.php

 

  10.2          让控件透明,如ImageButton

         设置android:background=”@null”

 

  10.3          在layout中一直指定onclick方法

         不用手动绑定,在layout中装置android:onClick=”methodName”,methodName为对应Activity中之办法,如下格式:public void methodName(View view){} (适应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-5554
disconnected的不当?

                  Window(窗口)
-> Show Views(显示视图) ->
device -> view menu(视图菜单)

-> Reset adb

 

  11.2          匿名类中哪些采取this?

         classname(类名).this

 

  11.3          程序出错后模拟器上只有显示应用程序遇到问题用关闭怎么惩罚?

得从LogCat中反省错误,默认LogCat在DDMS视图中,可以由此以下办法调整及Java视图与控制台并列显示:点击Eclipse左下角
图片 36,点开后当另中间找到Android目录下的LogCat拖拽下即可。

 

  十二、后期维护

    12.1  2010-10-1  

      补充了成千上万控件的截图,导出PDF下载:
http://download.csdn.net/source/2729442

    12.2  2010-10-18

      补充了GestureOverLayView的文章链接,文章1凡是英语的,文章2为华语的。

 

结束

  资料均来源于网络,感谢这些人口之享用~~

网站地图xml地图