android一些基础知识

By | 08月15日
Advertisement

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) 资源

Similar Posts:

  • android开发基础知识(3) ---五大布局

    android基础知识总结(3) -------五大布局 Android程序可分为五中布局,其中线性布局(LinearLayout)和相对布局(RelativeLayout)比较常用,其他在一些特定条件下应用. (一)线性布局(LinearLayout): 可分为横向和纵向两种,顾名思义,线性布局是把控件一个一个往界面上线性摆列. 设置线性布局为水平方向 android:orientation="horizontal" 设置线性布局为垂直方向 android:orientation=&

  • android linux 基础知识总结(1)

    =============== LOCAL_ARM_MODE := arm 目前Android大部分都是基于Arm处理器的,Arm指令用两种模式Thumb(每条指令两个字节)和arm指令(每条指令四个字节) LOCAL_CFLAGS += -O3 -fstrict-aliasing -fprefetch-loop-arrays 通过设定编译器操作,优化级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高 LOCAL_CFLAGS += -W -Wall LOCAL_CFLAGS += -

  • Android Test 基础知识

    转自:http://www.imobilebbs.com/wordpress/?p=2727 1. @SmallTest 和@MediumTest标注 Android测试框架可以使用@SmallTest,@MediumTest和@LargeTest 来标注测试方法,这些分类划分主要是根据测试访问数据的位置,如本地,SD卡,网络,下表为通常划分测试等级的基本方法: Feature Small Medium Large Network access No localhost only Yes Dat

  • Android分辨率基础知识

    参考: http://www.jb51.net/article/33238.htm http://daimajishu.iteye.com/blog/1080630 http://baike.baidu.com/view/49853.htm 1.术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托罗拉milestone手机是3.7英寸 Aspect Ratio(宽高比率) 指的是实际的物理尺寸宽

  • Android 动画基础知识

    1.最基本的动画效果:view animation, http://blog.csdn.net/xipiaoyouzi/article/details/7937258 http://songfantasy.iteye.com/blog/1258980 http://www.linuxgraphics.cn/animation/android_tween_animation.html http://www.eoeandroid.com/thread-564-1-1.html http://www.

  • android linux 基础知识总结[下]6

    come from:http://dev.10086.cn/cmdn/supesite/?uid-103795-action-viewspace-itemid-4623 int do_class_start(int nargs, char **args){/* Starting a class does not start services* which are explicitly disabled. They must* be started individually.*/service_f

  • Android面试-基础知识

    1.        下列哪些语句关于内存回收的说明是正确的? (b )   A. 程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存    C.内存回收程序允许程序员直接释放内存    D.内存回收程序可以在指定的时间释放内存对象 2.        下面异常是属于Runtime Exception 的是(abcd)(多选) A.ArithmeticException B.IllegalArgumentException        C.NullPointerException

  • 绘图(五,Android图像变换基础知识矩阵Matrix)

    前言 矩阵,Matrix.在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵. 关于矩阵的知识在大学本科中<线性代数>代数中有讲解,如果没有学过的,可能需要稍微学习一下,因为今天主要讲解的是矩阵在图像变换中的使用. 未完待续-

  • Android Junit基础知识

    http://blog.chinaunix.net/u/20947/showart_1950609.html 如果想在android里面做单元测试,有以下三种方法可行. 第一,  就是java程序员最为熟悉和常用的JUnit, android sdk如果用JUnit的话,我们需要在运行单元测试时,一定要 用JDK来运行,利用java命令来启动JUnit的某个Runner.如果是用Eclipse的话,可以在Run Configuration里新建一个JUnit.但是一定要记得在Classpath选

  • Android ADB基础知识

    1.ADB配置到运行环境中 右键 我的电脑 -> 属性 -> 高级 -> 环境变量 在系统变量中找到 Path变量名,在变量值中添加 .../sdk\platform-tools 当你启动一个adb客户端,客户端首先确认是否已有一个 adb 服务进程在运行.如果没有,则启动服务进程.当服务器运行, adb服务器就会绑定本地的 TCP 端口 5037 并监听 adb 客户端发来的命令,一般所有的 adb 客户端都是用端口 5037 与 adb 服务器对话的.接着服务器将所有运行中的模拟器或

Tags: