= 电话拨号器/点击事件写法 =发短信

= 电话拨号器/点击事件写法 =

开发安卓应用步骤:

- 1. 写UI, 即布局文件.

- 2. 写代码, Activity,
ContentProvider, Service, 等等.

- 3. 在清单文件中配置 Activity
等四大组件.

- 4. 在清单文件中添加权限.

下面开发一个电话拨号器应用.

首先是写布局文件:

{{{class="brush:xml"

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

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

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"
>

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/app_name"

android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText

android:id="@+id/et_phone"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:ems="10"

android:inputType="phone"
>

<requestFocus
/>

</EditText>

<Button

android:id="@+id/bt_call"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/call"
/>

</LinearLayout>

}}}

怎样给控件起名字? 在布局文件中 "@" 表示 R 文件, "@+id"
就表示在R文件中加一个id,

控件的名字一般是 "缩写_描述" .

Activity中的代码如下:

{{{class="brush:java"

public class MainActivity extends
Activity implements OnClickListener{

// 将 控件作为字段是为了方便内部类访问, 而避免了多次的查询,
且节省内存.

private EditText
et_phone;

/**

* activity创建的时候 调用 onCreate 方法,
且只调用一次.

*/

@Override

protected void onCreate(Bundle
savedInstanceState) {

super.onCreate(savedInstanceState);

// 根据布局,显示activity的界面,
在res目录下layout目录下有一个xml定义的布局文件

setContentView(R.layout.activity_main);

// 查找到需要使用的控件

Button button = (Button)
findViewById(R.id.bt_call);

et_phone = (EditText)
findViewById(R.id.et_phone);

// 为按钮设置点击事件.
需要一个事件监听器

//button.setOnClickListener(new
MyOnClickListener());

// 点击事件写法 2:
使用匿名内部类.

/*button.setOnClickListener(new
OnClickListener() {

@Override

public void onClick(View v)
{

callPhone();

}

});*/

// 点击事件写法 3: 让这个Activity本身实现
OnClickListener 接口

//button.setOnClickListener(this);

}

// 点击事件写法 1: 使用内部类.

private class MyOnClickListener
implements OnClickListener {

@Override

public void onClick(View v)
{

callPhone();

}

}

// 点击事件写法 3: 让这个Activity本身实现
OnClickListener 接口, 这个最常用

@Override

public void onClick(View v)
{

callPhone();

}

// 点击事件写法 4: 在布局文件中的控件上添加属性
android:onClick=xxx,

// 然后在activity中写对应的方法. 注意必须是 public
的方法, 而且参数一定要为 View v !!!

// 这个View代表的是发生点击事件的控件

public void dialPhone(View view)
{

callPhone();

}

private void callPhone()
{

String phone =
et_phone.getText().toString().trim();

if ("".equals(phone))
{

// 注意吐司一定不要忘了 show
!!

Toast.makeText(MainActivity.this, "电话号码不能为空",

Toast.LENGTH_SHORT).show();

} else {

// 拨打电话 激活系统的拨号应用
把电话号码传给系统的应用.

// 打人 打酱油 动作+数据
就是一个完整的行为.

Intent intent = new
Intent(); // 创建一个意图

intent.setAction(Intent.ACTION_CALL); // 为意图设置动作

intent.setData(Uri.parse("tel://" + phone)); // 为意图设置数据.

startActivity(intent); //
将此意图以一个 Activity 的形式启动起来..

}

}

}

}}}

在清单文件中配置 Activity,
这一步在创建工程时eclipse自动做了.

另外就是要加入权限.

{{{class="brush:xml"

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

}}}

至此, 电话拨号器完成.

--------------

打电话, 基带? Socket? ip + 端口号?

--------------

== 关于上下文 ==

this 和
getApplicationContext()

对话框是activity的一部分,
它一定要被挂载在activity上

== 给应用改图标??? ==

在res目录下的drawable目录中放一张png格式图片xxx,然后把manifest文件中application标签下的

activity标签的android:icon属性改为android:icon="@drawable/xxx"即可.

intent-filter:activity的子标签,是activity的一个配置信息,作用是在luncher程序里面生成一个应用程序的图标

