1,学习目标    a, android的发展历史,以及android和java的关系    b,掌握android开发环境搭建    c,创建第一个android apk    d,android 工程结构分析    c,android的调试方法的使用2,学习内容     android的发展历史和特点:         特点        1.手机OS        2.嵌入式电子设备 广泛采用android系统   以前 wince ,qt        3.google移动开发平台   竞争对手:IOS,WP 半封闭        4.最大特点:开源免费          3, android开发环境搭建:        1.下载JDK---提供java代码编译和运行的环境        2.下载android SDK ---提供android应用程序所必须的开发包,文档,例子等等        3.下载 Eclipse IDE ---提供程序编写和编译的集成开发环境        4.下载 ADT Eclipse插件 ---提供android应用程序的必要工具,比如打包,数字验证等        google 为方便开发者集成了工具包 adt-bundle-windows-x86 开发工具包 2,3,45,版本    食物版本:   API版本    1.x         2.x    3.x    4.x         5.0 (最新版本api22-- lollipop 棒棒糖)7,建立一个helloworld    0,MiniMum Required SDK:最低支持的android api版本,低于这个版本的android手机不能安装你的应用           Target SDK:你的应用最高支持android api版本      Compile With:哪个版本的android SDK(1.5~4.2)编译你的工程,也就是最适合的,            最原生支持你的应用的android版本。      Theme :这个随意,主题选择     1,apk产生的过程        .java->.class->.dex->.apk                                                                                                                                                                                                                                                                                                                   1) 所有的资源文件,都会被aapt进行处理。解析的结果最后会被aapt通过一个R.java保存一个二进制树的索引,编程时可通过这个R.java文件进行XML的访问。        2) 所有的Java文件,都会被JDK里的javac工具编译成bin目录下按源代码包结构组织的.class文件(.class是标准的Java可解析执行的格式),            比如我们这个例子里生成的bin/classes/com/hello/*.class文件。然后这些文件,会通过SDK里提供的一个dx工具转换成classes.dex文件。            这一文件,就是会被Dalvik 虚拟机所解析执行的        3) 最后我们得到的编译过的二进制资源文件和classes.dex可执行文件,会通过一个apkbuilder工具采用zip压缩算法打包到一个文件里,            生成了我们所常见的.apk文件。        4) 最后.apk文件,会通过jarsigner工具进行校验,这一校验值会需要一个数字签名。如果我们申请了Android开发者帐号,这一数字签名就是        Android所分发的那个数字证书;如果没有,我们则使用debug模式,使用本地生成的一个随机的数字证书,这一文件位于        ~/.android/debug.keystore。                8,如何android设备运行程序    1)ADT 模拟器    2)真实设备 装驱动9,apk文件包含了什么? 通过压缩包文件都可以看到??    AndroidManifest.xml 清单文件    classes.dex  //代码的二进制,android虚拟机执行的不是*.class代码而是dex文件,由dx工具产生    resources.arsc//编译后的二进制资源文件    res    META-INF  //数字签名信息 10,工程结构分析     APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex即Android Dalvik执行程序    src:源文件    gen:ADT插件帮我们自动生成的文件,里面包括一个重要文件R.java    android.jar:Java 归档文件,包含构建应用程序所需的所有的Android SDK 库(如Views、Controls)和APIs         有了这个,就可以import各种包和类了    assets: 资源目录,放一些html,txt mp3、视频类文件等等    res:放资源文件,比如图片,布局文件和字符串,菜单等文件        drawable-x:包含一些你的应用程序可以用的图标文件(*.png、*.jpg)        layout:布局文件,每一个activity都有对应的布局文件xml,控制这个activity各种控件的位置和大小        values:软件上所需要显示的各种文字。可以存放多个*.xml文件,还可以存放不同类型的数据。            比如arrays.xml、colors.xml、dimens.xml、styles.xml  string.xml, 键值对在R.java中会生成id    Androidmanfest.xml:Android工程的系统清单文件,控制应用的图标,名称,访问权限等属性并配置四大组件    default.properties:记录项目中所需要的环境信息,比如Android的版本等。    libs:   android-support-v4,保证来高版本sdk开发的向下兼容性    R.java是根据res目录下的资源信息而自动创建的文件,Android程序开发过程中为你统一管理资源,添加ID、        有了这个文件,在代码中就可以访问各种资源            包括四个静态内部类,静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引        drawable:图片类,添加一张图片就产生一个类        layout:布局类,对应layout中的界面文件        string:字符串类11,xml文件--eXtensible Markup Language)即可扩展标记语言,很类似 HTML    一种简单的数据存储文档描述语言,语法简单,采用树形数据结构,语法更加严格从而保证数据的安全和唯一    XML 的设计宗旨是存储或传输数据,而非显示数据,html主要用于显示    1)封闭 xxx自定义            2)开放                                    3)区分大小写    比如:        书            四大名著                三国                西游                红楼        xml的例子:                                                                                    Three Kingdoms 985                                 30.00                                                              xml文件仅仅是纯文本而已,XML 被设计用来结构化、存储以及传输信息,XML 不会做任何事情        <?xml version="1.0" encoding="utf-8"?>                          George                John                Reminder                Don't forget the meeting!                上面的这条便签具有自我描述性。它拥有标题以及留言,同时包含了发送者和接受者的信息。        但是,这个 XML 文档仍然没有做任何事情。它仅仅是包装在 XML 标签中的纯粹的信息,这些信息必须由程序员按照        一定的方式进行解析    12,android工程中主要的xml文件:      androidmanifest.xml 清单文件 告诉系统我有哪些东西,可以参考Android SDK文档中解释                package="com.test"       //包名,也是一个应用进程的默认名称,一般会以应用的域名来作为包名        android:versionCode="1"   //给设备程序识别版本用的,必须是一个整数值代表app更新过多少次        android:versionName="1.0" > //给用户查看版本用的,需要具备一定的可读性,比如“1.0.0”这样的         //指定Android应用中所需要使用的SDK的版本,最小能够运行的api版本                下层  容器:放android程序组件 四大组件            android:icon="@drawable/ic_launcher"  //应用图标            android:label="@string/app_name" >  //应用名,安装后在系统中的名字              //窗口的标题                android:theme="@style/AppTheme" >                 //主题  若改成:android:theme="@android:style/Theme.Dialog" 就会变成对话框形式的activity                  //过滤器,该程序组件能干什么                 //应用启动的入口,多个activity存在时先启动该activity                 //表示该程序可以显示在桌面上                                            ============================================================================    layout_hello.xml:         //该控件的显示内容    values/strings.xml                            好奇纸尿裤                        在其他的地方去使用:                1,另外的xml文件中会使用:                    布局xml:                            //在这个地方引用                2,在代码中用到:在Activity子类中采用调用                    String  str = getResources().getString(R.string.test);    values/dimens.xml: 表示大小尺寸的资源            32dp            在其他的地方:                1,另外的xml文件中会使用:                    布局xml:                                 values/styles.xml                            使用:                menu/hello.xml                                                                在Android中打印调试信息:    1, java中System.out    2,  Log函数        private final String TAG = "HelloActivity";        Log.i(TAG, "str = " + str);========================================================================14,如果Activity要操作UI组件对象?    MVC模式        1.UI  交给main.xml完成        2.业务逻辑 交给activity子类重写onCreate()        3.程序组件有哪些交清单    MVC架构起始于一個GUI(graphical user interface designpatter,图型用户界面设计原型)原型,其目的是    实现动态程序设计,使日后对于程序修改及扩展更加便利,并使某些程序代码可重复利用。另外通过对复杂度的    简化,使程序结构更加直观。    软件系统通过对自身基本部份分离的同时也给予各部分应有的功能,如同一所大公司一样,将工作区分做到专业化,    专业人员可以通过自身的专长分组:        View -视图层能够实现数据有目的的显示,视图需要访问它监视的数据模型(Model)                    美工或UI设计人员可以独立进行图形接口设计及美化。        Model -数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法                    模型不关心它会被如何显示或是如何被操作,比如数据库专家进行数据管理和数据库的实现算法        Controller -控制器起到不同层面间的组织作用,用于控制应用程序的流程        在Android中,程序设计师利用Java撰写程序逻辑及架构,    美工设计则使用xml来撰写用户界面,    数据库人员则针对SQL数据库进行设计及优化。------------------------------------------------------------------------------------------------------------资源文件的简单使用:res:    strings.xml: 一:是为了国际化  二:为了减少应用的体积,降低数据的冗余            定义字符串                    Hello world!            获取对应的值:                    1,  在Activity中使用                                String appName=(String) this.getResources().getString(R.string.hello_world);                     2,在其他xml中,比如布局文件                                android:text="@string/hello_world"    arrays.xml定义数组            定义:                                                 @drawable/ic_launcher                    @drawable/ic_launcher                    @drawable/ic_launcher                    @drawable/ic_launcher                    @drawable/ic_launcher                                                       中国                      美国                               获取:                java代码:                                        ---------------------------------------------------------------------------------------------------------------   adb和ddms的使用, E:\adt-bundle-windows-x86-20130522\sdk\platform-tools放进环境变量    adb:        adb device 显示当前有效的avd或是真实机器        adb push上传文件至SD卡            adb push 001.jpg /sdcard(复制文件到/sdcard目录下)            adb push pictures /sdcard(复制pictures目录到/sdcard目录下)            adb shell (进入命令行模式)                #cd /sdcard(进入/sdcard目录)                #ls (列出SD卡中的文件)        adb pull /sdcard/001.jpg .(下载/sdcard的文件到PC)        adb install filename.apk(安裝filename.apk)        adb install-r filename.apk(保留已设定数据,重新安裝filename.apk)        adb uninstall package (移除 APK)        adb uninstall -k package(移除程序时,保留数据)            注意package名称不是安装APK套件时的文件名,可以去/data/data或data/app目录查看    logcat的使用    DDMS调试环境:Dalvik Debug Monitor Service        设备面板:当前运行的模拟器,模拟器内的所有进程信息.        信息输出面板:类似java控制台        线程跟踪面板:        Heap内存跟踪面板        模拟器控制面板        文件管理面板     Android SDK包全览和查询方法    sdk/docs/reference    3,总结1, 配置sdk2,编写第一个Helloworld3,创建avd4,使用logcat查看调试信息和DDMS控制台5,修改各种xml文件

更多相关文章

  1. Android corners 圆角属性各个版本之间兼容问题
  2. android 更新版本号
  3. Android版本与Android sdk int的对应关系
  4. js调用android的版本兼容问题
  5. Xamarin Mono Android实现“再按一次退出程序”
  6. Kotlin Anko Layout+MVP(Glide,Retrofit,OkHttp,RxJava)开发Andr
  7. 使用Python开发Android应用程序:第一节 在手机上配置Python运行环

随机推荐

  1. Fiddler抓取Android真机上的HTTPS包
  2. android获取已安装应用的安装包
  3. android读SDCard中txt文件中文乱码问题
  4. UI效果(9): 屏幕相关操作
  5. Android应用程序需不需要手动退出? - 阿智
  6. HD文件管理器 v0.1.3----- 一款界面简约,
  7. Android异步任务的使用方法
  8. android 自动检测版本升级
  9. Android切近实战(八)
  10. Android分享到微信好友、朋友圈