Android电话拨号器

android电话拨号器的设计

 

Android电话拨号器

具体的运行界面如上图所示。

具体操作过程:

1、新建一个Android项目。在Eclipse中依次单击“File”->“NEW”->"Android Project"

2、编写string.xml文件。具体代码如下:

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

 2 <resources>

 3 

 4     <string name="app_name">Phone拨号器</string>

 5     <string name="hello_world">Hello world!</string>

 6     <string name="action_settings">Settings</string>

 7     <string name="mobile">请输入手机号码:</string>

 8     <string name="button">拨打电话</string>

 9 

10 </resources>
View Code

3、编写main.xml文件。具体代码如下:

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

 2     xmlns:tools="http://schemas.android.com/tools"

 3     android:layout_width="match_parent"

 4     android:layout_height="match_parent"

 5     android:paddingBottom="@dimen/activity_vertical_margin"

 6     android:paddingLeft="@dimen/activity_horizontal_margin"

 7     android:paddingRight="@dimen/activity_horizontal_margin"

 8     android:paddingTop="@dimen/activity_vertical_margin"

 9     tools:context="com.example.phone.MainActivity$PlaceholderFragment" >

10 <LinearLayout android:orientation="vertical"

11               android:layout_width="fill_parent"

12               android:layout_height="fill_parent">

13               <TextView

14                   android:layout_width="fill_parent"

15                   android:layout_height="wrap_content"

16                   android:text="@string/mobile"

17                   />

18               <EditText 

19                   android:layout_width="fill_parent"

20                   android:layout_height="wrap_content"

21                   android:id="@+id/phoneNum"/>

22               <Button 

23                   android:layout_width="wrap_content"

24                   android:layout_height="wrap_content"

25                   android:text="@string/button"

26                   android:id="@+id/btnPhone"/>

27 </LinearLayout>

28 </RelativeLayout>
View Code

4、处理按钮的单击事件。具体代码如下:

 1 package com.example.phone;

 2 

 3 import android.app.Activity;

 4 import android.app.Fragment;

 5 import android.content.Intent;

 6 import android.net.Uri;

 7 import android.os.Bundle;

 8 import android.view.LayoutInflater;

 9 import android.view.Menu;

10 import android.view.MenuItem;

11 import android.view.View;

12 import android.view.ViewGroup;

13 import android.widget.Button;

14 import android.widget.EditText;

15 

16 public class MainActivity extends Activity {

17 

18     @Override

19     protected void onCreate(Bundle savedInstanceState) {

20         super.onCreate(savedInstanceState);

21         setContentView(R.layout.activity_main);

22 

23         if (savedInstanceState == null) {

24             getFragmentManager().beginTransaction()

25                     .add(R.id.container, new PlaceholderFragment()).commit();

26         }

27     }

28 

29     @Override

30     public boolean onCreateOptionsMenu(Menu menu) {

31 

32         // Inflate the menu; this adds items to the action bar if it is present.

33         getMenuInflater().inflate(R.menu.main, menu);

34         return true;

35     }

36 

37     @Override

38     public boolean onOptionsItemSelected(MenuItem item) {

39         // Handle action bar item clicks here. The action bar will

40         // automatically handle clicks on the Home/Up button, so long

41         // as you specify a parent activity in AndroidManifest.xml.

42         int id = item.getItemId();

43         if (id == R.id.action_settings) {

44             return true;

45         }

46         return super.onOptionsItemSelected(item);

47     }

48 

49     /**

50      * A placeholder fragment containing a simple view.

51      */

52     public static class PlaceholderFragment extends Fragment {

53 

54         public PlaceholderFragment() {

55         }

56 

57         @Override

58         public View onCreateView(LayoutInflater inflater, ViewGroup container,

59                 Bundle savedInstanceState) {

60             View rootView = inflater.inflate(R.layout.fragment_main, container,

61                     false);

62         

63         final EditText phoneText=(EditText)rootView.findViewById(R.id.phoneNum);

64             Button btnPhone=(Button)rootView.findViewById(R.id.btnPhone);

65             btnPhone.setOnClickListener(new View.OnClickListener() {

66                 

67                 @Override

68                 public void onClick(View v) {

69                     // TODO Auto-generated method stub

70                     String phoneNum=phoneText.getText().toString();

71                     if(phoneNum!=null&&(!"".equals(phoneNum.trim())))

72                     {

73                         Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNum));

74                         startActivity(intent);

75                     }

76                 }

77             });

78             return rootView;

79         }

80     }

81 

82 }
View Code

5、申请拨号权限。我们需要在功能清单文件AndroidManifest.xml中申请权限,在</application>标签后面加上<uses-permission>具体代码如下:

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

 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"

 3     package="com.example.phone"

 4     android:versionCode="1"

 5     android:versionName="1.0" >

 6 

 7     <uses-sdk

 8         android:minSdkVersion="14"

 9         android:targetSdkVersion="19" />

10 

11     <application

12         android:allowBackup="true"

13         android:icon="@drawable/ic_launcher"

14         android:label="@string/app_name"

15         android:theme="@style/AppTheme" >

16         <activity

17             android:name="com.example.phone.MainActivity"

18             android:label="@string/app_name" >

19             <intent-filter>

20                 <action android:name="android.intent.action.MAIN" />

21 

22                 <category android:name="android.intent.category.LAUNCHER" />

23             </intent-filter>

24         </activity>

25     </application>

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

27 </manifest>
View Code

 

你可能感兴趣的:(android)