当前位置: 网学 > 编程文档 > Android > 正文

Android2.2快速入门

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: myeducs.cn 发布时间: 13/03/17

【网学网提醒】:网学会员为您提供Android2.2快速入门参考,解决您在Android2.2快速入门学习中工作中的难题,参考学习


    Android2.2快速入门
    前言这是前段时间用于公司Android入门培训的资料,学习Android三周时间收集整理的,时间仓促,希望能对像我这样还没入门就直接上项目的人一点帮助:)
    声明欢迎转载,但请保留文章原始出处:)博客园:cnblogs农民伯伯:cnblogs/over140/
    正文一、环境配置和安装(环境配置和安装(Android2.2))参考文章:这里1.11.2JDKSDK下载地址:dl.google/android/android-sdk_r06-windows.zip1.3Eclipse3.5(Galileo)下载地址:
    eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-win32.zip1.4ADT0.9.7下载地址:dl.google/android/ADT-0.9.7.zip1.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:提供一些类管理多种音频、视频的媒体接口
     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项目工程说明
    src:gen:
    存放java源代码。存放编译器自动生成的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()读取。
    参见inandroid/bbs/thread-1401-1-1.html。
    五、5.1
    基本控件文本框(TextView)、自动完成(AutoCompleteTextView)自动完成的效果和代码:android.yaohuiji/archives/390
    AutoCompleteTextView:5.2编辑框(EditText)
    android:hint5.3
    内容为空时提醒的信息,如“请输入”
    下拉列表(Spinner)
     android:entries5.4进度条(ProgressBar)
    可以通过在strings.xml中指定string-array来设置选项。
    效果和代码:eoeandroid/viewthread.php?tid=10815.5拖动条(SeekBar)
    5.6
    评分条(RatingBar)
     5.7
    按钮(Button)
    、图片按钮(ImageButton)
    Button:
    ImageButton:5.8图片框(ImageView)、画廊(Gallery)
    ImageView
    Gallery
     画廊效果:android.yaohuiji/archives/5655.9日期和时间(DatePicker、TimePicker)
    AnalogClock
    DigitalClockChronometer(计时器)
    DatePicker
    DatePickerDialog
     TimePicker
    TimePickerDialog5.10单项选择(RadioGroup、RadioButton)、多项选择(CheckBox)
    CheckBox
    RadioButton
    ToggleButton5.11表格(GridView)、列表(ListView)
     GridView
    ListViewGridView:blog.csdn.net/hellogv/archive/2009/09/18/4567095.aspxListView:cnblogs/allin/archive/2010/05/11/1732200.html5.12对话框(AlertDialog)、对话框中的进度条(ProgressDialog)
    AlertDialog
     AlertDialog:android.yaohuiji/archives/655ProgressDialog:aina-hk55hk.javaeye/blog/6791345.13菜单(Menu)5.14提示(Toast)类似于MessageBox,非模式窗口。如:Toast.makeText(this,"信息",Toast.LENGTH_SHORT).show();5.15GestureOverLayView
    文章1、文章25.16HorizontalScrollView
    5.17MapView
     5.18VideoView
    5.19WebView
     5.20ZoomControls
    六、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)中,注意不会显示边框线也不能够跨行合并单元格。例子:hi.baidu/hoyah/blog/item/d9db34275d6f361a8b82a171.html6.6选项卡(TabWidget)
    例子:fatkun/2010/06/android-tabwidget.html
     七、7.1
    常用代码在当前Activity中启动另外一个ActivitystartActivity(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;//320intscreenHeight=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中注册,否则会报空指针错误。如:,注意是包名+类名。
     八、8.18.2
    Adb命令行DOS进入android-sdk-windows\tools目录Linux登录linux命令:adbshell列出当前文件:ls删除文件:rm文件名8.3Sqlite登录sqlite命令:sqlite38.4Adb命令列出当前有哪些活动的模拟器:adbdevices上传文件:adbpush安装apk文件:adbinstallandroid123.apk
    九、9.1
    Apk文件破解获取apk的资源图片
    直接用WinRAR打开,res/drawable直接拖拽出来即可。
    9.2
    获取xml文件信息虽然能用WinRAR看到里面的xml文件,但是xml是经过优化的,无法直接查看,需要使用apktool工具,
    下载地址:https://code.google/p/android-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,下载地址:code.google/p/dex2jar/。这个工具不能直接翻译成java文件,但是可以把dex文件转换成jar文件,然后可以通过jad工具把jar文件反编译成Java源文件,如果只是看看源码的话可以用jd-gui,下载地址:java.decompiler.free.fr/jd-gui/downloads/jd-gui-0.3.3.windows.zip。dex文件(classes.dex)可以用WinRAR从apk文件中解压出来。
    十、10.1
    小技巧使用系统的图标
    例如调用系统打电话的图标:    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:droiddraw.org/
    10.7
    在Eclipse中看Android的源码
    将源代码拷贝至android-sdk-windows\platforms\android-4\sources下即可。注意源码版本对应android-
    4文件夹,这里指Android1.6的源码。
    十一、十一、
    Q&;A用模拟器调试频繁连不上,或者报emulator-5554disconnected的错误?Window(窗口)->ShowViews(显示视图)->device->viewmenu(视图菜单)
    11.1
    ->Resetadb
    11.2
    匿名类中如何使用this?
    classname(类名).this
     11.3
    程序出错后模拟器上仅显示应用程序遇到问题将关闭怎么办?
    可以从LogCat中检查错误,默认LogCat在DDMS视图中,可以通过以下方法调整到Java视图与控制台并列显示:点击Eclipse左下角,点开后在其他里面找到Android目录下的LogCat拖拽出来即可。
    十二、十二、后期维护12.12010-10-1
    补充了许多控件的截图,导出PDF下载:download.csdn.net/source/272944212.22010-10-18
    补充了GestureOverLayView的文章链接,文章1是英语的,文章2为中文的。
    
    
  • 上一篇资讯: android2.2特点
  • 下一篇资讯: android
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号