android-简述

1.android框架图

SGL:面向嵌入式设备终端的2D图形引擎

Webkit:提供浏览器引擎

FreeType:位图和矢量字体的绘制。

Dalvik虚拟机:与java虚拟机不同,经过优化后,它可以将class文件经过”dx”工具转换成.dex文件格式,

dex文件格式更紧凑,执行效率更高。每个android应用程序都运行在单独的虚拟机实例上。互不影响,

而且它可以高效的产生多个虚拟机实例。

2.Android NDK

android native development kit 简称Android NDK,可以允许你在Android应用程序上使用c/c++编写的组件。

好处:

  • java编写的代码容易反编译,而c/c++编写的反编译比较难,所以可以达到保护代码的作用
  • 可以更容易复用第三方的代码库,因为大多数的第三方代码库时c/c++编写的
  • 执行速度更高。
  • 便于移植,较容易运行在其他嵌入式设备中,如使用OpenGL ES 可以同时在Android和iOS设备上运行。
  • 使用NDK方式:1.使用SDK提供的NativeActivity类。2,使用JNI来访问。

3.Android应用程序基础

应用程序运行时,系统会启动一个Linux进程,并为该应用程序分配一个Linux用户ID,应用程序

只在程序内部可见,其他程序无法访问,但是可以通过Content Provider将数据暴露给其他应

用程序。

一个应用程序,一个进程,一个虚拟机实例。

Zygote是一个虚拟机进程,同时也是一个虚拟机实例的孵化器。每当系统要执行一个

应用程序时,Zygote就会fork出一个子进程来执行该应用程序。Zygote进程是在系统启动时就

已经初始化产生了,它可以通过复制自身,快速提高一个新的虚拟机实例。对于只读的系统库,

所有的虚拟机实例和Zygote共享同一块内存区域。节省了内存开销。

4.APK文件的结构

应用程序apk文件是一种能与Zip文件格式兼容的文件。SDK提供了aapt工具,它可以将类文件

和资源文件打包成apk文件。打包过程:将class文件转换成dex文件,生成资源表,优化XML文件

使用appt命令方式:

1.先将”SDK文件夹/platform-tools”路径添加到Path环境下。

2.进入Androidproject的bin目录下:输入“appt list <Android应用程序名>.apk”即可

也可以右键Androidproject,选择Android tools下的export…即可生成apk文件。

在java文件中:对资源的引用,R.resources_type.resources_name 或android.R.resources_type.resources_name (系统自带的资源)。

在xml文件中:引用方式,@resources_type.resources_name或@android:resources_type.resources_name

5.Intent 使用

Action:执行的动作。如 Intent.ACTION_VIEW,android.content.Intent.ACTION_CALL

Data:操作的数据,通常是Uri类型,如 Uri uri=Uri.parse(“smsto:10086”);

Type: 指定Data的MIME类型,默认是“text/plain”

Component:由哪个组件(Activity或broadcast)处理该Intent。

Extras:额外的信息,通常以Bundle形式放入。

  //intent的作用:
    //1.调用浏览器
    Uri uri1=Uri.parse("http://www.baidu.com");//data数据
    Intent intent1=new Intent();
    intent1.setAction(Intent.ACTION_VIEW);
    intent1.setData(uri1);
    //2.电话呼叫功能
    Uri uri2=Uri.parse("tel:10086");
    Intent intent2=new Intent(android.content.Intent.ACTION_CALL,uri2);
    //3.发送短信
    Uri uri3=Uri.parse("smsto:10086");
    Intent intent3=new Intent(Intent.ACTION_SENDTO,uri3);
    intent3.putExtra("sms_body", "welcome to android world");
       //4.发送电子邮件,自己可能有多个邮件客户端,所以用
      //intent.createChooser()创建一个ACTION_CHOOSER的intent
       //1.收件人地址,发送邮件的动作
      Uri uri4=Uri.parse("mailto:[email protected]");
      Intent intent4=new Intent(Intent.ACTION_SEND,uri4);
       //2.自己的邮件客户端,和发送的内容
     intent4.putExtra(Intent.EXTRA_EMAIL, "[email protected]");
     intent4.putExtra(Intent.EXTRA_TEXT, "android mail");
        //3.指定data数据的类型,默认值
     intent4.setType("text/plain");
      //createChooser启动intent
    startActivity(Intent.createChooser(intent4, "选择Email客户端"));
时间: 2024-08-24 21:30:33

android-简述的相关文章

Android 简述touch事件中的MotionEvent

