3.18

看视频学到的一些东西


写一个简单的app自动打电话

//创建一个意图(intent),向其他应用程序表明你想打电话
Intent intent = new Intent();
//把intent的动作(action)设定为打电话  intent.setAction(Intent.ACTION_CALL);
//把其中的数据设置成“tel://xxxxxxxx”,parse的中文翻译为“解析”
inten.setData(Uri.parse("tel://13013301330"));
//intent会被系统内置的打电话程序接收,启动activitystartActivity(intent);

除此之外,还要在AndroidMainfest.xml里声明打电话的权限android.permission.CALL_PHONE


线性布局

  • 如果想让按钮平分空间,可以让layout_width="0dip",让layout_weight=1每个按钮的宽度为此按钮的weight除以所有按钮的weight和。
  • 布局里可以嵌套布局(其他布局也是) ##相对布局使用如下属性,分别表示在XXX空间的上下左右。
    android:layout_above="@id/XXX"
    android:layout_below="@id/XXX"
    android:layout_toLeftOf="@id/XXX"
    android:layout_toRightOf="@id/XXX"
    父控件左上角: android:layout_alignParentTop="true"
    父控件左下角: android:layout_alignParentBottom="true"
    (因为android:layout_alignParentLeft默认为true)
    如果要在父控件右上角,右下角,就把android:layout_alignParentRight设为true

简单的短信发送器

在mainactivity.java里的onCreat方法中,初始化EditText和Button 例如

EditText content = (EditText) findViewById(R.id.XXX1); 
Button button = (Button) fidViewById(R.id.XXX2); 
String sendContent = content.getText().toString();

然后在button的onclick方法里

//拿到 短信发送管理器
SmsManager sm = SmsManager.getDefault();
//下面五个参数分别为目的地址,发送地址,发送内容,发送成功报告,对方开机后收到短信报告
sm.sendTextMessage(destinationAddress,scAddress,text,sentIntent,deliveryIntent);
//例如
sm.sendTextMessage("1301301330",null,sendContent,null,null);

最后也要在mainfest里声明发短信的权限 android.permission.SEND_SMS


点击事件的四种写法

  • 第一种就是最常见的写法,也就是匿名内部类
  • (推荐使用)如果有多个button,可以使用内部类 在mainactivity.java里建一个内部类
private class MyClickListener implements View.OnClickListener{ 
      public void onClick(View){
 /*点击后执行的代码 */ 
      }
}

然后再主类里直接就能用buttonObject.setOnClickListener(new MyClickListener());实现点击事件

  • (推荐使用)当按钮很多的时候,可以让Mainactivity实现OnClickListener接口(《第一行代码》给出的方法)
  • 在写控件的xml直接添加onclick 在button控件下加一条属性android:onClick="login"表示点击后会执行login方法。login方法的签名是固定的,必须是public void login(View v)

你可能感兴趣的:(3.18)