【第22期】观点:IT 行业加班,到底有没有价值?

安卓基础之基础知识

原创 2016年05月30日 20:10:23

JVM和DVM之间的区别:

     dvm执行的是.dex格式文件  jvm执行的是.class文件   android程序编译完之后生产.class文件,然后,dex工具会把.class文件处理成.dex文件,然后把资源文件和.dex文件等打包成.apk文件。apk就是android package的意思。 jvm执行的是.class文件。

     dvm是基于寄存器的虚拟机  而jvm执行是基于虚拟栈的虚拟机。寄存器存取速度比栈快的多,dvm可以根据硬件实现最大的优化,比较适合移动设备。

     class文件存在很多的冗余信息,dex工具会去除冗余信息,并把所有的.class文件整合到.dex文件中。减少了I/O操作,提高了类的查找速度
1. 分析系统体系结构: 自下而上分析
Linux Kernel: Linux内核,操作硬件(,java不能主动操作硬件,c/c++可以操作硬件)  主要封装了各种驱动代码,通过驱动调用来实现对各种硬件操作

Libraries:  C代码依赖层  C/C++代码   封装Linux内核驱动代码 向上提供服务 Android HAL: Android的硬件抽象层,把对硬件的支持分成了两层,用户空间和内核空间,其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间。

Adnroid Runtime:安卓运行时     
     Core Libraries: Android 核心函数库所提供的功能,大部分与Oracle的Java 核心函数库相同  
     Dalvik Virtual Machine: Dalvik 虚拟机 简称为dvm 主要运行压缩后的代码
Application Framwork: 封装C/C++代码 向(java程序员)应用程序提供服务
Applications :应用层 java程序员经常写代码的地方
2.Android SDK:Android standard develop kits 安卓开发的工具集
目前主流的安卓开发工具:
1.Adnroid-Adt-bundle
SDK Manager.exe:  Tools(安卓的开发小工具) 各种安卓版本  
Extras额外的开发包  在线更新/安装的安卓版本的更新工具 不提倡在SDK Manager在线更新安卓版本.
sdk: 主要用来存储安卓开发的环境  
.android:虚拟机创建的文件  
add-ons 存储google的一些API  平时很少 基本没使用  存储google地图 google paly 代码  
build-tools 编译工具   docs 安卓文档  目前使用的是http://wear.techbrood.com/guide/index.html 国内镜像  
extras  兼容低版本开发  
platforms 主要存储不同的安卓版本 如android-19对应的是 android4.4  
platform-tools tools  都是安卓开发的时候所需要的小工具  作为环境变量  
sources  安卓(java层)应用层的源代码  
system-images   jni开发中比较重要  存储不同的安卓处理器平台   arm (安卓1.5版本就开始)   x86  MIPS 4.0以后出现
eclipse:自带了ADT+安卓环境的Eclipse  
ADT:eclipse一个插件 连接安卓环境
3Eclipse 内置模拟器创建流程  
             
AVD name:   虚拟机名称 avd-版本名称               
Device       :   不同屏幕的设备(android市场上目前有多种多样的设备 不同设备的尺寸不一样)               
Target       :安卓运行版本               
CPU/ABI   :不同处理器平台 arm嵌入式设备  x86(电脑上)   MIPS(标准)               
KeyBorad :   是否显示硬键盘               
RAM         : 内存大小               
VM Heap  :  应用堆内存大小(每个应用所能使用的最大堆内存空间)               
Internal Storage   : 手机内部硬盘存储               
SD Card     :    手机外部硬盘存储
4DDMS与安卓环境定制
DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。
DDMS里面包含了:Device(设备)  File Explorer(文件管理)  Emulator Control(模拟器管理)   LogCat(日志)
1 Devices(设备)     -设备名称     -应用对应的包名(进程号) 关闭某个应用进程:Devices-->选择某一进程-->Stop 绿色爬虫(调试按钮)
2 File Explorer(文件管理) linux文件系统 判断标准:有没有盘符
>Permissions    显示文件、文件夹的读 写 执行权限
>com.android.xxx为某个应用的安装文件夹   
     -data/data/com.android.xxx/databases    包含了数据库文件 数据库事件文件   
     -data/data/com.android.xxx/shared_prefs    包含了sharedPreference存储文件
>文件的导入导出
3 Emulator Control (模拟器控制)
-Speed    设置通讯技术如2.5G 3G 4G
-Telephony Actions    模拟打电话    发短信
-Longitude    经度
-Latitude     纬度
4 LogCat(日志)

定制自己开发环境
工作区
* 选择工作区   Window-->Open Perspective-->Other..-->选择想要的工作区
* 保存工作区   Window-->Save Perspective As...
* 重置工作区   Window-->Reset Perspective ..
子视图
* 选择视图  Window-->Show View-->Other..
5.Android项目讲解
创建一个简单项目的开发步骤:
1. 创建工程    
     Application Name: 应用名称    
     Project Name:  Eclipse项目名称    
     Package Name:包名,一般格式为公司域名的倒叙+项目名,如com.m520ot.appname    
     Minimum Required SDK: 应用所需的最低版本    
     Targer SDK:  针对开发的版本        
     Compile With: 编译版本 一般目标版本和编译版本都是目前市场上最流行的版本    
      Theme:  主题 整个应用的样式     
