Android基础——打打电话

第三天啦,虽然知道虚拟机跟真的手机一样,但是出现通话的界面时,感觉还是好神奇思密达。对于打电话这件事儿来说呢,可以设计一个简易拨号器,也可以两个虚拟机间进行通讯,下面我们开始吧~

No.1 设计一个简易拨号器:

界面设计:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.administrator.call_num.MainActivity"
    tools:showIn="@layout/activity_main">

   <TextView
       android:textSize="25sp"
       android:id="@+id/view01"
       android:text="请输入电话号码:"
       android:layout_width="match_parent"
       android:layout_height="wrap_content" />
    <EditText
        android:id="@+id/edit01"
        android:hint="Tel:"
        android:layout_below="@+id/view01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
       android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Call"
        android:id="@+id/button01" />
</RelativeLayout>

MainActivity:

public class MainActivity extends AppCompatActivity {

    private Button mButton;
    private EditText mEdittext;
    String phone=null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        mButton=(Button)findViewById(R.id.button01) ;
        mEdittext=(EditText)findViewById(R.id.edit01);

        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                phone=mEdittext.getText().toString();
                Intent intent=new Intent();
                intent.setAction(Intent.ACTION_CALL);
                intent.setData(Uri.parse("tel:"+phone));
                startActivity(intent);
            }
        });

注:

  • Intent的用法:intent是连接两个界面的桥梁,也就是说,在我们点下按钮之后,要从当前界面跳转到拨打用户界面。intent通常需要两个属性,即setAction与setData。setAction用来表明跳转到的界面,这里使用的是系统Action,即拨打号码Action。setData用来表示当前界面需要向跳转的界面传递的参数。
  • 关于Uri.parse(),是隐式意图激活,没有指定具体的组件名称,而是通过intent在系统中找到一个最合适的Activity,其中一个方法setDate的参数就是一个uri。"tel:"为规定格式,后面是你要拨打的电话号码,我们的号码是从EditText中get到的。
  • 拨打电话需要在Manifest文件中修改权限:
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>

运行结果:

N0.2 来自两个虚拟机的通话  <阿西吧 电脑带两个虚拟机好吃力 我的小两千call了小一千>

  

小两千call小一千的电话号码就是虚拟机的编号。

 

感谢阅读,喜欢你就点个赞,么么哒~~

 

posted @ 2016-07-20 20:16  小苏打.iLD  阅读(383)  评论(0编辑  收藏  举报