有关touchEvent的事件里都有一个 MotionEvent 参数,下面来简单介绍一下它的属性的一些含义和使用的方法 通常单指操作时,一般如下: switch (event.getAction()) {//第一个触摸点 case MotionEvent.ACTION_DOWN: //按下 = 0 <span style="white-space:pre"> float x = event.getX();</span> break; case MotionEv

关于Android的字体简述

一.字体分析 1.1.文件系统中字体的位置: /system/fonts/ 其中的ttf文件都是字库对于源码/frameworks/data/fonts/下的字体文件 DroidSans-Bold.ttf 粗体的无衬线字体(拉丁字母等) DroidSans.ttf 常规的无衬线字体(拉丁字母等) DroidSansFallback.ttf 常规的无衬线字体(中文字符等,一般换字库就是替换此文件) DroidSansMono.ttf 等宽的无衬线字体(拉丁字母等) DroidSerif-Bold.

Android Dalvik虚拟机简述(与Java虚拟机的区别和简要的执行原理)

先一睹Dalvik虚拟机在Android系统框架图中位置: 文章目录: 一.虚拟机简述二.Java虚拟机简述三.Dalvik虚拟机简述四.Dalvik虚拟机与Java虚拟机的区别五.Dalvik虚拟机执行原理简述 此文章原始是PPT格式已转换为PDF,请直接下载文档阅读: AndroidDalvikVMOverview

Android Animation简述

Android Animation简述 一.动画(Animation) Android框架提供了两种动画系统:属性动画(Android3.0)和视图动画.同时使用两种动画是可行的,但是一般首选使用属性动画,因为它更灵活.提供更多功能.除了这两种动画,你也可使用绘制动画——允许你加载drawable 资源并逐帧显示. 视图动画只能用于View对象,所以如果你想要实现非View对象的动画,你必须用自己的代码去实现.实际上,视图动画仍是有局限性的,只能实现View的部分动画.例如,你可以实现View的

Android网络定位服务定制简述

Android 添加高德或百度网络定位服务 Android的网络定位服务以第三方的APK方式提供服务,由于在国内Android原生自带的com.google.android.gms服务几乎处于不可用状态,因此对于第三方OEM厂商经常需要与高德或百度合作,使用这两个服务提供商提供的网络位置定位服务.现将在Android平台集成第三方网络定位服务的步骤简述如下: 1.向高德或百度获取网络定位服务apk,并集成至system/app目录下,有时需要同步获取其运行时需要的库,并集成与指定目录,一般是sy

第一章:Android系统移植和驱动开发简述

第一章 Android系统移植和驱动开发简述 核心内容总结: Android 的系统架构分为4层: 1)linux内核(linux的驱动程序以及内存管理.进程管理.电源管理等程序) 2)C/C++代码库(使用C/C++编写的代码库.Dalivk虚拟机的运行时) 3)Android SDK API(用java编写的各种Library) 4)应用程序(所有的应用程序都属于这一层) Android系统移植(应用移植和系统移植)的主要工作: ·移植linux驱动: ·移植HAL. 查看Linux内核版本

【读书笔记《Android游戏编程之从零开始》】17.游戏开发基础(游戏适屏的简述和作用、让游戏主角动起来)

1.游戏适屏的简述和作用 由于市面上安装 Android 系统的手机不断增多,出现了各种分辨率.各种屏幕尺寸的Android 系统手机.为了保证一个游戏或者一个软件能在所有的 Android 手机上正常显示,常用的适屏做法有:利用屏幕宽高.位图宽高来设置一些游戏元素的位置:字体的适屏做法最好的使用字体图,这样文字不会因为手机分辨率不同而不同,毕竟图片大小是固定不变的. 2.让游戏主角动起来实例演示将一张由多行多列的动作帧组成的图片实现动态效果. 新建项目,游戏框架为SurfaceView 框架,

Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述

原文:Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述 Xamarin.Form与Xamarin.Android或Xamarin.IOS的区别简述: 可能刚刚接触Xamarin的人来说,对于这个概念比较的模糊,认为这说的不都是同一个东西吗?事实并不是这样的,我们先来说说Xamarin.Android和Xamarin.IOS吧,这两个其实就是一个单独的工程,在这里面我们可以针对安卓或者IOS进行代码的编写,而且支持原生的代码调用,这对于安卓或者IOS的开发

Android自动化测试工具实现简述

前言 自动化测试在产品开发和测试中都有着非常重要的作用.在产品开发阶段,可靠又重复性地运行以确保没有引进回归问题:在产品测试阶段,可以节省人力成本和时间成本,并能保证更大范围的覆盖.Android自动化测试工具同样可以节省不少人力和时间成本,对其研究和实现对于提高测试效率具有一定的意义.目前市面上也有不少Android自动化测试工具,本人在现有工具的基础上,加上自己的理解和实践向大家介绍自动化测试工具的原理和实现. 了解自动化测试的一定对Robotium并不陌生,Robotium是一款国外的An

Android中View的绘制过程 onMeasure方法简述

Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android framework将会处理绘制过程,Activity只需提供它的布局的根节点. 绘制过程从布局的根节点开始,从根节点开始测量和绘制整个layout tree. 每一个ViewGroup 负责要求它的每一个孩子被绘制,每一个View负责绘制自己. 因为整个树是按顺序遍历的,所以父节点会先被绘制,而兄弟节点会按照它们在树中出现的顺序被绘制. 绘制是一个两遍(two pass)的过程:一个mea