- 浏览: 81927 次
- 性别:
- 来自: 郑州
最新评论
-
老梦a:
...怎么用的呢,我把js和css都引入了,但是用的时候没起作 ...
在Ext的grid里实现带radio单选功能的gridList -
Mydwr:
我也正在找要实现这样的效果
在Ext的grid里实现带radio单选功能的gridList -
kkgoing:
运行不报错,但是还是有问题,index页面打不开,测试的时候插 ...
昨天整理的基于Annotation的MVC框架SSH示例 -
kjsoloho:
感谢你的肺腑之言
价值是如何放大的 -
kjsoloho:
希望继续,期待
《Android程序员指南》翻译暂停,望见谅
关键技能和概念
l 使用Android SDK命令行工具
l 创建命令环境
l 通过shell导航Android服务端
l 在Linux中使用Android SDK
目前,本书已经涵盖了一些宽泛的主题来让你了解并运行Android平台。现在,你应该使用Eclipse创建和运行小Android应用非常顺手。你创建一个新项目,编辑main.xml文件和<activity>.java文件,并重编译R.java文件。这就是你创建Android应用的基本技能。
本章中,你会通过试验命令行应用开发来扩展和丰富你的技能。Android开发不应该仅限于Eclipse IDE。Android SDK提供了大量的命令行工具,帮你脱离图形化IDE Eclipse开发丰富的应用。你将用这些命令行工具,现在Windows中后在Linux中,创建,编译和运行一个Hello World!应用
在Windows命令行创建Shell Activity
Android SDK发布了很多工具帮助你创建和编译Android 应用。这些工具适当的帮助那些不愿或没条件使用GUI IDE的用户。然而,如果在用Eclectic完成所有Abdominal开发工作,你也应该重视Android SDK命令行工具和它们的功能。
当你运行Android相关功能时,如创建一个Android项目或在Android模拟器中运行一个应用,你实际上是在调用Android命令行工具。无论是从命令行接口还是从一个GUI IDE运行,这些Android命令行工具才是Android SDK的真正核心。
下面一节,我阐明Android工具的功能。ActivityCreator.bat是个创建项目所需的Activity shell的有用工具。
运行ActivityCreator.bat
ActivityCreator.bat应该在Android SDK的../tools/目录下。大部分前向命令行工具都处在这个tools目录的根部。“前向”工具是依次调用../tools/中的其它深层目录工具的工具。ActivityCreator.bat是运行时从根目录调用其它工具的例子。使用vi、Notepad、或者任何文本编辑器,打开ActivityCreator.bat;它应该包含下面的代码:
@echo off
rem Copyright (C) 2007 Google Inc.
rem
rem Licensed under the Apache License, Version 2.0 (the "License");
rem you may not use this file except in compliance with the License.
rem You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
rem don't modify the caller's environment
setlocal
"%~dp0\lib\activityCreator\activityCreator.exe" %*
浏览所有rem声明(批处理文件注释声明),你会看到在文件尾部有一行执行代码。ActivityCreator.bat用户调用../tools/lib/activityCreator/目录中的ActivityCreator.exe。ActivityCreator.bat实际上仅仅是SDK中其它工具的前端。
那么,ActivityCreator.bat(或者ActivityCreator.exe)到底做什么?ActivityCreator用来创建你的开发环境,即创建开发应用所需的初始文件。目录结构和第五章探讨的相同。ActivityCreator.bat创建R.java、AndroidManifest.xml和应用所需的全部支持文件。
现在进入命令行环境,探索ActivityCreator。
从开始菜单,点击Run,在Run对话框中输入CMD或者COMMAND并点击OK。
执行该命令启动如下所示的命令窗口。该窗口就是早期的DOS操作环境。
当打开命令窗口,在> 提示后输入ActivityCreator。
.运行ActivityCreator命令,实际是运行ActivityCreator.bat文件,产生如下输出:
Activity Creator Script
Usage:
activityCreator [--out outdir] [--ide intellij] yourpackagename.ActivityName
Creates the structure of a minimal Android application.
The following will be created:
- AndroidManifest.xml: The application manifest file.
- build.xml: An Ant script to build/package the application.
- res : The resource directory.
- src : The source directory.
- src/your/package/name/ActivityName.java the Activity java class. packageName
is a fully qualified java Package in the format <package1>.<package2>... (with at
least two components).
- bin : The output folder for the build script.
Options:
--out <folder>: specifies where to create the files/folders.
--ide intellij: creates project files for IntelliJ
该输出仅仅提示你需要输出更多的信息来运行ActivityCreator。更具体点说,你需要传入你创建shell应用的目录位置的命令。
回到命令窗口,运行带如下选项的ActivityCreator(如果你在Unix/Linux环境中编程,ActivityCreator也接受Unix风格的路径参数):
--out c:\AndroidHelloWorld\android_programmers_guide.HelloWorldCommandLine
--out项告诉ActivityCreator你想输出内容。
这个命令项带两个参数,<文件>和<package.activity>。上一行的第一部分告诉ActivityCreator在不存在的文件c:\AndroidHelloWorld中创建shell应用。
--out项的第二个参数是包名和活动名。按前一节中的创建规则,本例使用android_programmers_guide 作为项目的包名和 HelloWorldCommandLine作为项目的活动名。
用新的命令行选项和参数运行ActivityCreator。你会看到如下输出:
下一节会讲解ActivityCreator创建的文件,因为他们和Eclipse中创建的有所不同。
项目结构
ActivityCreator创建了大量供你使用和开发的目录和文件。浏览c:\AndroidHelloWorld目录,研究它的结构。ActivityCreator创建的结构如下所示:
因为你是在Eclipse环境外工作,所以你的环境会稍微不同。当你使用IDE工作时,如Eclipse,部分功能是在后台执行。由于你是脱离IDE工作的,所以ActivityCreator创建了一个文件,列出了创建项目时编译器需要做的内容。手动运行时,ActivityCreator为项目创建了build.xml文件。当你用Eclipse创建Android项目时不会创建该文件。它包含了一组指令,即阐明如何将你的.java文件转换成一个功能性Android项目。
build.xml文件告诉编译器如何创建你的应用。本例中的编译器是Apache ANT,一款基于java的利用build脚本文件的工程编译工具。你需要下载ANT编译你的命令行项目。从http://ant.apache.org/bindownload.cgi 下载ANT。
一旦你下载并安装了ANT,你必须将其添加到PATH生命中。Windows环境中,只要右击“电脑”,选择属性选项,更改PATH声明。
build.xml是专门供ANT用来编译Android应用的。它应该处于你的项目根目录,如前面的插图所示。用文本编辑器打开build.xml,看看它的内容。
build.xml的第一部分包含了用户可以编辑的代码。这一部分和文件的其它部分分离开,因为文件的其余部分是不能被修改的。
<?xml version="1.0" ?>
<project name="HelloWorldCommandLine" default="package">
<property name="sdk-folder" value="c:\Android\android-sdk_m5
rc14_windows\android-sdk_m5-rc14_windows" />
<property name="android-tools" value="c:\Android\android-sdk_m5
rc14_windows\android-sdk_m5-rc14_windows\tools" />
<property name="android-framework" value="${android-tools}/lib/framework.aidl"
/>
<!-- The intermediates directory -->
<!-- Eclipse uses "bin" for its own output, so we do the same. -->
<property name="outdir" value="bin" />
build.xml第一部分包含了以下属性的值:
l 项目名称
l Android SDK位置
l Android tools位置
l Android框架位置
l 输出位置
如果你需要更改任何参数,你可以在这个文件中完成。然而,紧跟这些参数之后,你会在build.xml中看到一条警告信息,即你不可以更改其余的任何值:
<!-- No user servicable parts below. -->
build.xml的这条警告之后,是一个参数与值的列表,严格保证了项目的正确创建。这个列表包括了编译项,输入目录,工具位置。看一下下面的build.xml核心流程信息的输出结果:
<name="dex-file" value="classes.dex" />
<property name="intermediate-dex" value="${outdir}/${dex-file}" />
<!-- The final package file to generate -->
<property name="out-package" value="${outdir}/${ant.project.name}.apk"/>
<!-- Tools -->
<property name="aapt" value="${android-tools}/aapt" />
<property name="aidl" value="${android-tools}/aidl" />
<property name="dx" value="${android-tools}/dx" />
<property name="adb" value="${android-tools}/adb" />
<property name="android-jar" value="${sdk-folder}/android.jar" />
<property name="zip" value="zip" />
<!-- Rules -->
<!-- Create the output directories if they don't exist yet. -->
<target name="dirs">
<mkdir dir="${outdir}" />
<mkdir dir="${outdir-classes}" />
</target>
<!-- Generate the R.java file for this project's resources. -->
<target name="resource-src" depends="dirs">
<echo>Generating R.java...</echo>
<exec executable="${aapt}" failonerror="true">
<arg value="compile" />
<arg value="-m" />
<arg value="-J" />
<arg value="${outdir-r}" />
<arg value="-M" />
<arg value="AndroidManifest.xml" />
<arg value="-S" />
<arg value="${resource-dir}" />
<arg value="-I" />
<arg value="${android-jar}" />
</exec>
</target>
<!-- Generate java classes from .aidl files. -->
<target name="aidl" depends="dirs">
<apply executable="${aidl}" failonerror="true">
<arg value="-p${android-framework}" />
<arg value="-I${srcdir}" />
<fileset dir="${srcdir}">
<include name="**/*.aidl"/>
</fileset>
</apply>
</target>
<!-- Compile this project's .java files into .class files. -->
<target name="compile" depends="dirs, resource-src, aidl">
<javac encoding="ascii" target="1.5" debug="true" extdirs=""
srcdir="."
destdir="${outdir-classes}"
bootclasspath="${android-jar}" />
</target>
<!-- Convert this project's .class files into .dex files. -->
<target name="dex" depends="compile">
<exec executable="${dx}" failonerror="true">
<arg value="-JXmx384M" />
<arg value="--dex" />
<arg value="--output=${basedir}/${intermediate-dex}" />
<arg value="--locals=full" />
<arg value="--positions=lines" />
<arg path="${basedir}/${outdir-classes}" />
</exec>
</target>
<!-- Put the project's resources into the output package file. -->
<target name="package-res-and-assets">
<echo>Packaging resources and assets...</echo>
<exec executable="${aapt}" failonerror="true">
<arg value="package" />
<arg value="-f" />
<arg value="-c" />
<arg value="-M" />
<arg value="AndroidManifest.xml" />
<arg value="-S" />
<arg value="${resource-dir}" />
<arg value="-A" />
<arg value="${asset-dir}" />
<arg value="-I" />
<arg value="${android-jar}" />
<arg value="${out-package}" />
</exec>
</target>
<!-- Same as package-res-and-assets, but without "-A ${asset-dir}" -->
<target name="package-res-no-assets">
<echo>Packaging resources...</echo>
<exec executable="${aapt}" failonerror="true">
<arg value="package" />
<arg value="-f" />
<arg value="-c" />
<arg value="-M" />
<arg value="AndroidManifest.xml" />
<arg value="-S" />
<arg value="${resource-dir}" />
<!-- No assets directory -->
<arg value="-I" />
<arg value="${android-jar}" />
<arg value="${out-package}" />
</exec>
</target>
<!-- Invoke the proper target depending on whether or not
an assets directory is present. -->
<!-- TODO: find a nicer way to include the "-A ${asset-dir}" argument
only when the assets dir exists. -->
<target name="package-res">
<available file="${asset-dir}" type="dir"
property="res-target" value="and-assets" />
<property name="res-target" value="no-assets" />
<antcall target="package-res-${res-target}" />
</target>
<!-- Put the project's .class files into the output package file. -->
<target name="package-java" depends="compile, package-res">
<echo>Packaging java...</echo>
<jar destfile="${out-package}"
basedir="${outdir-classes}"
update="true" />
</target>
<!-- Put the project's .dex files into the output package file.
Use the zip command, available on most unix/Linux/MacOS systems,
to create the new package (Ant 1.7 has an internal zip command,
however Ant 1.6.5 lacks it and is still widely installed.)
-->
<target name="package-dex" depends="dex, package-res">
<echo>Packaging dex...</echo>
<exec executable="${zip}" failonerror="true">
<arg value="-qj" />
<arg value="${out-package}" />
<arg value="${intermediate-dex}" />
</exec>
</target>
<!-- Create the package file for this project from the sources. -->
<target name="package" depends="package-dex" />
<!-- Create the package and install package on the default emulator -->
<target name="install" depends="package">
<echo>Sending package to default emulator...</echo>
<exec executable="${adb}" failonerror="true"
<arg value="install" />
<arg value="${out-package}" />
</exec>
发表评论
-
第八章 列表、菜单以及其它视图——续
2010-03-19 09:00 1453AndroidViews.java 创建这个Activity ... -
第八章 列表、菜单以及其它视图——继
2010-03-19 08:55 1795本节展示radiogroup.xml的全部代码。根据章节前面的 ... -
第八章 列表、菜单以及其它视图——后
2010-03-19 08:50 1429AndroidViews.java 创建这个Activity ... -
第八章 列表、菜单以及其它视图——下
2010-03-19 08:42 1779这里是你的完整的AndroidManifest.xml项目文件 ... -
第八章 列表、菜单以及其它视图——中
2010-03-19 08:39 1659这段代码有个问题:onOptionsItemSelected( ... -
第八章 列表、菜单以及其它视图——上
2010-03-19 08:31 2595关键技能和概念 l 构建Activity l ... -
第七章 使用Intents与Phone Dialer——下
2010-03-02 09:23 1701实现EditText视图 你需要 ... -
第七章 使用Intents与Phone Dialer——中
2010-03-02 09:16 2671为给你的Activity分配正确的权限,你首先需要知道你需要分 ... -
第七章 使用Intents与Phone Dialer——上
2010-03-02 09:07 3821第一章 使用Intents与Phone Dialer ... -
第六章 使用命令行工具与Android模拟器——下
2010-02-25 16:49 6156由于你在Android服务端安放了应用,你就可以删除它。使用命 ... -
第六章 使用命令行工具与Android模拟器——中
2010-02-25 16:38 5407<arg value="install&quo ... -
第五章 应用:Hello World!——下
2010-02-24 09:07 2666还是Hello World! 本节中,你会创建另一个 ... -
第五章 应用:Hello World!——上
2010-02-24 09:00 2377关键技能和概念 l ... -
第四章 探索Android SDK
2010-02-21 22:27 6208关键技能和概念 l ... -
第三章 下载、安装Android SDK
2010-02-20 16:19 6708关键技能和概念 l ... -
第二章 下载、安装Eclipse
2010-02-20 11:28 5365关键技能和概念 l 选择一个开发环境 l ... -
第一章 Android是什么?
2010-02-20 11:17 2073关键技能和概念 l 嵌入式编程的历史 l ... -
致谢与序言
2010-02-05 16:12 1332致谢 感谢所有参与编写这本书的人,我的经纪 ... -
为什么要翻译《Android A Programmer's Guide》——《Android程序员指南》
2010-02-05 16:08 2893学习Android编程,却发现这些方面的好书很少,于是 ...
相关推荐
linux基础进阶笔记,配套视频:https://www.bilibili.com/list/474327672?sid=4493093&spm_id_from=333.999.0.0&desc=1
IMG20241115211541.jpg
GEE训练教程——Landsat5、8和Sentinel-2、DEM和各2哦想指数下载
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
基于springboot家政预约平台源码数据库文档.zip
Ucharts添加stack和折线图line的混合图
基于springboot员工在线餐饮管理系统源码数据库文档.zip
新能源汽车进出口数据 1、时间跨度:2018-2020年 2、指标说明:包含如下指标的进出口数据:混合动力客车(10座及以上)、纯电动客车(10座及以上)、非插电式混合动力乘用车、插电式混合动力乘用车、纯电动乘用车 二、新能源汽车进出口月销售数据(分地区、分类型、分 级别) 1、数据来源:见资料内说明 2、时间跨度:2014年1月-2021年5月 4、指标说明: 包含如下指标 2015年1月-2021年5月新能源乘用车终端月度销量(分类型)部分内容如下: 新能源乘用车(单月值、累计值 )、插电式混合动力 月度销量合计(狭义乘用车轿车、SUV、MPV、交叉型乘用车); 月度销量同比增速(狭义乘用车轿车、SUV、MPV、交叉型乘用车); 累计销量合计(狭义乘用车轿车、SUV、IPV、交叉型乘用车); 累计销量同比增速(狭义乘用车轿车、SUV、MPV、交叉型乘用车); 累计结构变化(狭义乘用车轿车、SUV、IPV、交叉型乘用车); 2015年1月-2021年5月新能源乘用车终端月度销量(分地区)内容如下: 更多见资源内
中心主题-241121215200.pdf
内容概要:本文档提供了多个蓝奏云下载链接及其对应解压密码,帮助用户快速获取所需文件。 适合人群:需要从蓝奏云下载文件的互联网用户。 使用场景及目标:方便地记录并分享蓝奏云上文件的下载地址和密码,提高下载效率。 阅读建议:直接查看并使用提供的链接和密码即可。若遇到失效情况,请尝试联系上传者确认更新后的链接。
基于Java web 实现的仓库管理系统源码,适用于初学者了解Java web的开发过程以及仓库管理系统的实现。
资源名称:Python-文件重命名-自定义添加文字-重命名 类型:windows—exe可执行工具 环境:Windows10或以上系统 功能: 1、点击按钮 "源原文"【浏览】表示:选择重命名的文件夹 2、点击按钮 "保存文件夹"【浏览】表示:保存的路径(为了方便可选择保存在 源文件中 ) 3、功能①:在【头部】添加自定义文字 4、功能②:在【尾部】添加自定义文字 5、功能③:输入源字符 ;输入替换字符 可以将源文件中的字符替换自定义的 6、功能④:自动加上编号_1 _2 _3 优点: 1、非常快的速度! 2、已打包—双击即用!无需安装! 3、自带GUI界面方便使用!
JDK8安装包
配合作者 一同使用 作者地址没有次下载路径 https://blog.csdn.net/weixin_52372189/article/details/127471149?fromshare=blogdetail&sharetype=blogdetail&sharerId=127471149&sharerefer=PC&sharesource=weixin_45375332&sharefrom=from_link
GEE训练教程
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
基于springboot交通感知与车路协同系统源码数据库文档.zip
基于springboot+vue 雅妮电影票购买系统源码数据库文档.zip
为了更好地理解 HTML5 的拖放功能,我们设计了一个简单有趣的示例:将水果从水果区拖放到购物笼中,实时更新数量和价格,并在所有水果被成功放置后,播放音效并显示提示。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。