相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个例子我们要理清楚做安卓项目的思路。
大体分为三步:
1.理解需求,理清思路
2.设计UI
3.代码实现
电话拨号器
1. 理解需求:
*一个文本框——用来接收电话号码
*一个按钮——用来触发事件
2. 设计UI
3. 代码实现
public class MainActivity extends Activity {
    private EditText et_number; //定义变量用来接收电话号码
    private Button btn;         //定义button
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //设置界面内容
        setContentView(R.layout.activity_main);
        //查找控件,文本输入框
        et_number= (EditText) findViewById(R.id.et_number);
        //找到按钮控件
        btn=(Button) findViewById(R.id.btn);
        //设置点击事件监听
        btn.setOnClickListener(new MyListener());
    }
    //内部类方式实现点击事件
    class MyListener implements OnClickListener{
        @Override
        public void onClick(View v) {
            //执行拨号操作
            //1.获取用户输入的号码
            String number=et_number.getText().toString();
            //2.执行拨号操作
            //创建一个拨号意图
            Intent intent=new Intent();
            //设置要拨打的号码  (URL:统一资源定位符,uri:统一资源标识符)
            intent.setData(Uri.parse("tel://"+number));
            //设置动作,拨号动作
            intent.setAction(intent.ACTION_CALL);
            //跳转到拨号界面
            startActivity(intent);
        }       
    }
}
代码写完以后,从配置文件中添加一下打电话权限CALL_PHONE就OK了。
上面的电话拨号器用了一种实现点击事件的方式,也是要介绍的第一种点击事件的方法:
四种点击事件实现方式
1.内部类方式
(见上面电话拨号demo,不过多介绍)
2.创建匿名内部类方式
/**
 * 匿名内部类方式实现点击事件
 * @author Hugh
 */
public class MainActivity extends Activity {
    private EditText et_number;
    private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //设置界面内容
        setContentView(R.layout.activity_main);
        //查找控件,文本输入框
        et_number= (EditText) findViewById(R.id.et_number);
        //找到按钮控件
        btn=(Button) findViewById(R.id.btn);
        //设置点击事件监听
        btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {               
                //执行拨号操作
                    //1.获取用户输入的号码
                String number=et_number.getText().toString();
                    //2.执行拨号操作
                //意图
                Intent intent=new Intent();
                //设置要拨打的号码
                intent.setData(Uri.parse("tel://"+number));
                //设置动作,拨号 动作
                intent.setAction(intent.ACTION_CALL);
                //跳转到拨号界面
                startActivity(intent);
            }
        });
    }
}
3.实现OnClickListener接口的当前类对象
/**
 * 实现OnClickListener接口的当前类对象
 * @author Hugh
 */
public class MainActivity extends Activity implements OnClickListener {
    private EditText et_number;
    private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 设置界面内容
        setContentView(R.layout.activity_main);
        // 查找控件,文本输入框
        et_number = (EditText) findViewById(R.id.et_number);
        // 找到按钮控件
        btn = (Button) findViewById(R.id.btn);
        // 设置点击事件监听
        btn.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        // 执行拨号操作
        // 1.获取用户输入的号码
        String number = et_number.getText().toString();
        // 2.执行拨号操作
        // 意图
        Intent intent = new Intent();
        // 设置要拨打的号码
        intent.setData(Uri.parse("tel://" + number));
        // 设置动作,拨号 动作
        intent.setAction(intent.ACTION_CALL);
        // 跳转到拨号界面
        startActivity(intent);
    }
}
4.在布局文件中给按钮添加一个单击事件的响应方法,然后在代码中实现这个方法
/短信群发器/res/layout/activity_main.xml   下定义xml中的属性android:onClick="call"
 <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/et_number"
        android:layout_below="@+id/et_number"
        android:onClick="call"
        android:text="按下拨号" />
在代码中实现这个方法
public class MainActivity extends Activity {
    private EditText et_number;
    private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 设置界面内容
        setContentView(R.layout.activity_main);
        // 查找控件,文本输入框
        et_number = (EditText) findViewById(R.id.et_number);
    }
    public void call(View view){;
                // 执行拨号操作
                // 1.获取用户输入的号码
                String number = et_number.getText().toString();
                // 2.执行拨号操作
                // 意图
                Intent intent = new Intent();
                // 设置要拨打的号码
                intent.setData(Uri.parse("tel://" + number));
                // 设置动作,拨号 动作
                intent.setAction(intent.ACTION_CALL);
                // 跳转到拨号界面
                startActivity(intent);
    }
}
对于Android的学习,需要不断的积累,砸实基础。这篇博客算是个开始吧,我要把博客重新拾起来,加油!