android之旅 day2
android之旅 day2
李小呆 发表于4年前
android之旅 day2
  • 发表于 4年前
  • 阅读 20
  • 收藏 2
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: 今天自己尝试着写写电话拨打和短信发送 很简单的demo,

代码:

package com.test.phone;


import android.net.Uri;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.text.TextUtils;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;


public class MainActivity extends Activity implements OnClickListener {

private EditText et;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//加载布局文件

setContentView(R.layout.activity_main);

//查找按钮

Button bt =(Button) findViewById(R.id.button1);

//查找文本

   et= (EditText) MainActivity.this.findViewById(R.id.editText1);

   //给按钮注册点击事件 1.创建一个内部类方法

//bt.setOnClickListener(new myliseter());

   //2.匿名内部类方法

   /* bt.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

callphone();

}

});*/

   //3.让activity实现点击事件

  // bt.setOnClickListener(this);

}

    //4.在UI控件里绑定点击事件

public void deil(View view) {

callphone();

}

private void callphone() {

String nu=et.getText().toString();

if(TextUtils.isEmpty(nu)){

Toast.makeText(MainActivity.this, "号码不能为空", Toast.LENGTH_LONG).show();

return;

}

Intent intent=new Intent();

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse("tel:"+nu));

startActivity(intent);

}

private class myliseter implements OnClickListener{

@Override

public void onClick(View v) {

callphone();

}

}

//3.未实现接口的方法

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.button1://case后面跟的是条件

callphone();

break; 

}

}

}

在电话拨打器中主要是学会了点击事件的四种写法

  1. 创建内部类实现button点击事件方法

  2. 创建匿名内部类实现button点击事件方法

  3. 让activity实现点击事件(目前常用的方法之一吧~~不确定但是很好用。)

  4. 在UI界面控件绑定点击事件(需要在Java代码中创建控件里写的方法。)

在这个代码练习中遇到了几个小问题,要记住intent.setDate(Uri.parse.("tel:")+传过来的参数)

代码2:

package com.example.msnsend;


import java.util.ArrayList;


import android.R.string;

import android.os.Bundle;

import android.app.Activity;

import android.telephony.SmsManager;

import android.text.TextUtils;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;


public class MainActivity extends Activity implements OnClickListener {

private EditText et;

private EditText number;


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button bt=(Button) findViewById(R.id.send);

et=(EditText) findViewById(R.id.msnmessage);

   number=(EditText) findViewById(R.id.deilnumber);

bt.setOnClickListener(this);

}


@Override

public void onClick(View arg0) {

switch (arg0.getId()) {

case R.id.send:

String messger=et.getText().toString().trim();

String nu=number.getText().toString().trim();

if(TextUtils.isEmpty(nu)||TextUtils.isEmpty(messger)){

Toast.makeText(this, "号码或用户名不能为空!", Toast.LENGTH_LONG).show();

}else{

SmsManager sms=SmsManager.getDefault();

ArrayList<String> str=sms.divideMessage(messger);

for (String string: str) {

sms.sendTextMessage(nu, null, string, null, null);

}

}

break;

}

}

}

这个是短信发送器demo,在这个练习中知道了sendTextMessage这个方法里的5个参数的意义(电话号码,端口号(国内开发设为null),短信内容,延迟发送,回执报告),还有一个就是Java的数组以及遍历

语法:

for(<迭代变量声明>:<数组>){

   语句;

}

例如代码片段:

for(int n : nums){

   System.out.println(n);

}

好了,今天的学习结束了,加油~~~

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 3
码字总数 734
×
李小呆
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: