常用开发工具的用法

android : 启动Android SDK管理器

android --help  查看具体用法

android create avd -n t10 -t 10 -b armeabi-v7a     创建虚拟机 (t10 是 Android 4.0.3)

emulator -avd t10   启动虚拟机

ddms  启动调试环境

adb   : Android Debug Bridge, 可以完成手机和电脑文件的相互复制,安装apk应用,可以直接切换到Android系统中执行Linux命令。

adb push d:/adb.txt /sdcard/Stock/              复制文件到手机

adb pull /sdcard/Stock/userdata_0526.rar .    复制文件到电脑

adb shell     启动shell窗口,可以执行一些常用的linux命令,如:ls、mkdir、rm

adb help     使用帮助

adb install [-r] [-s] <file>

adb install text.apk

adb uninstall [-k] <package>

dx --help    编译Android应用    (P34)

dx -dex --dump-to=g:\a.dex --core-library d:\helloworld\bin       (将binmul下所有二进制文件转换为a.dex)

aapt --help  打包资源  (P34)

mksdcard --help   管理虚拟SD卡

mksdcard 64M F:\Android\sdcard.img

emulator -avd t10 -sdcard F:\Android\sdcard.img    启动模拟器,使用指定虚拟SD卡

adb kill-server

adb start-server

adb uninstall cn.emoney.hg

 

adb server 无法启动的问题解决:

1 C:\Users\用户名>adb start-server

2 C:\Users\用户名>adb nodaemon server
   cannot bind 'tcp:5037'//tcp为”5037“说明端口被占用
4 C:\Users\用户名>netstat -ano |findstr "5037"  //查找哪些服务占用了这个端口
   TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 18252 //在任务管理器中结束PID为18252的程序

debug快捷键:

F5   单步调试进入函数内部。
F6   单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他的。
F7   由函数内部返回到调用处。
F8   一直执行到下一个断点。
F11 这个好像是重新运行debug的,我也不确定,一直就当做重新运行debug的快捷键用的,呵呵。

创建一个Android应用

android create project -n HelloWorld -t 8 -p HelloWorld -k org.crazyit.helloworld -a HelloWorld

说明:

res目录存放各种资源:layout-界面布局  values-存xml格式的资源文件(strings.xml, colors.xml, 尺寸资源dimens.xml)

drawable-ldpi,  drawable-mdpi,  drawable-hdpi, drawable-xdpi  四个子目录存低、中、高、超高4种分辨率的图片文件

AndroidManifest.xml 是项目的系统清单文件,控制应用的名称、图标、访问权限等整体属性。此外Android应用的Activity、Service、ContentProvider、BroadcastReceiver这4大组件都需要再这个文件中配置。

build.xml   Ant生成文件,可以用它通过Ant生成、安装Android项目

Android应用基本组件

Activity  负责与用户交互的组件。相当于Swing编程中的JFframe。只能通过setContentView(View)来显示指定组件。

View  是所有UI控件和容器控件的基类。类似于SWing编程中的JPanel。 View组件需要放到容器组件中,或使用Activity降它显示出来。View的重要子类ViewGroup,通常作为其它组件的容器使用,除了包含View,还可以再次包含ViewGroup,也可以被当成View使用。

Service  与Activity的地位并列,通常位于后台运行,一般不与用户交互、没有图形用户界面。拥有独立的生命周期,提供后台服务或健康其它组件的运行状态。

BroadcastReceiver  广播消息接收器,事件源是Android应用中的其它组件。

ContentProvider  是Android系统跨应用的数据交换标准。一个应用使用ContentProvider暴露自己的数据,另一个应用通过ContentResovler来访问数据。

Intent  是Android应用内不同组件之间通信的载体。Intent可以其它另一个Activity,也可以启动一个Service组件,还可以发一条广播消息来触发系统中的BroadcastReceiver。也就是说Intent是这三种组件之间的通信载体。 显示Intent指定类名,隐式Intent指定条件。

IntentFilter  是被调用组件用来声明自己所满足的条件,声明自己能处理哪些隐式Intent。

签名Android应用程序:避免包名相同的应用相互覆盖

Android开发把项目打包成apk

