Android应用开发快速入门

Android应用开发快速入门
Android应用开发快速入门

Android应用开发快速入门

1. Android是什么?

Android是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。

Android 作为谷歌企业战略的重要组成部分,将进一步推进"随时随地为每个人提供信息"这一企业目标的实现。

2. Android用什么语言开发的?

Android的SDK(software development kit)是Java的,将来可能有其他语言版本。

SDK下载地址:https://www.360docs.net/doc/967059448.html,/android/download.html

3. Android模拟器是用什么开发的?

Android的核心是Java虚拟机,为了高效,目前来看,google是不会支持其它语言的开发的。不过,android的模拟器是用qeum开发的,它的镜像文件分成4部分放在tools 目录下,如果我们将qeum修改一下,说不定能玩一下它的linux系统。

4. 怎么进行Android开发?

Android支持在模拟器上运行和调试应用软件,有兴趣的朋友可以下载他的SDK (software development kit)来了解android的界面;然后应该学习android的基本框架和应用程序的构成;最后就可以试着在sdk的API Demo的基础上开发自己的application 了。

希望刚刚了解软件开发的朋友不要着急,一步一个脚印,一定会茁壮成长,开发优秀的application的。

5. 有哪些好的网络资源可供Android学习者用的呢?

首先,最好的最基本的学习资料无疑是SDK的文档了,也就是这个地方

