常用开发工具的用法

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. C/C++ char* arr与char arr[]的区别(反汇编解析)

    写作日期:2016.08.31 修改日期:2016.09.01 .2016.09.02. 交流qq:992591601 用了几天时间复习了下C语言.对于C语言的字符串操作有些不习惯,于是作为练习,写下 ...

  2. 知方可补不足~SqlServer连接的复用MultipleActiveResultSets

    回到目录 MultipleActiveResultSets可以使数据库连接复用,但当你上了moebius这种集群工具后,这个选项不能开启(默认是false),当你使用EF等ORM工具时,这个选项会默认 ...

  3. salesforce 零基础学习(二十二)Test简单使用

    本篇内容只是本人简单的mark开发中常出现的一些疑问,方便后期项目使用时奠定基础,如果对Test零基础童鞋,欢迎查看Test官方的使用介绍: https://help.salesforce.com/a ...

  4. MongoDB 简介

    MongoDB 简介 介绍:MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.特点:高性能.易部署.易使用,存储数据非常方便.主要功 ...

  5. javascript原型对象prototype

    “我们创建的每一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法.” 引用类型才具有prototype属性 ...

  6. jQuery_02之元素操作及事件绑定

    1.操作元素之属性: ①attr读:$("selector").attr("属性名"):=>getAttribute("属性名"):改 ...

  7. javascript_core_09之继承、属性、对象

    1.OOP之修改继承: ①child._proto_=father:=>Object.setPrototypeOf(child,father):每次只能修改一个对象的父对象: ②构造函数.pro ...

  8. Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明

    本文安装显卡驱动的方式已经过时, 最新安装说明请参考发布在Gist上的这篇文章,如有任何疑问,仍然欢迎在本文下留言 :P (本文档使用同一块NVIDIA显卡进行显示与计算, 如分别使用不同的显卡进行显 ...

  9. Linux的学习--系统目录

    因为利用Linux来开发产品或distributions的社群/公司与个人实在太多了, 如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰. 你能想象,你进入一个企业之后,所 ...

  10. Android进程间通信之socket通信

    用Java中的socket编程. 通过socket实现两个应用之间的通信,可以接收和发送数据,同时将接收到的数据显示在activity界面上. Server端: ServerLastly.java p ...