清单文件,测试,打电话和发短信应用

简介: android:layout_width="fill_parent":表示水平包裹元素 android:layout_width="wrap_content":表示按照元素的大小包裹元素 android:layout_height="wrap_content":表示元素的高度,同样还有:fill_parent android:text="@string/call":表示显示的文本

android:layout_width="fill_parent":表示水平包裹元素

android:layout_width="wrap_content":表示按照元素的大小包裹元素

android:layout_height="wrap_content":表示元素的高度,同样还有:fill_parent

android:text="@string/call":表示显示的文本信息。@string表示调用values文件夹中的strings.xml中定义的call的值。

android:layout_gravity="right":表示线性布局元素的显示的位置。这里表示右侧

android:gravity="left|top"

android:id="@+id/btnSend":为元素添加唯一的表示符id.  @表示R.java,其中id最后会成为R的内部类。+:表示添加的意思。这个id的值为btnSend.

android:layout_weight="1":表示占有的比重,如果其他的没有写这一行,只有这个元素设置的有时,则这个元素将填充剩余的空间。

Android中的测试的写法:

如果要为Android程序写测试类,则要让这个类继承:AndroidTestCase

写日志的方法时:Log.i("TestLog""this is info log");

重要些的内容是:

AndroidManifest.xml中要写上:

<application android:icon="@drawable/icon" 

android:label="@string/app_name">

    <!-- 使用测试类库,如果写测试这一句必须写上 -->

    <uses-library android:name="android.test.runner" />

        ......

    </application>

    

    <!-- 声明测试组件,targetPackage必须和声明包相一致 -->

    <instrumentation android:name="android.test.InstrumentationTestRunner"

android:targetPackage="cn.itcast.baseapp" 

android:label="Tests for My App" />

    <uses-sdk android:minSdkVersion="8" />

    

    <!-- 声明如果是打电话程序要设置打电话的权限 -->

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

    <!-- 如果是发短信的程序,要声明发送短信权限-->

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

</manifest> 

如果为某个Button设置按钮的话,需要实现View.OnClickListener

以下是发短信和打电话应用中的部分代码。

public class MainActivity extends Activity {

    private EditText etPhoneNumber;

    private EditText etSmsContent;

public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        

        //设置内容视图

        setContentView(R.layout.main);

        //表示从R类中取出idetPhoneNumber的元素

