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"/>