adb
Android debug bridge 安卓调试桥

  • 创建模拟器,屏幕尽量小些,启动速度运行速度快
    Android项目的目录结构
    Activity:应用被打开时显示的界面
    src:项目代码
    R.java:项目中所有资源文件的资源id
    Android.jar:Android的jar包,导入此包方可使用Android的api
    libs:导入第三方jar包
    assets:存放资源文件,比方说mp3、视频文件
    bin:存放编译打包后的文件
    res:存放资源文件,存放在此文件夹下的所有资源文件都会生成资源id
    drawable:存放图片资源
    layout:存放布局文件,把布局文件通过资源id指定给activity,界面就会显示出该布局文件定义的布局
    menu:定义菜单的样式
    String.xml:存放字符串资源,每个资源都会有一个资源id
    Android的配置文件(清单文件)

指定应用的包名

package="com.itheima.helloworld"
data/data/com.itheima.helloworld(上面代码指定的包名)
应用生成的文件都会存放在此路径下
Android的四大组件在使用前全部需要在清单文件中配置

的配置对整个应用生效
的配置对该activity生效
DDMS
Dalvik debug monitor service
Dalvik调试监控服务
常用的adb指令
adb start-server:启动adb进程
adb kill-server:杀死adb进程
adb devices:查看当前与开发环境连接的设备,此命令也可以启动adb进程
adb install XXX.apk:往模拟器安装apk
adb uninstall 包名:删除模拟器中的应用
adb shell:进入linux命令行
ps:查看运行进程
ls:查看当前目录下的文件结构
netstat -ano:查看占用端口的进程
电话拨号器
功能:用户输入一个号码,点击拨打按钮,启动系统打电话的应用把号码拨打出去

  1. 定义布局

组件必须设置宽高,否则不能通过编译

android:layout_width="wrap_content"
android:layout_height="wrap_content"
如果要在java代码中操作某个组件,则组件需要设置id,这样才能在代码中通过id拿到这个组件

android:id="@+id/et_phone"

  1. 给按钮设置点击侦听

给按钮设置侦听

//通过id拿到按钮对象
Button bt_call = (Button) findViewById(R.id.bt_call);
//给按钮设置点击
bt_call.setOnClickListener(new MyListener());

  1. 得到用户输入的号码

    //得到用户输入的号码,先拿到输入框组件
    EditText et_phone = (EditText) findViewById(R.id.et_phone);
    String phone = et_phone.getText().toString();
  2. 把号码打出去

Android系统中基于动作机制,来调用系统的应用,你告诉系统你想做什么动作,系统就会把能做这个动作的应用给你,如果没有这个应用,会抛异常
设置动作,通过意图告知系统

//把号码打出去
//先创建一个意图对象
Intent intent = new Intent();
//设置动作,打电话
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + phone));
//把意图告诉系统
startActivity(intent);
添加权限


点击事件的四种写法
第一种

定义一个MyListener实现onClickListener接口

Button bt1 = (Button) findViewById(R.id.bt1);
bt1.setOnClickListener(new MyListener());
第二种

定义一个匿名内部类实现onClickListener接口

Button bt2 = (Button) findViewById(R.id.bt2);
bt2.setOnClickListener(new OnClickListener() {

@Overridepublic void onClick(View v) {    System.out.println("介素第二种");}

});
第三种

让当前activity实现onClickListener接口

Button bt3 = (Button) findViewById(R.id.bt3);
bt3.setOnClickListener(this);
第四种

给Button节点设置onClick属性,

android:onClick="click"
然后在activity中定义跟该属性值同名的方法

public void click(View v){
System.out.println("介素第四种");
}
短信发送器
功能:用户输入号码和短信内容,点击发送按钮,调用短信api把短信发送给指定号码

  1. 定义布局

输入框的提示

android:hint="请输入号码"

  1. 完成点击事件

public void send(View v){}

  1. 获取到用户输入的号码和内容

    EditText et_phone = (EditText) findViewById(R.id.et_phone);
    EditText et_content = (EditText) findViewById(R.id.et_content);
    String phone = et_phone.getText().toString();
    String content = et_content.getText().toString();
  2. 调用发送短信的api

    //调用发送短信的api
    SmsManager sm = SmsManager.getDefault();

    //发送短信
    sm.sendTextMessage(phone, null, content, null, null);
    添加权限


如果短信过长,需要拆分

List smss = sm.divideMessage(content);
常见布局
相对布局

RelativeLayout
组件默认左对齐、顶部对齐
设置组件在指定组件的右边

android:layout_toRightOf="@id/tv1"
设置在指定组件的下边

android:layout_below="@id/tv1"
设置右对齐父元素

android:layout_alignParentRight="true"
设置与指定组件右对齐

android:layout_alignRight="@id/tv1"
线性布局

LinearLayout
指定各个节点的排列方向

android:orientation="horizontal"
设置右对齐

android:layout_gravity="right"
当竖直布局时,只能左右对齐和水平居中,顶部底部对齐竖直居中无效
当水平布局时,只能顶部底部对齐和竖直居中
使用match_parent时注意不要把其他组件顶出去
当组件长度为match_parent时,权重设置的是显示优先级

android:layout_weight="1"
当组件长度为0dp时,权重设置的是按比例分配显示空间
帧布局

FrameLayout
默认组件都是左对齐和顶部对齐,每个组件相当于一个div
可以更改对齐方式

android:layout_gravity="bottom"
不能相对于其他组件布局
表格布局

TableLayout
必须有 节点,一个tablerow节点是一行,它的一个子节点是一列
绝对布局

AbsoluteLayout
直接指定组件的x、y坐标

android:layout_x="144dp"
android:layout_y="154dp"

更多相关文章

  1. android在代码中设置margin属性
  2. Xamarin.Android(安卓)自定义VideoView 进度条
  3. android 中findViewById()为null的可能原因
  4. 修改设置Android(安卓)Preference相关样式
  5. 关于Android布局中键盘遮挡问题
  6. Unable to start activity异常的解决方案
  7. Android(安卓)ViewSwitcher 的功能与用法
  8. Android中的ShapeDrawable的一个注意点
  9. Android(安卓)权限设置大全

随机推荐

  1. 从android image中提取文件
  2. 自定义控件 - 圆形缓冲进度条
  3. Android中Parcelable接口用法
  4. Android(安卓)速度检测demo
  5. android > layout > SeekBar (拉动条)
  6. Programmatically Injecting Events on A
  7. Programmatically Injecting Events on A
  8. android 界面常亮设置
  9. android获取网络类型
  10. Android版本和API level对应关系