{{{class="brush:java"

<intent-filter >

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

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

</intent-filter>

}}}

如果没有这个配置,应用安装后不会显示在launcher中,无法启动。

= 短信发送器 =

很简单, 直接贴核心代码:

{{{class="brush:java"

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

String content =
et_content.getText().toString().trim();

if(TextUtils.isEmpty(number) ||
TextUtils.isEmpty(content)) {

Toast.makeText(this,
"号码或短信内容不能为空", Toast.LENGTH_SHORT).show();

} else {

// 发短信需要使用 SmsManager,
注意要使用 android.telephony.SmsManager

SmsManager smsManager =
SmsManager.getDefault();

// 将长文本切割成多条短信.

ArrayList<String>
messages = smsManager.divideMessage(content);

for(String msg : messages)
{

smsManager.sendTextMessage(number, null, msg, null, null);

}

Toast.makeText(this, "短信发送成功",
Toast.LENGTH_SHORT).show();

}

}}}

别忘了加权限:

{{{class="brush:java"

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

}}}

来自为知笔记(Wiz)

时间: 2024-10-12 22:49:26

= 电话拨号器/点击事件写法 =发短信的相关文章

无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM 的比较 3.常见adb指令 platform-tools/adb.exe adb.exe : android debug bridge android调试桥 adb devices:列出所以连接的设备 adb kill-server :杀死adb调试桥 adb start-server :启动adb

安卓中关于点击响应事件的四种写法(电话拨号器)

安卓中点击响应事件主要是用button响应事件,关于响应事件的大概有四种写法 1,,创建一个内部类,定义点击事件 2,创建一个匿名内部类,直接实现接口 3,让activity实现点击事件的接口(用的最多常见的情况) 4,4,在布局文件里面绑定一个点击的方法 < Button android:onClick= "dailButtonClicked" ..... /> 本次过程的一些代码是基于简单的电话拨号器的实现的 public class MainActivity exte

Android入门——电话拨号器和四种点击事件

相对于HelloWorld来说,电话拨号器也是Android的一个入门demo,从这个例子我们要理清楚做安卓项目的思路. 大体分为三步: 1.理解需求,理清思路 2.设计UI 3.代码实现 电话拨号器 1. 理解需求: *一个文本框--用来接收电话号码 *一个按钮--用来触发事件 2. 设计UI 3. 代码实现 public class MainActivity extends Activity { private EditText et_number; //定义变量用来接收电话号码 priva

Android学习笔记(1)——电话拨号器

搬运自本人博客:Android学习笔记(1)--电话拨号器 程序的实现过程非常简单,大体分为以下几步: 确定程序的功能,大致确定好UI界面. 通过调整xml文件参数让界面更加美观. 在Activity文件编写代码,完成对应的事件等. 对于电话拨号器,我们最后的界面大致如下: 对应的布局文件如下,采用的是相对布局. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <Relative

Android实现电话拨号器和短信发送器

电话拨号器和短信发送器是Android初学者很好的练习项目,今天就找了两个写得很不错的例子学习下 电话拨号器 实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了. 步骤: 1.界面布局 2.编写Activity 3.使用意图过滤器激活电话拨号功能 4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限) 如图所示这三个控

android案例一 电话拨号器

效果图: 电话拨号器的核心原理:  意图 MainActivity代码: private EditTest et_number; //加载一个布局 setContentView(R.layout.Main); //获取需要的控件 editTest1 button1 et_number = (EditTest)findViewById(R.id.editTest1); Button btn_call = (Button)findViewById(R.id.button1); //为按钮btn_ca

android基础(3):电话拨号器

电话拨号器: 权限:android.permission.CALL_PHONE 布局代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_hei

Android开发系列(一):电话拨号器的实现

目标,实现简单的电话拨号功能. 首先,可以看到上边有几个控件,上边有几个文字. 在我们建立好了工程之后,我们首先可以在res目录下的values目录的strings.xml中把这几个文字添加进去,为了更好地实现国际化. <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, MainActivity

andriod 电话拨号器

第一个andriod小应用,对照着黑马视频14期电话拨号器写的,中间也遇到不少问题. MainActivity.java package com.stones.phone; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.content.DialogInte