1.开发环境
adt-bundle
2.调试工具
- 3.1 Console
查看程序运行信息 - 3.2 DDMS
左边Name栏显示所有运行的程序包名(进程)
拍照,列表上方相机图标
File Exploere:查看设备里所有文件,可以拷贝到计算机也可以上传文件 - 3.3 AVD Manager
创建系统自带的模拟器,没有某些权限可以,使用系统自带模拟器可以暴露一些问题。 - 3.4 LogCat
- 打印信息
Log.*(i,v,d,e……) e:error;i:info;d:debug;v:verbos
System.out.println(); - 筛选
- 打印信息
- 3.5 ADB adb调试桥
- adb devices(cmd 命令)
查看链接的所有设备,包括手机和模拟器 - adb kill-server
杀掉adb调试桥 - adb start-server
重启adk调试桥 - adb install XXX.apk
安装.apk应用 - adb uninstall 应用程序包名
应用程序的包名是程序的唯一标识
查看包名:Eclipse–>DDMS—>左边进程列表
- adb devices(cmd 命令)
- 3.6 Emulator Control
- Telephone Status
Voice:
Speed:通讯信号 3G/2G等
Data:漫游…
Latency: - Telephone Actions
Voice:模拟打电话
SMS:模拟发送短信 - Location Controls 位置模拟
- Telephone Status
3.项目目录结构
- 2.1 src:用用程序java源码。
- 2.2 gen:系统自动生成,不需要修改,res资源文件的引用。包含了R文件,R文件包含了程序中使用的所有资源文件生成的唯一资源ID。
- 2.3 Android4.4:或其他版本的Android核心包。
- 2.4 Android Private Libraries:未封装进核心包的其他常用包(如:屏幕左右滑动)。
- 2.5 bin:编译生成的目录,包含生成的.apk文件。
- 2.6 libs:存放第三方的jar包,引用的jar包自动添加到Android Dependencies目录下
2.7 res:资源目录,包含:
- res/drawable–*dpi:存放图片资源。存放不同分别率的图片资源,l、m、h、xh、xxh分别率依次变大。
- res/layout:包含了应用程序使用到的一系列布局文件(.xml文件),使用时一般会子啊代码中通过?R.layout.XXX。
- res/menu:包含了菜单中使用到的item定义的内容。
- res/value:包含了使用到的尺寸、字符串、样式等资源。strings-字符串资源(如AppName-应用名称、HelloWorld-应用主界面显示内容)、dimens:尺寸资源。
在xml文件中都是通过@string/XXXX进行引入。
如果在xml中使用res中的资源,大部分都是通过@资源文件/资源的name
values-sw600dp:使用sw属性针对屏幕进行区分,使用在多屏幕适配的过…
2.8 AndroidManifest.xml:应用程序级别的配置文件
版本信息:android:versionCode=”1”;android:versionName=”@string/app_version” >;
uses-sdk:使用的最低和targetSDK版本、还包含一些使用组件的配置;
application:<application android:icon="@drawable/logo"
icon 应用程序图标;label 应用程序名称;@表示资源文件,@drawable/logo引用资源文件中drawable目录下logo。
android:label="@string/app_name">- 2.9 proguard-project:代码混淆文件
- 2.10 project:修改当前使用的SDK版本
- 2.11 raw:程序开发过程中使用到的媒体资源
4.开发程序
- src 目录下
//项目创建时自动创建的Activity
public class MainActivity extends Activity {
/**
* 应用程序界面创建时被调用的方法
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置应用程序显示的UI
//参数 gen/R.java资源文件的ID
//资源文件:res/layout/activity_main.xml
setContentView(R.layout.activity_main);
}
/**
* 菜单Menu
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
- activity.xml 图形界面设计(按钮)
<Button
android:id="@+id/button1"
android:layout_width="wrap_content" <!-- 包裹内容,内容多大图形就多大;match_parent:和父节点保持一致 -->
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="136dp"
android:text="Button" />