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

简介: 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 完成");

}

}

}

}

 

目录
相关文章
|
7月前
|
监控 安全 Shell
管道符在渗透测试与网络安全中的全面应用指南
管道符是渗透测试与网络安全中的关键工具,既可用于高效系统管理,也可能被攻击者利用实施命令注入、权限提升、数据外泄等攻击。本文全面解析管道符的基础原理、实战应用与防御策略,涵盖Windows与Linux系统差异、攻击技术示例及检测手段,帮助安全人员掌握其利用方式与防护措施,提升系统安全性。
285 6
|
10月前
|
存储 人工智能 测试技术
HarmonyOS Next~HarmonyOS应用测试全流程解析:从一级类目上架到二级类目专项测试
本文深入解析HarmonyOS应用测试全流程,涵盖从一级类目通用测试到二级类目专项测试的技术方案。针对兼容性、性能、安全测试及分布式能力验证等关键环节,提供详细实践指导与代码示例。同时,结合典型案例分析常见问题及优化策略,帮助开发者满足华为严苛的质量标准,顺利上架应用。文章强调测试在开发中的核心地位,助力打造高品质HarmonyOS应用。
520 2
|
6月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
791 11
|
6月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
209 4
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
7月前
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
7月前
|
人工智能 IDE 测试技术
Browser-Use在UI自动化测试中的应用
Browser-Use是一款浏览器自动化工具,具备视觉与HTML解析、多标签管理、操作记录与复现、自定义操作、自我纠正及并行执行等功能,助力AI智能体高效完成网页任务。
856 0
|
10月前
|
安全 测试技术 Linux
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
328 2
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
|
10月前
|
测试技术 数据库 Python
解释测试中setup和teardown函数的应用。
总结起来,`setup`和 `teardown`函数就像扔宴会的主人,他们保障了宴会的流畅进行。他们是准备环境和清理现场的重要工作人员,他们的工作直接影响着我们的测试效率和质量。我们可以把 `setup`和 `teardown`想象成隐藏在幕后,默默为我们服务的工作者,他们做着我们需要但是往往忽视的工作。所以,下次当你写测试的时候,别忘了给你的 `setup`和 `teardown`留出足够的位置,因为他们的作用可能是你成功的保证。
233 14
|
算法 数据安全/隐私保护 计算机视觉
基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
本项目展示了256×256图像通过双线性插值放大至512×512的效果,无水印展示。使用Matlab 2022a和Vivado 2019.2开发,提供完整代码及详细中文注释、操作视频。核心程序实现图像缩放,并在Matlab中验证效果。双线性插值算法通过FPGA高效实现图像缩放,确保质量。