android一些基础知识

时间:2023-11-22 21:47:14

android应用基于JAVA, 支持SQL,由于底层是LINUX,所以支持C/C++

目前有两种编程:基于ADT的JAVA编程,基于NDK的C编程

Android编程环境需要哪些:
官方推荐用JDK+ECLIPSE+ADT+ADK(WINDOWS开发环境下)
什么是ADK,ADT:
ADK=android SDK(以后都用ADK简称)
ADT就是ECLIPSE下的开发插件

什么是NDK:
NDK是一系列工具的集合,简而言之就是用C\C++开发Android

android划分为四类核心组件类分别: Activity,Service,Broadcast Receiver ,ContentProvider,相同组件和不同组件之间的导航通过intent来完成.

Activity:

一个Activity通常是一个单独的屏幕,每个Activity都实现为一个独立的类,并且继承于Activity这个基类,

调用statActivity()方法,可以从屏幕导航到另一个屏幕, 打开Activity的条件被封装在intent中。旧的屏幕会保存在历史堆栈中。也可以从历史堆栈中删除。

Service

一个Service是一种长生命周期的,没有用户界面的程序,Activity会使用Context.startService()来启动一个Service, 从而保持在后台运行。

使用Context.bindService()方法连接到一个Service上。

BroadcastReciver

是为实现系统主播而提供的一种组件,如:提示用户手机的电量。

ContentProvider

前面说的每个程序都是共享的,这意味着数据是不能共享的,通过使用ContextProvider来实现不同组件之间数据的共享。

View

是Android中图形用户的界面的基类,提供了可视化界面的展示,图形界面展示分为三层,底层Activity,Activity上面是Window,window上面是views,view又可以分为View和ViewGroup,

view是基本控件,viewGroup是指布局控件,

Intent

是不同组件之间相互导航的纽带。封闭了不同组件之间导航查找的条件

 

Emulator模拟器, Android Asset Packaging Tool(AAPT)android资源打包工具, Dalvik Debug Monitor Service (ddms) dalvik调试监视服务,Android Debug Bridge(adb)Android调试桥, DX工具(.class转换成.dex文件);

命令:

android create avd -n <name> -t <targetid> [-<option><value>]

android list target

android

emulator.exe 仿真模拟器

 

启动模拟器:emulator -avd<avd_name>

查询当前模拟器实例数量 adb devices

adb push 从系统复制文件到设备, adb pull 从设备复制到系统 如:adb push d:\text.txt /sdcard/

shell命令: 系统的各种命令, system/bin/目录下, adb shell 进入shell

 

AAPT资源打包工具, aapt P -A assets -S res -M AndroidManifest.xml -F \bin\resources.ap_

DX,java语言的类文件编译成一种.dex文件, dx --dex --dump-to=d:\myadnroidpro\bin\classes.dex --core-library d:\myandroidpro\bin

 

mksdcard:是设备中有数据存储设备的,就能够将硬盘空间镜像为数据存储设备, mksdcard 64M d:\mysdcard.img

 

assets 中保存的一般是原生的文件, res 中的资源可以通过R资源类直接访问的,

 

引用资源文件一般的格式是: @包名:资源类/资源名称

 

res/admin XML动画文件

res/drawable/ 一些位图文件

res/layout/ XML布局文件

res/values/ 各种 xml资源文件 arrays.xml XML数组文件; colors.xml XML颜色文件 dimens.xml XML尺寸文件 styles.xml XML格式文件

res/xml/ 任意的XML文件

res/raw/ 直接复制到设备中的原生文件

res/menu/ xml 菜单文件

 

颜色值定义

通过RGB三原色和一个alpha值来定义的,开始是一个井#, #RGB #ARGB #RRGGBB #AARRGGBB

颜色资源XML文件的定义

文件格式:<resources> 根元素; <color></color>

获得颜色方法: Resources.getColor();

引用资源格式: java代码中:R.color.color_name XML文件中:@package:color/color_name

使用颜色资源:

 

使用字符串资源

引用格式:@string/字符串资源名称

字符串在XML文件的定义

字符串在XML中的格式<string name=""></string>

获得字符串的方法:Resources.getString()

引用字符串的格式:R.string.string_name xml:@package:string/string_value

 

使用尺寸资源dimen

px,in,mm,cm,pt,dp,sp

在XML中的定义 <dimen name=""></dimen>

获得尺寸资源: getResources().getDimension()

        R.dimen.dimen_name xml:@package:dimen/dimen_name

 

使用原始XML资源

使用drawables资源

使用布局(layout)资源

使用菜单(menu) 资源