Android项目的目录结构
1、 Activity:应用被打开时显示的界面
2、 src:项目代码
3、R.java:项目中所有资源文件的资源id
4、 Android.jar:Android的jar包,导入此包方可使用Android的api
5、libs:导入第三方jar包
6、assets:存放资源文件,比方说mp3、视频文件
7、bin:存放编译打包后的文件
8、 res:存放资源文件,存放在此文件夹下的所有资源文件都会生成资源id
9、 drawable:存放图片资源
10、 layout:存放布局文件,把布局文件通过资源id指定给activity,界面就会显示出该布局文件定义的布局
11、 menu:定义菜单的样式
12、Strings.xml:存放字符串资源,每个资源都会有一个资源
JVM 和DVM(Dalvik)的区别
Android的新虚拟机ART:
Dalvik:应用每次运行的时候,字节码都需要通过及时编译转换为机器码,这会拖慢应用的启动速度
ART:应用在第一次安装的时候,字节码会预先编译成机器码,使其成为真的本地应用,应用的启动和执行速度都会显著提升
adb指令:
adb install D:\weibo.apk 安装apk
adb uninstall 包名 卸载apk
adb kill-server 杀死adb进程
adb start-server 开启adb进程
adb devices 列举与开发环境连接的Android设备列表
adb shell 进入Android命令行执行Linux指令
一个windows指令:netstat -ano 查看端口号的占用情况(adb进程在5037端口,如果端口被占用则会导致adb启动失败)
调用系统的拨号Activity
//点击按钮拨打电话
public void call(View v) {
//先创建一个意图对象
Intent intent = new Intent();
//设置动作,打电话
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + phone));
//把意图告诉系统
startActivity(intent);
}
短信发送的API
public void send(View v) {
String mmsg = "Text";
String phone = "15291418231";
// 直接使用发送信息的API
SmsManager sm = SmsManager.getDefault();
// 将长短信截为短的短信
ArrayList<String> message = sm.divideMessage(mmsg);
// 截断后分条发送
for (String mmsg_str : message) {
// 目标号码、
// 短信中心号码(null使用默认)
// 短信文本
// 发送成功或失败的广播
// 对方接收成功的广播
sm.sendTextMessage(phone, null, mmsg_str, null, null);
}
}
点击事件的四种写法
- 定义一个MyListener实现onClickListener接口
- 定义一个匿名内部类实现onClickListener接口
- 让当前activity实现onClickListener接口
- 给Button节点设置onClick属性,然后在activity中定义跟该属性值同名的方法
px与dp
px与dp:dp跟密度有关,px是像素,使用dp更容易做屏幕适配