zoukankan      html  css  js  c++  java
  • android开发学习:打电话和发短信

    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);
        	                //写入短信记录
                            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);  
                            }
                     Toast.makeText(MainActivity.this, R.string.success, Toast.LENGTH_LONG).show(); 
                      }
              }
     }

    增加权限

        <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 第三方开源库 学习汇总之Butter Knife
    android Gradle下载慢,使用阿里镜像
    android 第三方开源库 学习汇总
    <Android Studio> 4.Adapter的那些事 <一>
    <Android Studio> 3.打包APK
    <Android Studio> 2.APP开机启动
    <Android Studio> 1.如何APP配置权限
    Android源码分析(十七)----init.rc文件添加脚本代码
    Android源码分析(十六)----adb shell 命令进行OTA升级
    Android源码分析(十五)----GPS冷启动实现原理分析
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5334136.html
Copyright © 2011-2022 走看看