        etPhoneNumber = (EditTextfindViewById(R.id.etPhoneNumber);

        //短信内容

        etSmsContent = (EditTextfindViewById(R.id.etSmsContent);

        

        //按照id查询view空间

        Button btnCall = (ButtonfindViewById(R.id.btnCall);

        Button btnSend = (ButtonfindViewById(R.id.btnSend);

        

        ButtonListener l = new ButtonListener();

        //为呼叫和发送按钮增加点击监听

        btnCall.setOnClickListener(l);

        btnSend.setOnClickListener(l);

    }

/**

 * 按钮监听器内部类

 */

class ButtonListener implements View.OnClickListener{

public void onClick(View v) {

//取得控件的id

int id = v.getId();

//取得电话号码

String phoneNumber = etPhoneNumber.getText().toString();

//取得短信内容

String smsContent = etSmsContent.getText().toString();

//打电话

if(id == R.id.btnCall){

//请帮我打个电话

Intent i = new Intent();

//设置动作名称

i.setAction(Intent.ACTION_CALL);

//设置数据

i.setData(Uri.parse("tel:" + phoneNumber));

//开始活动

startActivity(i);

}

//发短信

else if(id == R.id.btnSend){

SmsManager sm = SmsManager.getDefault();

sm.sendTextMessage(phoneNumber, null, smsContent, nullnull);

Toast toast = Toast.makeText(MainActivity.this"发送完成"Toast.LENGTH_SHORT);

toast.setGravity(Gravity.TOP, 20, 50);

toast.show();

System.out.println("send 完成");

}

}

}

}

 

目录
相关文章
|
4天前
|
运维 Ubuntu 测试技术
自动化运维的利剑:Ansible在配置管理中的应用软件测试的艺术:探索性测试的深度与广度
【8月更文挑战第27天】 在数字化浪潮中,高效的运维工作是支撑企业IT系统稳定运行的关键。Ansible,作为一款简易而强大的自动化运维工具,正逐渐成为IT专业人士的新宠。本文将通过浅显易懂的语言和生动的案例,带你了解Ansible的核心概念、安装步骤、基础命令以及它在配置管理中的实际应用。我们的目标是让初学者能够轻松上手Ansible,同时为有经验的运维工程师提供一些实用的技巧和思路。
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI在文本生成中的应用与挑战自动化测试框架的搭建与实践
【8月更文挑战第27天】本文将深入探讨人工智能(AI)在文本生成领域的应用,包括其技术原理、实际应用案例以及面临的主要挑战。通过分析AI文本生成的工作原理和实际效果,我们将揭示这项技术如何改变内容创作、新闻撰写、对话系统等多个领域。同时,我们也将讨论AI文本生成带来的伦理和质量问题,以及如何平衡创新与风险,确保技术的健康发展。
|
17天前
|
测试技术 语音技术
FunASR英文离线文件转写软件包问题之性能测试详细结果查看如何解决
FunASR英文离线文件转写软件包问题之性能测试详细结果查看如何解决
28 0
|
1天前
|
监控 数据管理 jenkins
深入理解与应用软件自动化测试框架
【8月更文挑战第30天】在现代软件开发周期中,自动化测试已成为提高测试效率、保证软件质量的关键步骤。本文将探讨自动化测试框架的设计与实现,重点放在如何根据不同项目需求选择合适的测试框架,以及如何有效地集成到现有的开发和测试流程中。通过分析几个流行的自动化测试工具,如Selenium、Appium和JUnit,我们将讨论它们的特点、优势以及可能面临的挑战。此外,文章还将介绍一些最佳实践,帮助读者构建稳定且易于维护的自动化测试环境。
|
3天前
|
测试技术 芯片
飞针测试机在贴装线路板应用
【8月更文挑战第26天】飞针测试机在PCBA中的应用涵盖检测开路与短路、测试元件电气性能、检查元件安装正确性、识别缺失或损坏的元件,并适用于小批量和多品种生产,有助于提高产品质量和可靠性。它能提供详细故障信息,便于问题定位与反馈,但测试速度较慢,需根据生产规模和质量要求选择合适的测试设备。
|
4天前
|
敏捷开发 测试技术 持续交付
探索式测试在敏捷开发中的应用与挑战
【8月更文挑战第27天】随着软件开发模式的不断演进,敏捷开发已成为主流。在这一背景下,探索式测试(Exploratory Testing)作为一种灵活、高效的软件测试方法,其地位日益凸显。本文将探讨探索式测试的核心概念、实施策略及其在敏捷开发中的作用,同时指出实施过程中可能遇到的挑战和解决之道。通过具体案例分析,我们将深入理解探索式测试如何促进软件质量的提升,以及如何更好地融入敏捷开发流程。
|
9天前
|
存储 SQL 测试技术
单元测试问题之JCode5插件在项目中的实际应用效果如何解决
单元测试问题之JCode5插件在项目中的实际应用效果如何解决
26 3
|
10天前
|
存储 Linux 测试技术
在Linux中,如何使用expect进行自动化交互式应用程序测试?
在Linux中,如何使用expect进行自动化交互式应用程序测试?
|
9天前
|
测试技术 虚拟化 iOS开发
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
这篇文章是iOS自动化测试方案的第二部分,详细介绍了在Xcode开发者工具中构建WebDriverAgent(WDA)应用到iPhone的全过程,包括环境准备、解决构建过程中可能遇到的错误,以及最终成功安装WDA到设备的方法。
25 0
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
|
1天前
|
JavaScript 前端开发 测试技术
Vue.js开发者必看!Vue Test Utils携手端到端测试,打造无懈可击的应用体验,引领前端测试新风尚!
【8月更文挑战第30天】随着Vue.js的普及,构建可靠的Vue应用至关重要。测试不仅能确保应用质量,还能提升开发效率。Vue Test Utils作为官方测试库,方便进行单元测试,而结合端到端(E2E)测试,则能构建全面的测试体系,保障应用稳定性。本文将带你深入了解如何使用Vue Test Utils进行单元测试,通过具体示例展示如何测试组件行为;并通过Cypress进行E2E测试,确保整个应用流程的正确性。无论是单元测试还是E2E测试,都能显著提高Vue应用的质量,让你更加自信地交付高质量的应用。

热门文章

最新文章

下一篇
云函数