2. 编写应用程序的ui界面,res-->layout-->activity_main.xml
3. 写java代码,在src目录下。MainActivity-->setContentView(resId);
4. 选中项目 右键 运行项目

     导入项目: 右键Import-->General-->Existing Projects into Workspace...
 
Android项目结构
src    我们编写的java代码。
gen    (G)自动生成资源文件对应的代码
Android4.4
Android Private Libraries   安卓导入的依赖包
assets    资产目录 打包一些文件到应用程序里面(数据库文件,网页文件,配置文件)
bin    将java代码和资源编译打包成.apk文件
libs    安卓开发所需要存放的第三方开发包
res    资源目录   
          drawable      图标   
          layout            布局文件   
          menu             菜单配置文件   
          values   
          dimens     安卓的控件尺寸   
          strings     存储所有文本   
          styles     样式文件   
          colors     颜色文件   
          ids      存储安卓控件的id的文件

     AndroidManifest.xml    安卓配置文件 相当于javaweb的properties文件
     project.propertise        工程的配置文件 配置安卓版本 第三方依赖包的路径
     proguard-project.txt  配置混淆编译的规则

应用程序编译安装过程:
1.把所有的.java文件编译成.class文件
     >jdk的javac.exe
2.把所有的.class字节码文件打包合成一个文件classes.dex
     >\sdk\build-tools\android-4.4目录下的dx.bat
3.根据资源id,生成一个resources.ap_ 保存所有的资源信息
4.把.dex文件,res目录下的资源文件,resources.ap_文件 asset目录下的文件合成一起打包成一个apk压缩包
     > 使用\sdk\build-tools\android-4.4\aapt.exe
5. adb.exe 负责把生成好的apk文件上传安装到手机里面。
     > Android debug bridge 安卓调试桥 负责上传安装apk

adb命令
1. 安装一个应用程序
     adb install xxx.apk
2. 卸载一个应用程序
     adb uninstall com.xx.xx.xx
3. 进入到手机终端(安卓手机是linux系统,此后就可以开始执行linux终端命令)
     adb shell
4. 杀死adb的调试桥(当调试桥不稳定的时候)
     adb kill-server
启动adb的调试桥
     adb start-server
5. 查看连接到电脑上的设备
adb devices
6. 指定设备执行的adb指令
adb -s  emulator-5556 install xxx.apk
6.简单点击事件流程:
1.在onCreate() 中设置setContentView()加载布局.
2.findViewById()加载特定的界面.
3.setOnClickListener()设置点击事件.
4.实现OnClickListener()接口.
7Android SDK:
SDK:Standard Develop Kit 基本开发工具集
http://wear.techbrood.com/sdk/index.html#download
下载选择32位或者64位。
http://www.cnblogs.com/wanqieddy/p/3545368.html
SDK目录下各种版本资源
版权声明:本文为博主原创文章,欢迎转载分享,水平有限,不足之处,敬请斧正 举报

相关文章推荐

安卓开发基础知识0(五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程)

安卓开发基础知识0(五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程) 分类: 安卓开发基础知识 需求说明:安卓开发 内容 ...

PHP,安卓,UI,java,linux视频教程合集

╔-----------------------------------╗┆                                   ┆┆ 百度网盘下载地址                  ┆┆                                   ┆┆ 更多、更新兄弟连视频教程下载地址  ┆┆     http://www.itx

安卓基础知识总结

安卓基础知识总结1、 Android的四大组件是哪些,它们的作用? Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它...

安卓新手成长日记之Andriod系统基础知识普及

安卓新手成长日记之Andriod系统基础知识普及 2011年06月25日    安卓新手成长日记之Andriod系统基础知识普及   相信有不少老手,大家都知道Andriod的基本情况,所以大家在分享心得的时候都会说root、ram、rom、wipe等非常专业的名词。而我作为一个长期接触塞班系统的人,慕名而来第一次接触Andriod系统,却发现这些名词让我非常的迷糊。我相有不少网友也是第一次接触Andriod系统,也是为这些名词所迷惑,所以,这一篇日记我来说说Andriod系统的一些基础知识。不对之处,各位高手可以指正。   当然,在叙述的时候,每个名字都会有一系列非常专业的解

安卓(android)开发应该怎么学?需要哪些基础知识?

随着智能手机的流行,现在很多大大小小的开发商都需要在手机上具备客户端,这里是一片强大的吸金磁场,那么很多想学习android的朋友,都会有个疑问,那就是:安卓(android)应该怎么学,需要哪些基础...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)