`
bk_lin
  • 浏览: 336504 次
社区版块
存档分类
最新评论

Android开发从入门到精通(7) _7

阅读更多

 

执行一个EditText View 第七章(7)

   你需要增加一个View到活动中来使得用户输入一些文本。然后你会分析那个文本并把它发送到前一节的Intent呼叫中。因为所有的视图是从基本的视图中派生出来的,它们在结构和使用方面非常的相似。你会发现执行一个EditText是一个非常简单的操作。

    首先,在main.xml文件中放置 Views。实际上这里要放两个View:一个TextView来实现作为一个标签并且给出一些指示给用户,另外一个就是EditView来接收用户的输入。这个Views一起将增加深度和实用性到你的活动中。

    因为你组成活动的外观,记住.xml是在视觉上构成的。这个就意味着加入你要TextView在最后的活动中显示在EditText的上面,你应当在main.xml文件中把它放在EditText之前。

    因为你已经用过好几次TextViews了,所以这里不会讲的太多。简单的看一些你设置的TextView的属性:

 

<TextView android:id="@+id/textLabel" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="Enter Number to Dial:" 
/>

   没什么特别的地方。这只是个简单的TextView用文本输入号码来拨号:。这个TextView将会用做EditView的显示标签。这里是你为EditView设置的属性:

<EditText android:id="@+id/phoneNumber" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
/> 

注意

你没有必要一定去设置androd:text属性,因为你不需要任何缺省的文本。

    这个id被用来设为phoneNumber,这是个名字,你将要用来在代码中参阅到EditText。再说一次,当设置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" 
142 Android: A Programmer’s Guide 
Chapter 7: Using Intents and the Phone Dialer 143 
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> 

    main.xml现在完成了。你可以转移到AndroidPhoneDialer.java来继续工作。假如你不在使用一个现存的AndroidPhoneDialer.java文件——本章中的前一个项目——你可能需要参阅前一部分去看看增加到.java文件中是什么样的代码。这样会确保你从代码中的正确部分开始。

    在.java文件中你第一个增加的条目是包装定义。你不仅需要增加包装到Uri,按钮和Intent,同时还要到EditText:

import android.widget.Button; 
import android.content.Intent; 
import android.net.Uri; 
import android.widget.EditText;

    设置EditText View的语法和设置按钮的语法一致:

final EditText <edittext_name> = <edittext>


    再说一次,呼叫你的EditText phoneNumber。创建EditText的代码如下:

final EditText phoneNumber = (EditText) findViewById(R.id.phoneNumber);

    一旦你的phoneNumber 这个EditTexT创建好了,你可以使用它来参阅在设备上输入的文本。现在你要做的就是呼叫phoneNumber.getText()来找回用户的输入。在下面的行里替换代码数值“tel:5551212”

Intent(Intent.CALL_ACTION,Uri.parse("tel:5551212")); 
with the value of getText( ): 
Intent(Intent.CALL_ACTION,Uri.parse("tel:" + phoneNumber.getText()));

    这就是本项目所有你需要更新的新代码。有了这两个新的附加内容,你可以给用户一个可以输入电话号码的对象,并且把号码发送到电话的呼叫活动中。完整的.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; 
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() { 
public void onClick(View v){ 
Intent CallIntent = new 
Intent(Intent.CALL_ACTION,Uri.parse("tel:" + phoneNumber.getText())); 
CallIntent.setLaunchFlags(Intent.NEW_TASK_LAUNCH ); 
startActivity(CallIntent); 

}); 

}


    当你在模拟器中运行应用程序,你应当看到一个类似于下面插图的屏幕(略)。

试试这个:修改AndoridPhoneDialer项目

 

更多信息请查看 http://www.javady.com/index.php/category/thread

分享到:
评论

相关推荐

    Android开发从入门到精通_android_

    《Android开发从入门到精通》是一本针对Android Studio的详细开发指南,旨在帮助初学者和有一定基础的开发者深入了解和掌握Android应用开发的核心技术。在学习Android开发的过程中,Android Studio是官方推荐的集成...

    Android开发从入门到精通

    书号:ISBN:9787894300874 Android开发从入门到精通

    Android开发从入门到精通【视频教程+课程源码】.rar

    在Android开发领域,掌握基础知识是至关重要的,而这套"Android开发从入门到精通【视频教程+课程源码】"提供了一条系统学习的路径。它不仅包括了详细的视频讲解,还有配套的源代码,旨在帮助初学者从零开始,逐步...

    Android_开发从入门到精通_IBM.pdf

    ### Android开发从入门到精通 #### 一、Android概述与平台简介 - **定义与起源**:Android是一种基于Linux V2.6内核的操作系统,最初由Andy Rubin等人于2003年创立,旨在为移动设备提供一个开放且完整的操作系统...

    Android应用开发从入门到精通-源码和课件.rar

    Android应用开发从入门到精通-源码和课件.rar

    android开发从入门到精通光盘源代码

    "Android开发从入门到精通光盘源代码"是一个很好的学习资源,提供了随书配套的详细代码示例,帮助开发者深入理解Android应用开发的各个环节。这里我们将围绕这个主题,深入探讨Android开发中的关键知识点。 首先,...

    Android网络开发从入门到精通源码_张余

    本资料"Android网络开发从入门到精通源码"由张余提供,旨在帮助开发者系统地学习并掌握Android平台上的网络编程技术。 一、Android网络基础 在Android中,我们主要通过HttpURLConnection、HttpClient(已废弃)、...

    Android开发从入门到精通.pdf

    《Android开发从入门到精通》是一本专门为Android编程新手量身打造的教程。这本书全面覆盖了Android开发的基础知识,旨在帮助读者快速掌握Android应用开发的核心技能。以下是对书中的主要知识点进行的详细解读: 1....

    [Android开发从入门到精通].扶松柏.扫描版.pdf

    从给定的文件信息来看,这是一本名为《Android开发从入门到精通》的书籍,作者为扶松柏,版本为扫描版。虽然标签部分似乎有些混乱,将本书标记为"C++经典书籍",但根据标题和描述,我们可以确定这实际上是一本关于...

    Android_开发从入门到精通_IBM.

    Android_开发从入门到精通_IBM

    Android开发应用从入门到精通光盘

    Android开发应用从入门到精通 朱桂英 中国铁道出版社 本书循序渐进地讲解了android技术的基本知识,并通过实例直观地演示了android在各个领域中的具体应用。本书内容新颖、知识全面、讲解详细,全书分为4篇17章,第...

    Android开发从入门到精通源码

    提供的源代码文件(android开发从入门到精通光盘源代码_2章-6章.7z、android开发从入门到精通光盘源代码_7章-12章.7z)将作为实践环节的重要资源,帮助学习者通过实际操作巩固理论知识,提高动手能力。

    Android开发从入门到精通].扶松柏.扫描版

    Android开发从入门到精通是扶松柏编著的一本关于Android应用程序开发的书籍。该书面向初学者,旨在通过简洁明了的语言和生动的实例,详细介绍Android应用开发中所需掌握的各种技术。书中可能覆盖的内容包括但不限于...

    Android开发从入门到精通(随书光盘)【源码】第9章

    在本资源中,我们聚焦于"Android开发从入门到精通"这一主题,特别是关于第9章的源码。这表明该压缩包包含了Android应用开发的一个关键章节的学习资料,特别是实战案例,这对于初学者和进阶者都极具价值。以下是根据...

    Android开发从入门到精通(随书光盘)【源码】第7章

    总之,"Android开发从入门到精通"的第7章覆盖了Android开发的核心元素,从界面设计到数据存储,从网络通信到性能优化,这些都是构建高质量Android应用所必需的技能。通过深入学习并实践本章内容,无论是新手还是有...

    Android开发从入门到精通-扶松柏版

    《Android开发从入门到精通-扶松柏版》这本书籍是Android开发领域中一本专门针对初学者的教程书籍。它以通俗易懂的方式介绍Android开发的基础知识,帮助读者逐步掌握如何使用Android Studio这个集成开发环境来创建和...

    Android从入门到开发案例+视频.txt

    Android开发从入门到精通第二版项目案例+视频讲解

Global site tag (gtag.js) - Google Analytics