如果你一直在搞最后版本的AndroidPhoneDialer,你或许发现有些东西错过了。不幸的是,项目当前的写作方式总是允许你输入任何类型的数值到EditText View中,并且发送到Call活动中。这个真不是最佳的应用程序开发。研究一下并且增加验证到EditText中。使用下面的参数来修改项目:
● 使用常规的表达式来验证一个号码被输入到EditText中(package java.regex)。
● 使用showAlert( ) 语法来显示一条信息告诉用户他们输入的内容和你的常规表达式不匹配。当你觉得已经找到解决方案,和下面的代码做个比较:
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="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/textLabel" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Enter Number to Dial:" /> <EditText android:id="@+id/phoneNumber" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/callButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:text="Show Dialer" /> </LinearLayout> AndroidPhoneDialer.java package android_programmers_guide.AndroidPhoneDialer; import android.app.Activity; import android.os.Bundle; import android.widget.Button; import android.view.View; import android.content.Intent; import android.net.Uri; import android.widget.EditText; import java.util.regex.*; public class AndroidPhoneDialer extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main ); final EditText phoneNumber = (EditText) findViewById(R.id.phoneNumber ); final Button callButton = (Button) findViewById(R.id.callButton); callButton.setOnClickListener(new Button.OnClickListener() { Chapter 7: Using Intents and the Phone Dialer 147 public void onClick(View v){ if (validatePhoneNumber(phoneNumber.getText().toString())){ Intent CallIntent = new Intent(Intent.CALL_ACTION,Uri.parse("tel:" + phoneNumber.getText())); CallIntent.setLaunchFlags(Intent.NEW_TASK_LAUNCH ); startActivity(CallIntent); } else{ showAlert("Please enter a phone number in the X-XXX-XXX-XXXX format.",0, "Format Error", "Re-enter Number",false); } } }); } public boolean validatePhoneNumber(String number){ Pattern phoneNumber = Pattern.compile("(\\d-)?(\\d{3}-)?\\d{3} \\d{4}"); Matcher matcher = phoneNumber.matcher(number); return matcher.matches(); } }
|
当你运行本项目,它应当产生一个信息和下图类似(略)。
在下一章中,你将学习更多的Views。你将创建创建一个多活动应用程序来允许你浏览并创建本书中还没有谈论过的Views。你也会创建并利用一个菜单系统来启动你的活动。
问专家
Q:有办法来建立一个呼叫或者从模拟器中来确保这些活动正在工作吗?
A:当本书写的时候,还没有办法。但是,谷歌内部的讨论是在将来发布的SDK,开发者将有可能打开两个模拟器并且在两个模拟器之间呼叫。
Q:还有其它类型的按钮可用于活动吗?看上去或者感觉不一样的。
A:是的。你可以使用风格属性来创建小按钮,或者上下左右指示的小按钮。
题外话:到现在为止,第七章的翻译工作完成
更多信息请查看 http://www.javady.com/index.php/category/thread
分享到:
相关推荐
《Android开发从入门到精通》是一本针对Android Studio的详细开发指南,旨在帮助初学者和有一定基础的开发者深入了解和掌握Android应用开发的核心技术。在学习Android开发的过程中,Android Studio是官方推荐的集成...
书号:ISBN:9787894300874 Android开发从入门到精通
在Android开发领域,掌握基础知识是至关重要的,而这套"Android开发从入门到精通【视频教程+课程源码】"提供了一条系统学习的路径。它不仅包括了详细的视频讲解,还有配套的源代码,旨在帮助初学者从零开始,逐步...
### Android开发从入门到精通 #### 一、Android概述与平台简介 - **定义与起源**:Android是一种基于Linux V2.6内核的操作系统,最初由Andy Rubin等人于2003年创立,旨在为移动设备提供一个开放且完整的操作系统...
"Android开发从入门到精通光盘源代码"是一个很好的学习资源,提供了随书配套的详细代码示例,帮助开发者深入理解Android应用开发的各个环节。这里我们将围绕这个主题,深入探讨Android开发中的关键知识点。 首先,...
Android应用开发从入门到精通-源码和课件.rar
本资料"Android网络开发从入门到精通源码"由张余提供,旨在帮助开发者系统地学习并掌握Android平台上的网络编程技术。 一、Android网络基础 在Android中,我们主要通过HttpURLConnection、HttpClient(已废弃)、...
《Android开发从入门到精通》是一本专门为Android编程新手量身打造的教程。这本书全面覆盖了Android开发的基础知识,旨在帮助读者快速掌握Android应用开发的核心技能。以下是对书中的主要知识点进行的详细解读: 1....
从给定的文件信息来看,这是一本名为《Android开发从入门到精通》的书籍,作者为扶松柏,版本为扫描版。虽然标签部分似乎有些混乱,将本书标记为"C++经典书籍",但根据标题和描述,我们可以确定这实际上是一本关于...
Android开发应用从入门到精通 朱桂英 中国铁道出版社 本书循序渐进地讲解了android技术的基本知识,并通过实例直观地演示了android在各个领域中的具体应用。本书内容新颖、知识全面、讲解详细,全书分为4篇17章,第...
提供的源代码文件(android开发从入门到精通光盘源代码_2章-6章.7z、android开发从入门到精通光盘源代码_7章-12章.7z)将作为实践环节的重要资源,帮助学习者通过实际操作巩固理论知识,提高动手能力。
Android开发从入门到精通是扶松柏编著的一本关于Android应用程序开发的书籍。该书面向初学者,旨在通过简洁明了的语言和生动的实例,详细介绍Android应用开发中所需掌握的各种技术。书中可能覆盖的内容包括但不限于...
Android_开发从入门到精通_IBM
在本资源中,我们聚焦于"Android开发从入门到精通"这一主题,特别是关于第9章的源码。这表明该压缩包包含了Android应用开发的一个关键章节的学习资料,特别是实战案例,这对于初学者和进阶者都极具价值。以下是根据...
总之,"Android开发从入门到精通"的第7章覆盖了Android开发的核心元素,从界面设计到数据存储,从网络通信到性能优化,这些都是构建高质量Android应用所必需的技能。通过深入学习并实践本章内容,无论是新手还是有...
《Android开发从入门到精通-扶松柏版》这本书籍是Android开发领域中一本专门针对初学者的教程书籍。它以通俗易懂的方式介绍Android开发的基础知识,帮助读者逐步掌握如何使用Android Studio这个集成开发环境来创建和...
本款android从入门到精通pdf是由明日科技编著,是一本android入门书籍。全书由浅入深,循序渐进,以初、中级程序员为对象,从了解Android和搭建开发环境学起,再学习Android开发的基础技术,然后学习Android开发的...