Android 拨号器

一、实现思路:

1、实现界面,界面上有EditText  控件, Button 控件

2、资源文件 values 下创建strings.xml 文件并定义使用到的string

3、values  下创建colors.xml 并定义使用的颜色相关信息

4、继承Activity  类实现oncreate() 方法

5、在activity中获取获取点的话好

6、为这个button 控件添加监听

7、创建Intent 对象并为这个对象设置活动和数据

8、开始活动

二、使用到的主要类:

1、Intent  intent =  new Intent();               //信息传递的媒介 

三、设置Intent 的活动以及数据:

1、intent.setAction(Intent.ACTION_CALL);       //Intent.ACTION_CALL android系统中的常量活动为拨号

2、intent.setData(Uri.parse("tel:"+获取的电话号));

3、this.startActivity(intent);

***intent 由以下几个部分组成:动作 action  数据 data    分类 Category   类型 type   组件component  以及扩展信息  Extra  .通过这些可以启动其他组将并且携带信息。


三、实现代码:


1、layout/main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
     >
    <TextView
        android:id="@+id/textView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"
        android:layout_marginTop="18px"
        />  
    <EditText
        android:id="@+id/editText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
    <Button
        android:id="@+id/button"
        android:layout_width="250px"
        android:layout_height="wrap_content"
        android:text="拨打"           
        android:textColor="@color/text_color"
        android:background="@color/back_color"
        android:layout_marginTop="25px"
        />
</LinearLayout>


2、用到的strings:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">call</string>
    <string name="hello_world">电话拨号器</string>
    <string name="action_settings">select</string>

</resources>

3、colors:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color  name="text_color">#00CC00</color>    
<color name="back_color">#0000ff</color>
</resources>

4、Activity:

package com.inspur.call;

import android.support.v7.app.ActionBarActivity;
import android.text.Editable;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends ActionBarActivity {
    private EditText  editText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // 放在这里比放在方法中的效果比较好
         editText = (EditText)findViewById(R.id.editText);
        Button button=(Button)findViewById(R.id.button);
        // 获取电话号,这里进行了类型转化
        
        //意图创建
        
        //添加 按钮触发事件
        button.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view){
                
                //  拨号是调用系统的拨号实现拨号功能
                
                String number= editText.getText().toString().trim();
               
               //系统会自动生成android.intent.category.DEFAULT
               Intent  intent= new Intent();
               intent.setAction(Intent.ACTION_CALL);
               intent.setData(Uri.parse("tel:"+number));
               MainActivity.this.startActivity(intent);
            
            };
            
        });
    }
 
    @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;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

四、 清单文件中权限设置:

<uses-permission  android:name="android.permission.CALL_PHONE"/>

你可能感兴趣的:(Android 拨号器)