疯狂Android讲义 - 学习笔记(一)的更多相关文章

  1. 疯狂Android讲义 - 学习笔记(八)

    第10章 Service与BroadcastReceiver 10.1 Service简介 Service组件也是可执行的程序,有自己的生命周期,创建.配置Service与创建.配置Activity的 ...

  2. 疯狂Android讲义 - 学习笔记(七)

    第8章 Android数据存储与IO  Java IO的数据存储可以移植到Android应用开发上来,Android系统还提供了一些专门的IO API. Android系统内置了SQLite数据库,S ...

  3. 疯狂Android讲义 - 学习笔记(六)

    第7章 7.1 使用简单图片 7.1.1 使用Drawable对象 7.1.2 Bitmap和BitmapFactory 7.2 绘图 7.2.1 Android绘图基础:Canvas.Paint等 ...

  4. 疯狂Android讲义 - 学习笔记(五)

    第五章 Android使用统一的Intent对象来封装“启动意图”,不管是启动Activity.Service组件.或者BroadcastReceiver等,提供了一致的编程模型.Intent设计有点 ...

  5. 疯狂Android讲义 - 学习笔记(四)

    Android应用通常有多个Activity,多个Activity组成Activity栈,当前活动的Activity位于栈顶.Activity相当于Java Web开发的Servlet.当Activi ...

  6. 疯狂Android讲义 - 学习笔记(三)

    Android的事件处理 3.1 Android提供了两套事件处理机制:基于监听的事件处理.基于回调的事件处理. 3.2 基于监听的事件处理 3.2.1 监听的处理模型  主要涉及三类对象:Event ...

  7. 疯狂Android讲义 - 学习笔记(二)

    Android应用的用户界面编程 2.1 界面编程与视图(View)组件 Android应用的绝大部分UI组件放在android.widget.android.view包及其子包中,所有UI组件都继承 ...

  8. 【疯狂Java讲义学习笔记】【流程控制与数组】

    [学习笔记]1.switch语句后的expression表达式的数据类型只能是byte.short.char.int四个整数类型.String(Java 7后才支持)和枚举类型. 2.数组的长度不可变 ...

  9. 【疯狂Java讲义学习笔记】【数据类型与运算符】

    [学习笔记]1.8bit = 1byte,4byte = 1word.Java中的整型数据有byte(1字节),short(2字节),int(4字节),long(8字节).Java中的浮点数据有flo ...

随机推荐

  1. 基于Vue封装分页组件

    使用Vue做双向绑定的时候,可能经常会用到分页功能 接下来我们来封装一个分页组件 先定义样式文件 pagination.css ul, li { margin: 0px; padding: 0px;} ...

  2. Java-字符串练习

    1. 用自己的算法实现startsWith和endsWith功能. String str="dsjhajdl"; Scanner sc=new Scanner(System.in) ...

  3. 知方可补不足~sqlserver中触发器的使用

    回到目录 触发器在过去的10年中,即存储过程和ado.net称霸江湖期间是那么的重要,而现在,trigger显得不是那么必要的,我们很少将复杂的业务写在SQL里,当然也会没有机会写到trigger里了 ...

  4. 将不确定变成确定~Uri文本文件不用浏览器自动打开,而是下载到本地

    回到目录 这个标题有点长,简单来说就是,对于一个文件下载来说,是否可以提示用户,让它去保存,而不是将它在浏览器中打开,在浏览器中打开有个致命问题,那就是,如果你的页面编码和文件的编码不一致时,打开的就 ...

  5. Atitit js版本es5 es6新特性

    Atitit js版本es5 es6新特性 Es5( es5 其实就是adobe action script的标准化)1 es6新特性1 Es5( es5 其实就是adobe action scrip ...

  6. KnockoutJS 3.X API 第四章 数据绑定(5) 控制流component绑定

    本节目录: 一个例子 API 备注1:仅模板式的component 备注2:component虚拟绑定 备注3:传递标记到component绑定 内存管理 一个例子 First instance, w ...

  7. Spring注意事项(各部分理解)

    (1),每一个bean属性,就是一个普通的java类. 类有属性,有方法,如何交给容器管理.(注解的方式,xml方式配置) (2),通过Bean来实例化对象的方式 1.通过构造器(一般是无参的默认构造 ...

  8. Java并发包中Semaphore的工作原理、源码分析及使用示例

    1. 信号量Semaphore的介绍 我们以一个停车场运作为例来说明信号量的作用.假设停车场只有三个车位,一开始三个车位都是空的.这时如果同时来了三辆车,看门人允许其中它们进入进入,然后放下车拦.以后 ...

  9. EFProf Entity Framework Profile 工具

    SQL Server Profiler用来跟踪应用程序发送到SQL Server中的SQL语句,用于检测性能,查找问题.Entity Framework 也有它的跟踪工具EFProf,用于跟踪Enti ...

  10. 一次意外的X锁不阻塞问题

        最近有一个朋友问我一个关于给查询操作强制上X锁却不阻塞的问题.该查询写在一个存储过程中,代码如代码1所示: 1: create PROC [dbo].[GetCityOrders] 2: @c ...