(https://www.360docs.net/doc/967059448.html,/intl/zh-CN/android/documentation.html)的介绍,它循序渐进的介绍了Android的各个方面。

其次,大家可能有对android文档不太理解的地方,或者自己的想法等等,完全可以通过下面的groups进行咨询和交流:

◆Android Beginner https://www.360docs.net/doc/967059448.html,/group/android-beginners?lnk=

◆Developper Group s https://www.360docs.net/doc/967059448.html,/group/android-developers

◆Android Internals https://www.360docs.net/doc/967059448.html,/group/android-internals?lnk=

◆Android Porting https://www.360docs.net/doc/967059448.html,/group/android-porting?lnk=

Android开发环境配置简介

写这个系列的原因也是因为自己对android比较感兴趣,而网上多数教程都是直接参照官方翻译,并且翻译质量也不是很好,因为有些东西看去还真是英文能理解,中文翻译的反而不伦不类。

我不是说我英文水平有多好,所以我也不会去做翻译,我只会把我学习进度过程做记录,和大家一起分享。

那我就从最基本的说起,环境配置。

一、Android开发环境配置

1.1Android开发环境需求

1.1.1 操作系统

目前只支持XP(32-bit)、Vista(32/64-bit)、Mac OS X 10.4.8或更新版本(x86)、Linux(只在Linux Ubuntu Dapper Drake上面做过测试)。

我的笔记也只是按照本人的系统XP sp2/sp3 32bit 来做讲解,其他系统的朋友可以google一下差异,反正都大同小异的。

1.1.2 Android开发环境

无论是官方还是我本人,都建议使用eclipse进行开发,当然,eclipse版本要在3.3以上,这是官方说法,3.3以下我也没测过,3.3 (Europa)、3.4 (Ganymede) 都可以,java 版本或者EE版本也都没问题的,可以到eclipse官方下载最新版本。

因为开发是基于java的,所以jdk是少不了的,jdk要求是5.0或者6.0,我还是用5.0比较多,可以到sun官方下载。

如果不用eclipse,也可以直接使用ant来构建,那当然就需要ant了,ant的配置我顺带一提,一般用ant的人都已懂得,而新手都不会用它,肯定用eclipse了,呵呵。

1.2 Android开发环境变量配置

已经配置好的请飘过……高手飘过……

新手请跟进。

首先到sun官方下载jdk,注意是jdk而不是jre,因为jre是提供java运行环境而不是开发环境哟。sun官方https://www.360docs.net/doc/967059448.html,

下载后安装或者有些朋友是下的解压包那就解压到某目录,例如我是C:\Program Files\Java\jdk1.5.0_14

右击我的电脑 -> 属性 -> 高级,点击下面的环境变量,在下面的“系统变量”处选择新建在变量名处输入 JAVA_HOME ,变量值中输入刚才的目录,比如我的就是

C:\Program Files\Java\jdk1.5.0_14 ,确定后再新建一个变量名为classpath,变量值

为 .;%JAVA_HOME%/lib/rt.jar;%JAVA_HOME%/lib/tools.jar ,确定后找到PATH的变量,双击或点击编辑,在变量值最前面加上%JAVA_HOME%/bin; 注意里面的;哦。确定、确定、确定后即可

然后开始 - 运行 cmd,输入java或者javac看看有没有效果,如果出来一大堆东东,那就ok了,如果出现类似xxx不是内部或外部命令之类的那就说明设置有问题,看看那里出问题啦。

1.2.2 eclipse下载安装

到eclipse官方下载最新版本,https://www.360docs.net/doc/967059448.html,/downloads/我刚才下了最新的189M的那个eclipse-jee-galileo-win32.zip 大家可以自己选择下载,下载后解压即可运行。不用其他特殊配置“暂时”。

1.2.3 sdk的配置

因为我们要开发的android应用程序,所以下的sdk是Google那里下载,地址在https://www.360docs.net/doc/967059448.html,/sdk/1.5_r3/index.html以后更新后估计地址会变,所以大家可以从https://www.360docs.net/doc/967059448.html,/index.html进入android主页,然后点击sdk 就到了这个下载页面,我是XP,当然下载了第一个Windows的版本。下载后解压到一个目录,如我的是D:\SDK\android-sdk-windows-1.5_r3\android-sdk-windows-1.5_r3 然后同样要设置环境变量,同jdk设置,新建一个SDK_HOME,值为

D:\SDK\android-sdk-windows-1.5_r3\android-sdk-windows-1.5_r3 ,然后找到path,在前面加上%SDK_HOME%\tools; 就OK了。

和jdk一样,我们也可以测试一下环境变量是否设置成功,cmd窗口中输入android,出现一堆东西,OK完成。

用eclipse开发基本就用不到了。但是有些“高手”就是喜欢,呵呵,ant是apache 的东西,所以去https://www.360docs.net/doc/967059448.html,下载吧,down回来后解压,配置环境变量 ANT_HOME = 解压路径 path中添加 %ANT_HOME%/bin;

同样,测试一下,cmd中输入ant,出现build.xml不存在类似的提示就OK了。

1.3 eclipse设置

当然,以上都搞定后,还不能马上用eclipse开发android应用程序,还必须添加eclipse插件才行,幸好这步骤非常轻松,打开eclipse后,点击菜单栏的help -> install new software... 然后点击Add会出来一个Add Site的窗口,这里Name输入android(自己取个就是了),location中输入插件的网络地址:

https://https://www.360docs.net/doc/967059448.html,/android/eclipse/

然后就等待连接了,然后install,把"Android DDMS" 和 "Android Development Tools"都选中,finish就可以了,可能有段时间会去计算插件占用资源情况,慢慢等会。完成后会提示重启eclipse来加载插件,ok重启,就可以用了。

1.4 Android开发环境配置最终步骤……

为什么要有这个步骤,是因为我跑example的时候总出现“Failed to find an AVD compatible with target”,所以这里写一下该步骤以提醒大家。

avd必须在运行实例前创建好,可以直接在cmd中输入 android list,会列出可以创建avd的几个api,我这里有id1 id2 id3 分别对应sdk1.1 sdk1.5 GoogleAPIs。

然后大家运行android create --name myname(自己取个,英文的呃) --target 3(如果要用sdk1.5就输入2,1.1就用1)

创建好后就完成了终极步骤……

到此,大家可以去eclipse里面new一个android工程,然后直接在工程上点右键run --run android了,只不过模拟器开机时间有点长,害我一开始以为失败了,一直停留在android字样上,其实那是在开机…… 然后大家自己先玩玩,过把瘾,买不起手机,过模拟器的瘾……

补充一下,在eclipse建立android项目前,需要在eclipse中配置sdk目录,注意不是tools目录哦。方法:window -- preferences -- android 然后在SDK location中输入sdk目录地址或者点击browse定位到sdk目录即可,然后apply,ok就完成了

详解Android源码的编译

本文将为大家介绍的是如何设置Android源码的编译环境,包括Linux下的配置。主要基于Android 1.0环境,希望对大家了解Android开发有所帮助。

本次编译过程主要参考官方文档(https://www.360docs.net/doc/967059448.html,/download)和网上相关资料(如https://www.360docs.net/doc/967059448.html,/liaoshengjiong/archive/2009/03/04/3957749.aspx) 编译环境:Ubuntu8.10

1、安装一些环境

1.sudo apt-get install build-essential

2. sudo apt-get install make

3. sudo apt-get install gcc

4. sudo apt-get install g++

5. sudo apt-get install libc6-dev

6.

7. sudo apt-get install patch

8. sudo apt-get install texinfo

9. sudo apt-get install libncurses-dev

10.

11. sudo apt-get install git-core gnupg

12. sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxg

tk2.6-dev build-essential zip curl

13. sudo apt-get install ncurses-dev

14. sudo apt-get install zlib1g-dev

15. sudo apt-get install valgrind

16. sudo apt-get install python2.5

安装java环境

17.sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts

sun-java6-jdk

注:官方文档说如果用sun-java6-jdk可出问题,得要用sun-java5-jdk。经测试发现,如果仅仅make(make不包括make sdk),用sun-java6-jdk是没有问题的。而make sdk,就会有问题,严格来说是在make doc出问题,它需要的javadoc版本为1.5。

因此,我们安装完sun-java6-jdk后最好再安装sun-java5-jdk,或者只安装

sun-java5-jdk。这里sun-java6-jdk和sun-java5-jdk都安装,并只修改javadoc.1.gz

和javadoc。因为只有这两个是make sdk用到的。这样的话,除了javadoc工具是用1.5版本,其它均用1.6版本:

18.sudo apt-get install sun-java5-jdk

修改javadoc的link

19.cd /etc/alternatives

20.sudo rm javadoc.1.gz

21.sudo ln -s /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc

.1.gz

22.sudo rm javadoc

23.sudo ln -s /usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc

2、设置环境变量

24.vim ~/.bashrc

在.bashrc中新增或整合PATH变量,如下

25.#java 程序开发/运行的一些环境变量

26.JAVA_HOME=/usr/lib/jvm/java-6-sun

27.JRE_HOME=${JAVA_HOME}/jre

28.export Android_JAVA_HOME=$JAVA_HOME

29.export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH

30.export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin

31.export JAVA_HOME;

32.export JRE_HOME;

33.export CLASSPATH;

34.HOME_BIN=~/bin/

35.export PATH=${PATH}:${JAVA_PATH}:${JRE_PATH}:${HOME_BIN};

36.#echo $PATH;

最后,同步这些变化:

37.source ~/.bashrc

3、安装repo(用来更新Android源码)

创建~/bin目录,用来存放repo程序,如下:

38.$ cd ~

39.$ mkdir bin

并加到环境变量PATH中,在第2步中已经加入

下载repo脚本并使其可执行:

40.$ curl https://www.360docs.net/doc/967059448.html,/repo >~/bin/repo

41.$ chmod a+x ~/bin/repo

4、下载 Android源码并更新之

建议不要用repo来下载(Android源码超过1G,非常慢),直接在网上下载

https://www.360docs.net/doc/967059448.html,/bbs/pub/cupcake.tar.gz。而且解压出来的 cupcake下也有.repo文件夹,可以通过repo sync来更新cupcake代码:

42.tar -xvf cupcake.tar.gz

repo sync(更新很慢,用了3个小时)

5、编译Android源码,并得到~/project/Android/cupcake/out 目录

进入Android源码目录:

make

这一过程很久(2个多小时)

6、在模拟器上运行编译好Android

Android SDK的emulator程序在Android-sdk-linux_x86-1.0_r2/tools/下,emulator 是需要加载一些image的,默认加载Android-sdk-linux_x86-1.0_r2/tools/lib/images 下的kernel-qemu(内核) ramdisk.img system.img userdata.img

编译好Android之后,emulator在

~/project/Android/cupcake/out/host/linux-x86/bin下,

ramdisk.img system.img userdata.img则在

~/project/Android/cupcake/out/target/product/generic下

cd ~/project/Android/cupcake/out/host/linux-x86/bin

增加环境变量

43.vim ~/.bashrc

在.bashrc中新增环境变量,如下

44.#java 程序开发/运行的一些环境变量

45.export Android_PRODUCT_OUT=~/project/Android/cupcake2/out/target/pro

duct/generic

46.Android_PRODUCT_OUT_BIN=~/project/Android/cupcake2/out/host/linux-x8

6/bin

47.export PATH=${PATH}:${Android_PRODUCT_OUT_BIN};

最后,同步这些变化:

48.source ~/.bashrc

49.emulator -image system.img -data userdata.img -ramdisk ramdisk.img

最后进入Android桌面,就说明成功了。

out/host/linux-x86/bin下生成许多有用工具(包括Android SDK/tools的所有工具),因此,可以把eclipse中Android SDK的路径指定到out/host/linux-x86/bin进行开发

7、编译linux kernel

直接make Android源码时,并没有make linux kernel。因此是在运行模拟器,所以不用编译 linux kernel。如果要移值Android,或增删驱动,则需要编译 linux kernel linux kernel的编译将在以后的文章中介绍。

8、编译模块

Android中的一个应用程序可以单独编译,编译后要重新生成system.img

在源码目录下执行

50.. build/envsetup.sh (.后面有空格)

就多出一些命令:

51.- croot: Changes directory to the top of the tree.

52.- m: Makes from the top of the tree.

53.- mm: Builds all of the modules in the current directory.

54.- mmm: Builds all of the modules in the supplied directories.

55.- cgrep: Greps on all local C/C++ files.

56.- jgrep: Greps on all local Java files.

57.- resgrep: Greps on all local res/*.xml files.

58.- godir: Go to the directory containing a file.

可以加—help查看用法

我们可以使用mmm来编译指定目录的模块,如编译联系人:

59.mmm packages/apps/Contacts/

编完之后生成两个文件:

60.out/target/product/generic/data/app/ContactsTests.apk

61.out/target/product/generic/system/app/ Contacts.apk

o Google CEO谈Android和Chrome OS操作系统

o开发商担心Android发展速度过快

o谷歌创始人布林:Chrome OS与Android将..

o Android占领2010的六大理由

o开发人员的怨念:Android开发应用像噩梦

可以使用make snod重新生成system.img

再运行模拟器

9、编译SDK

直接执行make是不包括make sdk的。make sdk用来生成SDK,这样,我们就可以用与源码同步的SDK来开发 Android了。

1)修改/frameworks/base/include/utils/Asset.h

‘UNCOMPRESS_DATA_MAX = 1 * 1024 * 1024’ 改为‘UNCOMPRESS_DATA_MAX = 2 * 1024 * 1024’

原因是Eclipse编译工程需要大于1.3M的buffer

2)编译ADT。

注意,我们是先执行2),再执行3)。因为在执行./build_server.sh时,会把生成的SDK清除了。

用上了新的源码,adt这个调试工具也得自己来生成,步骤如下:

进入cupcake源码的development/tools/eclipse/scripts目录,执行:

export ECLIPSE_HOME=你的eclipse路径

./build_server.sh 你想放ADT的路径

3)执行make sdk。

注意,这里需要的javadoc版本为1.5,所以你需要在步骤1中同时安装sun-java5-jdk make sdk

编译很慢。编译后生成的SDK存放在out/host/linux-x86/sdk/,此目录下有Android-sdk_eng.xxx_linux-x86.zip和Android-sdk_eng.xxx_linux-x86目录。

Android-sdk_eng.xxx_linux-x86就是SDK目录

实际上,当用mmm命令编译模块时,一样会把SDK的输出文件清除,因此,最好把Android-sdk_eng.xxx_linux-x86移出来

4)关于环境变量、Android工具的选择

目前的Android工具有:

A、我们从网上下载的SDK( tools下有许多Android工具,lib/images下有img映像)

B、我们用make sdk编译出来的SDK( tools下也有许多Android工具,lib/images 下有img映像)

C、我们用make编译出来的out目录( tools下也有许多Android工具,lib/images 下有img映像)

那么我们应该用那些工具和img呢?

首先,我们不会用A选项的工具和img,因为一般来说它比较旧,也源码不同步。测试发现,如果使用B选项的工具和img,Android模拟器窗口变小(可能是skin加载不了),而用C选项的工具和img则不会有此问题。

有些Android工具依赖Android.jar(比如Android),因此,我们在eclipse中使用B 选项的工具(SDK),使用C选项的img。其实,从emulator -help-build-images也可以看出,Android_PRODUCT_OUT是指向C选项的img目录的

不过,除了用A选项的工具和img,用B或C的模拟器都不能加载sdcard,原因还不清楚。

5)安装、配置ADT

安装、配置ADT请参考官方文档

6)创建Android Virtual Device

编译出来的SDK是没有AVD(Android Virtual Device)的,我们可以通过Android工具查看:

Android list

输出为:

67.Available Android targets:

68.[1] Android 1.5

69. API level: 3

70. Skins: HVGA-P, QVGA-L, HVGA-L, HVGA (default), QVGA-P

71.Available Android Virtual Devices:

表明没有AVD。如果没有AVD,eclipse编译工程时会出错(Failed to find a AVD compatible with target 'Android 1.5'. Launch aborted.)

创建AVD:

Android create avd -t 1 -c ~/sdcard.img -n myavd

可以Android –help来查看上面命令选项的用法。创建中有一些选项,默认就行了再执行Android list,可以看到AVD存放的位置

以后每次运行emulator都要加-avd myavd或@myavd选项,这里eclipse才会在你打开的emulator中调试程序

注意:

这样,SDK和ADT就生成了,就按照官方文档把他们整合到Eclipse,这里不再细说了。

建个Android的新工程,试试你自己编译的sdk。

Android应用程序模块详解

在大多数操作系统里,存在独立的一个1对1的可执行文件(如Windows里的exe文件),它可以产生进程,并能和界面图标、应用进行用户交互。但在Android里,这是不固定的,理解将这些分散的部分如何进行组合是非常重要的。

由于Android这种可灵活变通的,在实现一个应用不同部分时你需要理解一些基础技术:

一个android 包 (简称 .apk ) ,里面包含应用程序的代码以及资源。这是一个应用发布,用户能下载并安装他们设备上的文件。

一个任务,通常用户能当它为一个“应用程序”来启动:通常在桌面上会有一个图标可以来启动任务,这是一个上层的应用,可以将你的任务切换到前台来。

一个进程是一个底层的代码运行级别的核心进程。通常.apk包里所有代码运行在一个进程里,一个进程对于一个.apk包;然而, 进程标签常用来改变代码运行的位置,可以是全部的.apk包或者是独立的活动, 接收器, 服务, 或者提供器组件。

任务

记住关键的一点:当用户看到的“应用”,无论实际是如何处理的,它都是一个任务。如果你仅仅通过一些活动来创建一个.apk包,其中有一个肯定是上层入口(通过动作的

intent-filter 以及分类https://www.360docs.net/doc/967059448.html,UNCHER),然后你的.apk包就创建了一个单独任务,无论你启动哪个活动都会是这个任务的一部分。

一个任务,从使用者的观点,他是一个应用程序;对开发者来讲,它是贯穿活动着任务的一个或者多个视图,或者一个活动栈。当设置Intent.FLAG_ACTIVITY_NEW_TASK标志启动一个活动意图时,任务就被创建了;这个意图被用作任务的根用途,定义区分哪个任务。如果活动启动时没有这个标记将被运行在同一个任务里(除非你的活动以特殊模式被启动,这个后面会讨论)。如果你使用 FLAG_ACTIVITY_NEW_TASK标记并且这个意图的任务已经启动,任务将被切换到前台而不是重新加载。

FLAG_ACTIVITY_NEW_TASK必须小心使用:在用户看来,一个新的应用程序由此启动。如果这不是你期望的,你想要创建一个新的任务。另外,如果用户需要从桌面退出到他原来的地方然后使用同样的意图打开一个新的任务,你需要使用新的任务标记。否则,如果用户在你刚启动的任务里按桌面(HOME)键,而不是退出(BACK)键,你的任务以及任务的活动将被放在桌面程序的后面,没有办法再切换过去。

任务亲和力(Affinities)

一些情况下Android需要知道哪个任务的活动附属于一个特殊的任务,即使该任务还没有被启动。这通过任务亲和力来完成,它为任务中一个或多个可能要运行的活动提供一个独一无二的静态名字。默认为活动命名的任务亲和力的名字,就是实现该活动.apk包的名字。这提供一种通用的特性,对用户来说,所有在.apk包里的活动都是单一应用的一部分。

当不带 Intent.FLAG_ACTIVITY_NEW_TASK 标记启动一个新的活动,任务亲和力对新启动的活动将没有影响作用:它将一直运行在它启动的那个任务里。然而,如果使用NEW_TASK 标记,亲和力会检测已经存在的任务是否具有相同的亲和力。如果是,该任务会被切换到前台,新的活动会在任务的最上面被启动。

你可以在你的表现文件里的应用程序标签里为.apk包里所有的活动设置你自己的任务亲和力,当然也可以为单独的活动设置标签。这里有些例子演示如何使用:如果你的.apk包里包含多个用户可启动的上层应用程序,那么你可能想要为每个活动分配不同的亲和力。这里有一个不错的协定,你可以将不同的名字字串加上冒号附加在.apk 包名字的后面。例如,"com.android.contacts"的亲和力命名可以是

"com.android.contacts:Dialer" and "com.android.contacts:ContactsList"。

如果你想替换一个通知,快捷键,或者其它能从外部启动的应用程序的内部活动,你需要在你想替换的活动里明确的设置任务亲和力(taskAffinity)。例如,如果你想替换联系人详细信息浏览界面(用户可以直接操作或者通过快捷方式调用),你需要设置任务亲和力(taskAffinity)为“com.android.contacts”。

启动模式以及启动标记

你控制活动和任务通信的最主要的方法是通过设置启动模式的属性以及意图相应的标记。这两个参数能以不同的组合来共同控制活动的启动结果,这在相应的文档里有描述。这里我们只描述一些通用的用法以及几种不同的组合方式。

你最通常使用的模式是singleTop(除了默认为standard模式)。这不会对任务产生什么影响;仅仅是防止在栈顶多次启动同一个活动。

singleTask模式对任务有一些影响:它能使得活动总是在新的任务里被打开(或者将已经打开的任务切换到前台来)。使用这个模式需要加倍小心该进程是如何和系统其他部分交互的,它可能影响所有的活动。这个模式最好被用于应用程序入口活动的标记中。(支持MAIN活动和LAUNCHER分类)。

singleInstance启动模式更加特殊,该模式只能当整个应用只有一个活动时使用。

有一种情况你会经常遇到,其它实体(如搜索管理器SearchManager 或者通知管理器NotificationManager)会启动你的活动。这种情况下,你需要使用

Intent.FLAG_ACTIVITY_NEW_TASK 标记,因为活动在任务(这个应用/任务还没有被启动)之外被启动。就像之前描述的一样,这种情况下标准特性就是当前和任务和新的活动的亲和性匹配的任务将会切换到前台,然后在最顶端启动一个新的活动。当然,你也可以实现其它类型的特性。

一个常用的做法就是将Intent.FLAG_ACTIVITY_CLEAR_TOP 和NEW_TASK一起使用。这样做,如果你的任务已经处于运行中,任务将会被切换到前台来, 在栈里的所有的活动除了根活动,都将被清空,根活动的onNewIntent(Intent) 方法传入意图参数后被调用。当使用这种方法的时候 singleTop 或者 singleTask启动模式经常被使用,这样当前实例会被置入一个新的意图,而不是销毁原先的任务然后启动一个新的实例。

另外你可以使用的一个方法是设置活动的任务亲和力为空字串(表示没有亲和力),然后设置finishOnBackground属性。如果你想让用户给你提供一个单独的活动描述的通知,倒不如返回到应用的任务里,这个比较管用。要指定这个属性,不管用户使用BACK还是HOME,活动都会结束;如果这个属性没有指定,按HOME键将会导致活动以及任务还留在系统里,并且没有办法返回到该任务里。

进程

在Android中,进程是应用程序的完整实现,而不是用户通常了解的那样。他们主要用途很简单:

◆提高稳定性和安全性,将不信任或者不稳定的代码移动到其他进程。

◆可将多个.apk包运行在同一个进程里减少系统开销。

◆帮助系统管理资源,将重要的代码放在一个单独的进程里,这样就可以单独销毁应用程序的其他部分。

像前面描述的一样,进程的属性被用来控制那些有特殊应用组件运行的进程。注意这个属性不能违反系统安全:如果两个.apk包不能共享同一个用户ID,却试图运行在通一个进程里,这种情况是不被允许的,事实上系统将会创建两个不同的进程。

线程

每个进程包含一个或多个线程。多数情况下,Android 避免在进程里创建多余的线程,除非它创建它自己的线程,我们应保持应用程序的单线程性。一个重要的结论就是所有呼叫实例, 广播接收器, 以及服务的实例都是由这个进程里运行的主线程创建的。

注意新的线程不是为活动,广播接收器,服务或者内容提供器实例创建:这些应用程序的组件在进程里被实例化(除非另有说明,都在同一个进程处理),实际上是进程的主线程。这说明当系统调用时这些组件(包括服务)不需要进程远距离或者封锁操作(就像网络呼叫或者计算循环),因为这将阻止进程中的所有其他组件。你可以使用标准的线程类或者Android的HandlerThread 类去对其它线程执行远程操作。

这里有一些关于创建线程规则的例外:

呼叫IBinder或者IBinder实现的接口,如果该呼叫来自其他进程,你可以通过线程发送的IBinder或者本地进程中的线程池呼叫它们,从进程的主线程呼叫是不可以的。特殊情况下,,呼叫一个服务的IBinder可以这样处理。(虽然在服务里呼叫方法在主线程里已经完成。)这意味着IBinder接口的实现必须要有一种线程安全的方法,这样任意线程才能同时访问它。

呼叫由正在被调用的线程或者主线程以及IBinder派发的内容提供器的主方法。被指定的方法在内容提供器的类里有记录。这意味着实现这些方法必须要有一种线程安全的模式,这样任意其它线程同时可以访问它。

呼叫视图以及由视图里正在运行的线程组成的子类。通常情况下,这会被作为进程的主线程,如果你创建一个线程并显示一个窗口,那么继承的窗口视图将从那个线程里启动。

13简单快速学会金口诀之地支三合

13简单快速学会金口诀之地支三合 各位易友大家好,我是吉娘。 我在写关于金口诀预测的系列文章,这是我写的第十三篇文章,它是可以免费阅读的,有部分文章我设置为付费文章,因为有付出才有收获。 讲完刑再来讲三合。 寅午戌合火局、亥卯未合木局,巳酉丑合金局、申子辰合水局。 另外,课内天干不参与三合,当有天干凑成三合时,这叫虚合三合局。有这个气势没那个力气,好比领导来到你的办公室,他虽然没有管你,但你不敢不认真工作,因为他的权威摆在那了。 还要注意的是,只有首尾两个支出现,缺中间那个支,是不成半合的,如如寅戌不论半合论克,但可以作为应期。 寅午戌合火局,文书、财帛、喜美之和,不好的时候是有口舌是非事。 寅午戌三个支都是阳的,而且从左往右依次相生,是美梦成真的合,有喜美的事。有文书、财帛上的好事。因为火主文化,是文书上的好事。寅财神出现,也有财喜。 怕有亥、子水来坏局,有子来冲午的话,这个火局就合不成了。 在三合局中,缺头一个字时,如火局无寅,这个叫万事俱备,只欠东风。

如果缺午,这就像青年男女相爱,情到了,就是无时机结合,叫欠时机。 无戌,是做事虎头蛇尾,有冲天壮志,就是坚持不下去,输在个人毅力上。 亥卯未合木局,主交易、婚姻、和会之合,不好的时候是纠缠不清,问婚姻、合作是过程缓慢、吃力,不好搞,也有不愉快的事。 因为三个支都是阴,亥是汽水,没用的水,不成器,卯克未犯啰索,当断不断反受其乱,所以后继问题要考虑好,比如买电器就考虑维修保养等后继问题。 另外,木局怕申酉金坏局。 巳酉丑合金局,阴阳、淫滥、轻薄之合。 也是从革之合,代表着大的改变。 这种合像辰酉合一样,是一种私下的合,有暗昧、私下交易、约定、私会的味。金局的合好的时候是可以改头换面,当你想要作出什么改变时,遇到金局就能如愿更改。 坏的时候是带有暧昧、不明朗、见不得光的意味。不过当你要做的事正好不适合公开的话那就正合你意了。 金局忌午火坏局。 申子辰合水局,是行移、征战、干蛊之合。

(完整版)Android应用开发期末考试题

试题 一、选择题 1 android虚拟设备的缩写是(AVD) 2 Android SDK目前支持的操作系统(DOS) 3 Android开发工具插件(ADT)没有提供的开发功能(自动更新) 4Android SDK提供一些开发工具可以把应用软件打包成Android格式文件(APK) 5 Android当中基本的所有的UI都是由(view)或者其子类实现的 6以下不是Android中调试项目的正确步骤(测试用例) 7下列不是Activity的生命周期方法之一的是(OnResume) 8以下可以做EditText编辑框的提示信息是(adroid:hint) 9以下不是Activity启动的方法是(gotoActivity) 10以下不是手机操作系统的是(windows vista) 二、填空题 1 Android平台由操作系统,中间件,用户界面和应用软件组成的。 2 Android平台提供了2D,3D的图形支持,数据库支持SQLite,并且集成了浏览器 3目前已知的可以用来搭建Android开发环境的系统有windows,Linux,Mac 等4开发中推荐使用的IDE开发组合为IDE,eclipse,ADI来开发 5 Android SDK主要以java语言为基础 6创建工程时需要填写的信息名称有工程名,包的名字,Activity的名字还有应用的名字

7 Android.jar是一个标准的压缩包,其内容包含的是编译后的class,包含了全部的API 三、简答题 1 Android SDK中API的包结构的划分?至少五个 android.util,android.os,android.content,android.view,android.graphics,android.text 2 Android软件框架结构自上而下可分为哪些层? 应用程序(Application)、应用程序框架(Application Framework)、各种库(Libraries)和Android运行环境(RunTime)、操作系统层(OS) 3 Android应用程序的4大组件是什么? Activity、Broadcast Intent Receiver、Service、Content Provider 4 Android应用工程文件结构有哪些? 源文件(包含Activity),R.java文件,Android Library,assets目录res目录,drawble目录,layout目录,values目录,AndroidManifest.xml 5 Android开发应用程序最有可能使用到的应用框架部分是哪些? 一组View(UI)组件,Content Providers,Resource Manger,Notification Manger,Activiy Manger 6 Android底层库包含哪些? 系统C库,媒体库,Surface Manager,LibWebCore,SGL 四、编程 1实现点击一个按钮,结束当前Activity并将需要返回的数据放置并关闭当前窗体请编写核心代码 Bundle bundle = new Bundle ( ); Bundle.putString(“store”,”数据来自Activity1”) ;

6简单快速学会金口诀之定旺衰

6简单快速学会金口诀之定旺衰 各位易友你们好,我是吉娘。 我在写关于金口诀预测的系列文章,这是我写的第六篇文章,它是可以免费阅读的,有部分文章我设置为付费文章,因为有付出才有收获。 上次我们讲完了定用爻,接着是定四位旺衰。 定四位旺衰是根据课内四位五行金、木、水、火、土的搭配来定的。 五行之间有两种关系,生与克。 生的关系是:金生水、水生木、木生火、火生土、土生金。 克的关系是:金克木、木克土、土克水、水克火、火克金。 1、如何定出四位的衰旺? 四位指的是人元、贵神、将神和地分。每一个课起出来,这四位都有属于各自的衰旺状态。 定四位旺衰是根据五行的态势规律来定的。 五行的态势规律是:五行中,当某一个五行处于旺的态势时,它所生的五行处于相,生它的五行处于休的态势,克它的五行处于囚的态势;被它克的五行处于死的态势。

比如当火处于旺势时,火生土,土处相,木生火,木处休,水克火,水处囚,火克金,金处死。 当我们定出课中那个最旺的那一爻之后,以这个旺爻为基准,就可以定出另外三位的相、休、囚的状态。 2、定四位旺衰步骤。 金口诀定四位旺衰有下面这几个步骤,按照先后的顺序分别是: 一是,不受克者为旺。 当课中的五行数量都是一个,没有重复的五行时,那么没有被克的那一个五行比其他被克的五行旺,把它定为旺爻。 比如: 甲旺 乙丑死 庚午相 子休 这一课中,丑土被甲木克,午火被子水克,子水被丑土克,只有甲木没有被克,所以定甲木为旺爻。 这里要注意,贵神和将神的天干是不参与旺衰判断的。

把甲木定为旺爻之后,甲木生午火,午火为相,子水生甲木,子水为休,甲木克丑土,丑土为死。 我们在这四位旁边标记它们各自的状态。 二是,克他者为旺 当课中出现有两个不受克的五行时,第一条准则就不适用了,釆用第二条准则,以克他者为旺来比较这两个不受克的五行哪个旺,哪一行有克其他五行,它就是旺爻。 比如: 辛旺 甲子相 乙亥相 卯死 课中辛金和子水、亥水都没被克,但辛金克了卯木,所以取辛金为课中旺爻。辛金生子、亥水,它们处相地,辛金克卯木,卯木处死地。 三是,受生者旺。 当课中只有两个五行,这时前面两个准则都无法判断,就要依据受生的那个比没被受生的那一五行旺。

Android应用开发基础习题

-- 任务一Android 开发环境的搭建 第一部分知识回顾与思考 1.Android 的四层架构分别包括哪几层?分别起到什么作用? 答:Linux 内核层(Linux Kernel ):基于Linux 内核,内核为上层系统提供了系统服务。 系统库层(Libraries ):系统库基于C/C++ 语言实现,通过接口向应用程序框架层提供编程接口。 应用框架层(Application Framework ):为开发者提供了一系列的Java API,包括图形用户界面组件

View 、SQLite 数据库相关的API 、Service 组件等。 应用程序层(Applications ):包含了Android 平台中各式各样的应用程序。 第二部分职业能力训练 一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内) 1.Android 四层架构中,应用框架层使用的是什么语法?(C)A .CB .C++C.Java D.Android 2.Android 四层架构中,系统库层使用的是什么语法?(B)A .VBB.C /C++C.Java D .Android 3.应用程序员编写的Android 应用程序,主要是调用(B)提供的接口进行实现。 A .应用程序层DCB.应用框架层.应用视图层.系统库层

二、填空题(请在括号内填空) 1.在Android 智能终端中,有很多应用如拍照软件、联系人管理软件,它们都属于Android 的(应用程 序)层。 2.为了让程序员更加方便的运行调试程序,Android 提供了(模拟器),可以方便的将程序运行其上, 而不要实际的移动终端。 程序运行,我们需要安装(Java 3.为了支持)。JDK 三、简答题 1.简述Android 开发环境安装的步骤。 答:下载并安装JDK ,配置JDK 的环境变量; 从Anroid 官网上下载Android 开发组件(包含Eclipse 和

11简单快速学会金口诀之地支六害

11简单快速学会金口诀之地支六害 各位易友大家好,我是吉娘。 我在写关于金口诀预测的系列文章,这是我写的第十一篇文章,它是可以免费阅读的,有部分文章我设置为付费文章,因为有付出才有收获。 接着再来讲地支的六害,把左手掌摊开,两两垂直相对的地支是相害的关系。有:子未害、丑午害、寅巳害、申亥害,卯辰害、酉戌害。 相害的关系,是相互对峙不让,关系僵持,貌合神离。 在恩惠中产生仇恨而引起的灾难,一般家庭关系容易产生这种关系,由恩变恨,比如父母对孩子好,方式不对,引起孩子的怨恨。 遇到六害时,人也容易引起神经系统的疾病,因为人长期处在僵局当中,精神紧绷。 1、子未相害,又是克又是害,关系恶劣,是所有相害关系中最严重的一种。子水处暗地,未是阴妇,都是阴神,组合在一起是容易犯小人。 工作也有变动,因为未为食禄,是饭碗。 当人处在这种关系的时候,容易变得个性极端,对人无理要求,而别人也是不帮忙还添乱。

2、丑午害,是又生又害的关系,就像母亲对孩子关心过了头,天冷了就使劲给他加衣服,孩子明明不冷。 这就导致人容易生气,耐性差。因为午是发光,丑是湿土泄火气,双方都不好过。 3、寅巳相害,寅是财帛、文书,遇巳来害,代表缺钱花,问财或文书事会有受制。 遇寅巳相害的人,很能说,该说的说,不该说的也说,到处去揭密,让人涶弃。寅代表财还代表人的才华,巳来害,个人才华也很难得到显露。 寅巳是驿马时,是驿马害,出行不顺。 占婚如果离婚了,也有可能还同住一屋檐下。 总之寅巳相害,无恩情、人情,是非多,易犯小人。 4、申亥相害,五行根据不同气度分成十二长官,长生、浴沐、冠带、临官、帝旺、死、墓、绝、胎、养。 其中,申是金的临官,亥是水的临官,临官代表一个人长成授官,开始要施展大图。 所以申亥相遇,各恃临官,都以为自己了不起,竟妒才能,互相为害。 遇到这种害的人,就要防范被对手陷害。 5、卯辰相害,这两个地支是挨在一起的,就是身边人之间的害。

33简单快速学会金口诀财动

33简单快速学会金口诀财动 各位易友你们好,我是吉娘。 我在写关于金口诀预测的系列文章,这是我写的第33篇文章,这是一篇付费文章,一共1000多字。 通过这篇文章你将对财动有更深的了解。 将神是财爻,财爻动便称为财动。 将神是内财,贵神是外财,将神克贵神,便是以内财去博取外财,以财求财,这叫动本求财,适合投资、做生意。 将神也是己身,代表自己,自己去克贵神换来的财,就是出外求得的财,或出卖自己的时间、精力换来的工资,或是需要自己花费力气求得的财。 属于自主求财,需要努力求得的。 其实求财的方式有很多种,有利用自己的工作使利得的财,也就是油水,贵神生将神就是这样的。 有别人主动送财来给你的,自己什么都不用干的,比如人元生将神。 有利用房子收租金来的钱,比如地分生将神。 而将神去克贵神比起前三种得来的财要辛苦些,因为去克别人是需要花费力量的,而等着别人来生我多轻松。

将神在四象所属图中代表己身和妻妾,贵神代表尊长父母,将神克贵神,也说明对父母不好不尊重。 在内外关系中,贵神为外,将神为内,将克贵,即是内克外,看人就是有出外的打算,看财就是财出去了,花钱了,占求财就是要动本求财,先投入自己的本钱赚来的钱。 下面再用歌诀加深理解。 财动利求财,占官定不谐。 家中人出外,身灾并妻妾。 疾病忧难愈,营求喜自来。 财物终有损,职位恐多乖。 财动利求财,这句话我觉得有偏失了,通过上面的讲解,我们知道,发生了财动,占求财的话,是用内财换外财,是动本求财,可以肯定的是财会往外出去。 所以倒数第二句说财物终有损,财一定会有所损失,这是肯定的。 因为是将神财爻主动向外克出去的,财肯定会出去一部分,至少利不利求财,还得看整体的课内情况,这个在以后分类占求财的时候讲。 财动只能说明有求财的象。 我们记忆把这两句口诀时,可以放在一起加深这种印象。

Android应用开发试题

Android应用开发试题 一、选择题(每题2分,共30分) 1. 下列不是手机操作系统的是?(D) A.Android B. Window Mobile C. Apple IPhone IOS D.windows vista 2.Android的VM虚拟机是哪个?A A.Dalvik B.JVM C.KVM D.framework 3. AndroidVM虚拟机中运行的文件的后缀名为(B) A.class B.apk C.dex D.xml 4. 下面关于Android DVM的进程和Liunx的进程,应用程序的进程说法正确的是 A.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例,而每一个DVM都是在Liunx中的一个进程,所以说可以认为是同一个概念。B B.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例,而每一个DVM不一定都是在Liunx 中的一个进程,所以说可以认为不是一个概念。 C.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例,而每一个DVM不一定都是在Liunx中的一个进程,所以说可以认为不是同一个概念。 D.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例,而每一个DVM都是在Liunx中的一个进程,所以说可以认为是同一个概念。 5. 下列哪个可做EditText编辑框的提示信息?(D) A. android:inputType B. android:text C. android:digits D. android:hint 6. 在AndroidManifes.xml中描述一个Activity时,该Activity的label属性是指定什么( B) A.指定Activity的图标 B.指定Activity的显示图标 C.指定Activity和类相关联的类名 D.指定该Activity的唯一标识 7. 关于ContentValues类说法正确的是( A ) A.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名是String类型,而值都是基本类型。 B.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名是任意类型,而值都是基本类型。 C.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名可以使空,而值都是String类型。 D.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名是String类型,而值也是String类型。 8. Activity对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行( A) A.onPause() B.onCreate() C.onResume() D.onStart 9. 下列哪个不是Activity的生命周期方法之一?(B) A. onCreate B. startActivity C. onStart D. onResume 10.如果在android应用程序中需要发送短信,那么需要在AndroidManifest.xml文件中增加什么样的权限( D). A.发送短信,无需配置权限

云梦轩金口诀入门教材讲义一

云梦轩  金口诀入门教材讲义  、八 前言 辛苦写的金口诀入门教材讲义,比我期许的差了一点,不过写完第五讲,忽然有点脱虚的感觉,这部教材是我唯一一次从基础从零写起的东西。 希望有志于此道的朋友可以研习。 仅仅五章讲义,已经完全打开了金口诀的入门之径。 剩下就靠大家努力了。 云梦轩金口诀入门教材讲义 编写人孤魂云梦

金口诀的结构有四大组成部分 我们可以把它看成四层楼 如下 人元就是配合地分的天干运用当日的五子遁求来的。 贵神有名天将是运用口诀配合白天黑夜,顺时针或逆时针加临在地支上。

月将用月建六合推测出来的 地分 就是地支在手掌上的固定位置 第一步先学会地分的定位。详细看下图。 第二步推出当月的月将 月将是月建的7K合O 比如这个月为丙申月,月建就是申,而申金的六合是巳。我们可以知道这个月的月将是巳火,如果下个月酉月,则月将是辰。 六合关系

子丑合 寅亥合 卯戌合 辰酉合 巳申合 午未合 合的关系是相互的,我们可以叫午合未,也可以看成未合午后。 F面请看六合图。 当然月将也是是有名字的。只是为了它跟地支做一个区分关系而赋予了名字。 子神后

丑大吉 卯太冲辰天罡巳太乙午胜光未小吉 亥登明

当申月月将是巳的时候,我们可以叫这个月的月将是太乙。 之所以把月将的名字列出来是因为,它们本身赋予了很多信息在内。 第三部月将加时。 预测都会有模拟系统,金口诀运用月将加时而模拟天地之道的运行。月将为天道和地支为地道。 时就是我们所说的时辰,什么时候预测,预测的那一刻当下是什么时辰,然后把当月月将加在时辰上,顺指针旋转从而完成这一步。 我们可以举例比如丙申月在午时问卦 月将申月为巳火太乙做月将问卦的时辰是午时把月将巳加在地分午上即可 月将巳午未申酉戌亥子丑寅卯辰

《Android应用开发》课程标准

《Android应用开发》 课程标准 内蒙古电子信息职业技术学院计算机科学系

一.课程设置概述 1.1课程在相关专业中的性质与定位 Android应用开发是物联网应用技术专业(应用开发方向)的核心课程之一,是Android应用程序开发方法的主要课程,是Android应用的主要领域。为了适应高职学生的学习情况,该课程以Android应用技术为重点,逐步阐述Android应用体系结构,介绍Android应用常见的几个功能。采用项目+案例教学法,既让学生掌握Android的基本知识,同时,也让学生在潜移默化中了解一些Android 的高级开发技术,从而为今后实现Android应用开发打下基础。 本课程的任务是使学生通过学习和操作实践,了解和掌握Android的主流应用技术及其开发方法,掌握Android的sdk、Activity、高级UI、网络、多媒体体方面的编程技术。为进一步学习移动互联工程师后续课程打下良好的理论和实践基础。 1.2 本课程的基本教学理念 (一)突出学生主体,注重技能培养,回归能力本位 Android应用开发是移动互联工程师的专业核心课程,注重软件开发基本理论、基本方法和基本技能的学习及素质教育,激发学生的学习兴趣,在启发、提示下使其自主地、全面地理解软件的基本理论和基本方法,提高学生的思维能力和实际操作技能,增强他们理论联系实际的能力,培养学生的创新精神,使学生养成观察、独立分析和解决问题的习惯;以提高技能、磨砺意识、活跃思维、展现个性和拓宽视野。 (二)尊重个体差异,注重过程评价,促进学生发展 本课程在教学过程中,倡导自主学习,启发学生对设定问题积极思考、分析,鼓励多种思维方式并将其表达出来,尊重个体差异。采用项目教学法进行教学,每个项目的成绩采取自评、互评、教师综合评价相结合的方式能激励学生的学习兴趣和自主学习能力的发展。教师在给学生评价成绩时应尽量以学习过程中的评价为主,注重培养和激发学生的学习积极性和自信心。最后期末的成绩评价应注重检测学生的知识应用能力。学生的最终课程成绩应由平时的各次项目成绩和期末的评定成绩按一定比例构成,在把握比例构成时要有利于促进学生的知识应用能力。建立以过程培养促进个体发展,以学生可持续发展能力评价教学过程的双向促进机制,以激发兴趣、展现个性、发展心智和提高素质为基本理念。 (三)整合课程资源,开放创新教学,拓展学习渠道 本课程在教学过程中,提醒学生留意观察并思考生活中接触的Android系统应用,鼓励其结合生活中熟悉的操作方法提出问题或假设,在教师引导下,通过分析、推理,使学生自主学习、总结,以便增强学生对Android开发方法基本理论的理解;通过课堂讲解与讨论、案例分析等促进学生对所学理论的理解和运用,以培 养其实际操作技能。充分利用现代教学手段,不断改进教学方式,突出典型案例

30简单快速学会金口诀妻动

30简单快速学会金口诀妻动 各位易友你们好,我是吉娘。 我在写关于金口诀预测的系列文章,这是我写的第30篇文章,这是一篇付费文章,一共1700多字。 通过这篇文章你将对妻动有更深的了解,知道断不同的事,遇到妻动会有不同的信息解读。 前面讲的是四位所属图,金口诀断课必须要用到的断课框架。 其实金口诀的内容很简单,主要就是四位框架和生克,这两个内容结合起来断课而已。 我们现在要学的内容就是来跟你讲明白四位框架和生克是怎么综合起来去断课的。 金口诀中的三动五动分别是根据四位框架和生克原理去读出不同的信息来,对于初学者,是快速入门的法宝,一定要细细理解。 三动分别是妻动、官动、鬼动、财动、贼动,三动是父母动、子孙动、兄弟动。先来讲三动中的妻动。 干克方为妻动,也就是人元克地分,为什么人元克地分叫妻动呢?

在金口诀的课式中,人元为天,地分为地,将神与贵神为人和,这样就有了天地人三才的配置。 在古代传统的思想当中,男人是天,女人是地,天去克地,男克女,事关女人,所以叫妻动,在女人方面有动向。 另一个说法是,把人元当为自己,我克者为妻,所以叫妻动。 不管前面两个说法,我们按金口诀上下内外的框架来理解妻动。 人元克地分,就是最上的克最下面的,最外面的克最里面的,用这个思路来理解关于妻动的口诀就可以了。 外克内,上克下,最明显的信息就是对自己很多方面都是不利的,那是外来欺压我的家内,上层来欺压下层。 比如求财那得动老本了,因地分是存款、家才,家里库存的一些财产。 也是外来劫我的财,动到地分了,因为地分是根基,根都动了,事比较大。 而且人元隔着贵神和将神来克地分,肯定要涉及到这二神,所以牵涉的人多,事也比较复杂。 我们可以用妻动的一些口诀来辅助理解上克下,外克内会出现什么情况。 妻动于妻妾,妻动事关我的妻妾,我的妻子和家里人,包括孩子、家里的老人、保姆、工人。

8简单快速学会金口诀之天干关系

8简单快速学会金口诀之天干关系 各位易友大家好,我是吉娘。 我在写关于金口诀预测的系列文章,这是我写的第八篇文章,它是可以免费阅读的,有部分文章我设置为付费文章,因为有付出才有收获。 金口诀预测跟所有的术数一样,都离不开对天干地支之间的关系解读。 天干和地支之间的关系除了五行所带的生、克关系之外,还有以下几种。 天干之间除了生和克,还有合的关系。 地支之间除了生和克还有六合、三合、冲、破、刑、害、绝这七种关系。 人事纷繁复杂,我们身处其中常常很难理清,但借用这十种关系,就能直观看清。因为易来自生活,这么多的关系正是体现了我们世界的复杂性。 接下来的学习就是抱天干地支的关系好好理清楚。 先来看天干之间的关系。 五行之间的生克我们已经知道了,金生水,水生木,木生火,火生土,土生金。还有金克木,木克土,土克水、水克火,火克金。 所以甲、乙木生丙、丁火,丙、丁火生戊、己土,戊、己土生庚、辛金,庚、辛金生壬、癸水,壬、癸水生甲、乙木。

甲、乙木克戊、己土,丙、丁火克庚、辛金,戊、己土克壬、癸水,庚、辛金克甲、乙木,壬、癸水克戊、己土。 天干在克的关系中,根据异性相吸,同性相斥的道理,还衍生出了相冲和相合的关系。 甲庚相冲、乙辛相冲、壬丙相冲、癸丁相冲。 因为土是生养万物的东西,任何五行来到它这里,它都接纳,所以戊、己土没有与它相冲的五行。 相冲的力量最大、最快速,能使事态急速转变。 如果占夫妻关系的话,天干相冲,他们会很容易一言不和就谈离婚,在一块也是噼里啪啦的吵架。 天干五合的有:甲己合、乙庚合、丙辛合、丁壬合、壬癸合。 相合的力量长久而缓慢,在消无声息中发生变化。 根据两个天干性质的不同,每个五合的性质也是不同的。 甲己是中正之合,甲阳木品质仁义,己阴土镇静淳笃,就像两位品德高尚的人一起为人类发展事业一起奋斗团结。 乙庚是仁义之合,乙阴木性仁质柔,庚阳金坚强不屈,它俩结合是刚柔并济,仁义廉资。

Android应用开发入门教程(经典版)

Android应用开发入门教程(经典版) Linux公社(https://www.360docs.net/doc/967059448.html,)于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据中心,LinuxIDC 就是关于Linux的数据中心。 https://www.360docs.net/doc/967059448.html,提供包括Ubuntu,Fedora,SUSE技术,以及最新IT资讯等Linux专业类网站。

目录 第一篇Android系统结构和SDK使用 (5) 第1章 Android的系统介绍 (5) 1.1 系统介绍 (5) 1.2 软件结构和使用的工具 (7) 第2章 Android SDK的开发环境 (10) 2.1 Android SDK的结构 (10) 2.2 Android SDK环境安装 (11) 2.2.1. 安装JDK基本Java环境。 (11) 2.2.2. 安装Eclipse (12) 2.2.3. 获得Android SDK (12) 2.2.4(1). 在Eclipse 3.4(Ganymede)中安装ADT (14) 2.2.4(2). 在Eclipse 3.5(Galileo)中安装ADT (17) 2.2.5. 在Eclipse中配置Android SDK (20) 2.3 Android中运行仿真器环境 (21) 2.3.1. 建立Android虚拟设备 (21) 2.3.2. 运行虚拟设备 (22) 2.3.3. 使用Android中的工具 (23) 2.3.4. 使用logcat (24) 2.3.5. 使用仿真器控制 (25) 2.3.6. 命令行工具adb、mksdcard等 (26) 2.3.7. 使用设备控制 (28) 2.4 Android中建立工程 (29) 2.4.1. 建立工程 (29) 2.4.2. 查看和编辑各个文件 (31) 2.4.3. 运行工程 (33) 第二篇 Android应用程序的概述和框架 (36) 第3章 Android应用层程序的开发方式 (36) 3.1 应用程序开发的结构 (36) 3.2 API参考文档的使用 (36) 第4章Android应用程序示例 (40) 4.1 HelloActivity程序的运行 (40) 4.2 HelloActivity的源文件结构 (41) 4.2.1.Android.mk文件 (41) 4.2.2.AndroidManifest.xml文件 (42) 4.2.3.源代码文件 (42) 4.2.4.布局文件 (43) 4.2.5.其他资源文件 (43) 4.3 HelloActivity的编译结构 (43) 4.4 SkeletonApp的程序的运行 (44) 4.5 SkeletonApp的源文件结构 (44) 4.6 SkeletonApp的编译结构 (46) 第5章 Android应用程序的内容 (47) 5.1 Android应用程序的概念性描述 (47) 5.1.1.应用程序的组成部分 (47) 5.1.2.应用程序的生命周期 (48) 5.2 应用程序包含的各个文件 (50) 5.3 使用am工具启动Android应用程序 (51) 2

【原创】金口诀拨雾篇

【原创】金口诀拨雾篇 金口诀拨雾篇 ——论金口诀纵断法的入手 玉函(kai_y) 易学心得分享 2016.4.23 序 所谓拨雾,指现在流行的主流金口诀解断法写的并不是很清

楚,看它的人会感觉如在雾中,看着明白,用起来就觉的晕乎乎的。 我曾经写过《金口诀纵横论》一文,一直也潜心于纵断法,时间一长我发现要完成纵断法,在断法的入手处,我们现在大部人已经吃亏了,走入了一些弯道,虽然对横断法没什么影响,但要想达到纵断,这些弯道不纠正是难以达到纵断法的,因为要改变现在的解断思维才可能达到纵断的程度,于是便有了本文。 本文的重点在于阐述因事而择,因人而异的解课观点,以及纠以往断课中,对于动用这两个内容的误解。 学习金口的绝大部分人都是以用爻为入手,以四象所属定位取象为技巧,结合五动,神煞。这种解课方法对于刚入门者来说确实有一定的帮助,也是主流金口界一直以来传授的,可以帮助新人快速的掌握这门数术的运用方法,那它是否就是唯一呢?我觉的并不是,当然它可以是初期学习金口解断的一种选择。 本文要介绍的是已经掌握这种解课方法,希望接下来深入研究解课,应该从哪下手的问题,又或者说谈一谈我自己在经

过了那个阶段后选择了哪些改变。 介绍现有非常规解法 其实在很早的时候就有易友朝着这个方向在前进了,下面介绍我了解到的几种解法: 1、李怀珠的解课方法,他最早期的课例都是他自己思考的,解的过程是以地分开始,以人元作为结束,整个过程主要以相临两个五行生克结合事情来解断。当然,这种解法也不是没有理论支持,在《六壬金口诀指玄》一书中有‘地分章’一节,主要论述地分的重要作用,地分与日的关系就是六壬的先锋门,所以李从地分开始入手也不是不可以接受。 2、未道的解法以七格为体(包括分合局格,刑狱格,关格锁格,三刑格,顺向生克格,连茹格,四绝格)这七种课格结合三动五动入手,然后看用神旺衰(这里的用神非用爻),结合二十七种神煞,组成解课三大要素。这也算是未道前辈

Android应用开发基础习题集

任务一Android开发环境的搭建 第一部分知识回顾与思考 1.Android的四层架构分别包括哪几层?分别起到什么作用? 答:Linux内核层(Linux Kernel):基于Linux内核,内核为上层系统提供了系统服务。 系统库层(Libraries):系统库基于C/C++语言实现,通过接口向应用程序框架层提供编程接口。 应用框架层(Application Framework):为开发者提供了一系列的Java API,包括图形用户界面组件View、SQLite数据库相关的API、Service组件等。 应用程序层(Applications):包含了Android平台中各式各样的应用程序。 第二部分职业能力训练 一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)1.Android四层架构中,应用框架层使用的是什么语法?( C ) A.C B.C++ C.Java D.Android 2.Android四层架构中,系统库层使用的是什么语法?( B ) A.VB B.C /C++ C.Java D.Android 3.应用程序员编写的Android应用程序,主要是调用( B )提供的接口进行实现。 A.应用程序层B.应用框架层C.应用视图层D.系统库层 二、填空题(请在括号内填空) 1.在Android智能终端中,有很多应用如拍照软件、联系人管理软件,它们都属于Android的(应用程序)层。 2.为了让程序员更加方便的运行调试程序,Android提供了(模拟器),可以

方便的将程序运行其上,而不要实际的移动终端。 3.为了支持Java程序运行,我们需要安装(JDK)。 三、简答题 1.简述Android开发环境安装的步骤。 答:下载并安装JDK,配置JDK的环境变量; 从Anroid官网上下载Android开发组件(包含Eclipse和Android SDK、ADT); 安装Android开发环境(包括配置Android SDK的环境变量、打开Eclipse通过菜单设定Android SDK路径)。 2.简述Android应用程序创建和运行的步骤。 答:通过菜单创建Android应用程序,设置应用程序名、Android版本等基本信息。 点击菜单中的运行按钮可以直接运行Android项目(也可以通过菜单配置运行参数,指定运行的模拟器)。 任务二星座查询工具的设计与实现 第一部分知识回顾与思考 1.Android的属性、方法、监听器如何使用,它们分别起了什么作用? 答:Android控件的属性,可以通过xml文件设定,通过设定控件的属性能够静态的改变控件的样式和一些特性; 控件的方法,可以通过编写代码动态调用方法,在程序中调用方法可以动态的修改控件的样式、也可以获得控件的相关信息; 控件的监听器,可以通过编码为控件创建、设定监听器,监听器可以监听控件发生的事件,一旦发生某个监听的事件可以触发相应的处理代码。

5简单快速学会金口诀之阴阳变化趋势

5简单快速学会金口诀之阴阳变化趋势 各位易友大家好,我是吉娘。 我在写关于金口诀预测的系列文章,这是我写的第五篇文章,它是可以免费阅读的,有部分文章我设置为付费文章,因为有付出才有收获。 这次要讲的内容是把太极图装在金口诀四位中来看看有什么妙用。 金口诀定用爻有这样一段话的描述: 三阳一阴,以阴为用,主事在男。事情在在向正面的方向发展,前途光明。四位配合再好,就无往不胜。 三阴一阳,以阳为用。主事在女,事物向反方向发展,前途不明,配合再不好,就往往一败涂地。 二阴二阳,以将为用,事情还不太明朗化,问事情男女不明,吉凶不定。 纯阴反阳,以将为用,主事体由隐秘开始向公开化发展。比如种子破出而出,问事体由女子转向男子或由男子转向女子。事情开始向有利的因素发展,做事不可操之过急。 纯阳反阴,以神为用。四位纯阳,阳气过盛,旺极转衰,事体开始走向它的反面,不利因素开始增加,事体开始过渡,由男转女,或由女转男。此时做事且速不易迟,趁风头还好,自己还处在绝对优势,应好好把握机遇,不要错过机会,因好运很快要用完了。

虽然这段文字描述讲得很详细,但很多人不知道这里面的含意,也不知道怎么用,所以都选择忽略这些内容。 其实只要把太极图装在四位上就完全明白它为什么这样说了。 从这张图看,这个太极是按顺时针转的。我们把它按图划分成四等份,分出四象,分别是少阳、少阴、太阳、太阴。 再来看看定用爻的口诀: 三阴一阳,以阳为用, 三阳一阴,以阴为用, 二阴二阳,以将为用; 纯阴反阳,以将为用; 纯阳反阴,以神为用. 你会发现这个口诀跟太极图的关系了。 三阴一阳是在太极图少阴的区域, 三阳一阴是在少阳的区域, 二阴二阴是太极图处于阴阳平衡时用爻在阴阳鱼曲线相交的位置。 纯阴反阳是在太极图太阴的位置,

Android应用开发经典面试题

Android应用开发经典面试题 1、Android的四大组件是哪些,它们的作用? 答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑 service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相 关的食物,定义好需要接受的Intent提供同步和异步的接口 Content Provider:是Android提供的第三方应用数据的访问方案,可以派生Content Provider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用,对数据的整合提供了更方便的途径 BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单 处理,转换成一条Notification,统一了Android的事件广播模型 2、请介绍下Android中常用的五种布局。 常用五种布局方式,分别是:FrameLayout(框架布局),LinearLayout(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。 一、FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放 一点比较简单的东西。 二、LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局 (android:orientation=”vertical”)和水平布局(android:orientation=”horizontal”)。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。 三、AbsoluteLayout:绝对布局用X,Y坐标来指定元素的位置,这种布局方式也比较简单,但是在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。 四、RelativeLayout:相对布局可以理解为某一个元素为参照物,来定位的布局方式。主 要属性有:相对于某一个元素android:layout_below、android:layout_toLeftOf相对于父 元素的地方android:layout_alignParentLeft、android:layout_alignParentRigh;五、TableLayout:表格布局,每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素。每一个布局都有自己适合的方式,这五个布局元素可以相互嵌套应用,做出美观的界面。

31简单快速学会金口诀鬼动

31简单快速学会金口诀鬼动 各位易友你们好,我是吉娘。 我在写关于金口诀预测的系列文章,这是我写的第31篇文章,这是一篇付费文章,一共1000多字。 通过这篇文章你将知道对鬼动有更深的了解。 说完了妻动,再来讲另一个完全相反的叫鬼动。妻动是人元克地分,鬼动是地分克人元,上下、内外完全相反的位置变换,又会出现什么样的信息呢? 地分克人元,是人从低处向高处去,从低位走向高位,是一个人的升级转换,这时占官是升官,占考试是一举成名,从地分漠漠无名的人一下跃居最高位。占求谋是从家内出外去拿外面的东西来,我去克说明我有这个能力、想法。 从我的内部克向外边,代表向外索取,占求财也是有利,也利向外地发展。 地分克人元像不像收租金的类象,用我的房子换取外面别人的钱。 房子倒卖也挺像的,买了房子再卖出去赚取别人的差价。 还有用自己的专业、技术赚钱的人,因为地分可以代表学的专业和自己原先拥有的技术、经验,用这些去换取外面的钱。 地分去克人元,中间需要经过将神和贵神,所以牵涉的人多,许多人会受到影响波及。

比如妈妈不顾家,对孩子肯定有影响,在妻动已经说了,人元是夫,地分是妻,那么地分克人元,是妻嫌夫,不肯安心呆在家,老是往外跑,所以对孩子是有影响,享受不到家的安宁和妈妈关爱。 同样的,人元克地分,丈夫压欺妻子,中间也要经过将神和贵神,对孩子也同样有影响。 比如丈夫夜宿不归,回来就是唱了酒扔打老婆,给孩子造成童年阴影。 地分克人元,也是民告官,地分是底层百姓,人元是当官的人,当官被检举,一旦去调查,中间肯定要查出所有相关联的人,这也是因为发生鬼动会牵连他人。下面再来用几句歌诀加深理解。 鬼动忧灾怪,官亨人出外。 事讼带他人,乘戾因间外。 口舌共喧争,冤仇皆损害。 痊病物仰合,家宅未安泰。 鬼动忧灾怪,鬼动又叫怪动,常有怪异之事发生,不符合常理的事发生,占病的话大多是阴性病,有个鬼字我们可以往这个字的方向去理解。 官亨人出外,这个前面有提到了,占官遇鬼动是绝对有利的,求官的人遇鬼动会升官。

Android应用程序开发个人总结范文

Android应用程序开发个人总结范文 Android应用程序开发个人总结范文 篇一:Android应用程序开发-个人总结 一、项目简介: 送祝福App是一款逢年过节为方便发送祝福信息的软件,并且介绍各种节日的相关情况。包含节日祝福短信,支持直接发送短信给好友,也可定时发送给好友,编写模版。为生活提供了便利。 二、个人在项目中承担的任务: 我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面 三、学习本门课程收获、体会及建议: 在本门课程中,我初步认识了安卓应用开发所需基本知识,比如安装体系结构,常用的控件以及API的使用方法,知道了安卓体系存储数据的方式。这一学期,安卓相关的知识自己掌握的不多,不过也透过安卓课程看到移动端应用的火热。这一个学期里,老师讲得比较细,自己单独下来练一个知识点了,也可以,不过当几个知识点的内容整合到一起,自己就凌乱了,自己的思路就不清晰。在期末项目中,我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面,由于时间和能力的限制,只完成了部分功能,功能没有完全实现。 篇二:Android程序员-201*年度个人工作总结和计划

逝者如斯夫,不舍昼夜!转眼间,自己在XX网里参加工作已经有一年有余了。回首即将逝去的201*年,可以说是平淡而不普通的一年,发现自己在各方面都比上一年有所进步、提高。一年的结束孕育着新一年的到来,新的一年意味着新的起点、新的挑战。昂首期待未来,总结以往经验。在新一年来临之际,我现把这一年的工作总结一下以及将新一年计划列一下。 大概3月份左右,XXXXApp第一期基本开发完成比较稳定的版本。在此之前,我主要负责参考XXXXApp的Android客户端的开发工作。XXXX第一期开发的难度系数相对比较低,开发起来还是相对的容易,所学到的基础知识基本上可以开发出来。我个人认为当时的开发效率还是比较低的,这里说的是整个项目的开发效率,不是个人负责工作的完成效率,换句话来说是团队的整体开发效率不高,没有达到高效。这个也许是团队协调与沟通交流还存在不足的地方。XXXX App实际上基本可以满足用户的使用(表面),但是项目的代码管理(本质)比较杂乱、扩展性差、健壮性也不错、兼容性也不算好。这无疑导致开发的工作量大大的增加。产生这些问题的原因有团队的项目开发经验缺乏,有自己个人的开发水平有限、技能不足。简言之,我的专业技能还不够强。 在3月份之前,公司聘请了外包团队与我们的团队一起开发问答App。公司的目的培训公司的团队,让我们学习外包团队的技能。在外包团队的参与和指导下问答App开发工作相当顺利,团队的分工清晰、交流充分、协调都比较好。问答App的工作接近尾声,意味着XXX 的重构工作要紧张的展开。XXX App的重构外包团队主要负责聊天模块和其他协调工作,

相关文档
最新文档