码迷,mamicode.com
首页 > 移动开发 > 详细

android开发学习:打电话和发短信

时间:2015-07-13 12:23:40      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

1.新建一个android项目

File——New——Other——android application project

填写application name(就是应用的名字,比如:天天酷跑)

填写project name(就是程序项目名,比如:TTKP,打包后名字也是TTKP.APP)

填写package name(程序包名,比如cn.tengxun.ttkp)

然后选择最小运行的android版本,最适合版本,编译版本,主题。

NEXT——NEXT——选择你android应用图标图片,然后完成。


然后我们要关注的res(放资源文件的,静态的文字可以写在里面)

src代码编程文件

gen(自动生成的资源ID生成文件)

AndroidManifest.xml是应用配置文件

res下的layout是布局的配置文件


2.编写一个打电话功能

先编写布局配置文件activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical" 
     android:layout_width="match_parent"
     android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/phone_title" />
    <EditText 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"  
        android:hint="@string/phone_title"
        android:id="@+id/telnum" />
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/phone_button" 
        android:id="@+id/button"/>

</LinearLayout>

@的意思是操作gen下面的R.java文件的信息,获取;@+是创建。


编写一下文本的信息

res下面的value下的string.xml

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

    <string name="app_name">拨号器</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="phone_title">请输入手机号</string>
    <string name="phone_button">拨号</string>

</resources>

编写拨号事件代码

在src下的java代码

public class MainActivity extends Activity {
    private EditText edittext;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edittext=(EditText) findViewById(R.id.telnum);
        Button button=(Button) this.findViewById(R.id.button);
        button.setOnClickListener(new ButtonClickListener());
    }
    
    private final class ButtonClickListener implements View.OnClickListener{
		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			String telnum=edittext.getText().toString();
			Intent intent=new Intent();
			intent.setAction("android.intent.action.CALL");
			intent.setData(Uri.parse("tel:"+telnum));
			startActivity(intent);
		}
    	
    }}

最后你要获取你调用android打电话这个功能的权限

在AndroidManifest.xml应用配置文件

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

3.编写发短信功能

布局配置文件

   <EditText 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"  
        android:hint="@string/phone_title"
        android:id="@+id/telnum" />
    <EditText 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minLines="3"
        android:hint="@null"
        android:id="@+id/message"         
        />   
    <Button 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/message_button" 
        android:id="@+id/message_button"/>

string配置文件

<string name="message_button">发送短信</string>

java代码

public class MainActivity extends Activity {
	private EditText phonetext;
	private EditText edittext;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        phonetext=(EditText) findViewById(R.id.telnum);
		edittext=(EditText) findViewById(R.id.message);
        Button message_button=(Button) this.findViewById(R.id.message_button);
        message_button.setOnClickListener(new MessageButtonClickListener());
        
    }

    private final class MessageButtonClickListener implements View.OnClickListener{
		@Override
		public void onClick(View v) {
			//发短信
			String phoneNumber=phonetext.getText().toString();
			String message=edittext.getText().toString();
			SmsManager manager=SmsManager.getDefault();
			ArrayList<String> messages = manager.divideMessage(message);
			for(String content:messages){
			manager.sendTextMessage(phoneNumber, null, content, null, null);
		    }
    	    Toast.makeText(MainActivity.this, R.string.success, Toast.LENGTH_LONG).show();
    	    //写入短信记录
            ContentValues values = new ContentValues();  
            values.put("address", phoneNumber);  
            values.put("body", message);  
            values.put("type", "2");  
            values.put("read", "1");//1表示已读  
            getContentResolver().insert(Uri.parse("content://sms/inbox"), values);  
    	    
        }	    
    }   
}  

加入权限

    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.WRITE_SMS"/>  
    <uses-permission android:name="android.permission.READ_SMS"/>


版权声明:本文为博主原创文章,未经博主允许不得转载。

android开发学习:打电话和发短信

标签:

原文地址:http://blog.csdn.net/x2145637/article/details/46858155

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!