ym——Android从零开始(2)(打电话,发短信,常用布局)(新)

2023-12-23 10:40

本文主要是介绍ym——Android从零开始(2)(打电话,发短信,常用布局)(新),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持!


前言

在上一篇了解了Android体系,安装Android开发环境,现在可以开始进行代码编写,实现功能了,来实现几个常用又简单的功能吧~!


打电话:

代码思路:

打电话是通过Intent来完成的,(Intent是意图的意思),

AnroidIntent可以用来激活组件(Activity,Service,ContentProvider),

通过启动一个Activity传入Intent,跳转的打电话的Activity


代码实现:

Intent intent = new Intent();//创建一个意图
intent.setAction(intent.ACTION_CALL);//设置活动 --  你要做什么
intent.setData(Uri.parese("tel:" + 电话号码)); //设置数据
startActivity(intent);//激活意图


所需权限:

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


发短信

代码思路:

发短信有两种方式:第一种是类似于打电话(使用意图的方式来发短信)

第二种是通过SMSManager短信管理器来发送短信,可以用短信管理器获得一个默认的短信管理器实例


代码实现:

//发短信
SmsManager smsManager = SmsManager.getDefault();
//拆分短信  
//因为短信只支持140bytes 70个文中
ArrayList<String>  text= smsManager.divideMessage(content);
SmsManager manager = new SmsManager.getDefault();//得到短信管理器manager.sendMultipartTextMessage(destinationAddress   //地址 -- 电话号码scAddress                    //短信中心地址text                            //短信内容sentIntent                    //短信发送成功意图deliveryIntent);            //短信被对方接收意图//属性manager.MAX_USER_DATA_BYTES;//获得一跳最大容量的短信
//土司(提示用户)
Toast toast = Toast.makeText(this, "短信发送成功", Toast.LENGTH_LONG);
toast.show();//显示</span>

所需权限:

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

常用布局

LinearLayout(线性布局)

1.1.png1.2.png


代码分析

Orientation属性表示设置布局中的控件方向,其属性有两种,一种是vertical垂直排列,另外一种是horizontal水平排列。这里设置成垂直排列。


常用属性

Layout_weight属性

所有的组件都有Layout_weight属性,不设置默认为零。其属性表示当前还有多大视图就占据多大的视图:如果其值高于零,则表示将父视图中可用的空间进行分割,分割的大小是当前屏幕整体布局的Layout_weight值与每个组件Layout_weight值的占用比例而定

Gravity

每个组件默认其值为左上角对其,其属性可以调整组件对其方式,如向左,向右,居中等

Padding

边距的填充每页称内边距。

Layout_margin

外边距。

1.3.png

Padding 内边距指的是当前布局与包含的组件之间的边距

Layout_margin 外边距指的是与其他组件之间的边距


RelativeLayout(相对布局)

1.4.png1.5.png


代码分析

每个组件都可以指定相对其他组件或父组件的位置,值是必须通过ID来进行指定

组件之间的位置关系

属性名称

作用

Android:layout_above

将该组件放在指定ID组件的上方

Android:layout_below

将该组件放在指定ID组件的下方

Android:layout_toleftOf

将该组件放在指定ID组件的左方

Android:layout_toRightOf

将该组件放在指定ID组件的右方

                                  组件对齐方式

属性名称

作用

Android:layout_alignBaseline

将该组件放在指定ID组件进行中心线对齐

Android:alignTop

将该组件放在指定ID组件进行顶部对齐

Android:alignBottom

将该组件放在指定ID组件进行底部对齐

Android:alignLeft

将该组件放在指定ID组件进行左边对齐

Android:alignRight

将该组件放在指定ID组件进行右边对齐

当前组件与父组件的对齐方式

属性名称

作用

Android:layout_alignParentTop

该组件与父组件进行顶部对齐

Android:layout_alignParentBotton

该组件与父组件进行底部对齐

Android:layout_alignParentLeft

该组件与父组件进行左边缘对齐

Android:layout_alignParentRight

该组件与父组件进行右边缘对齐

组件放置的位置

属性名称

作用

Android:layout_centerHorizontal

将该组件放置在水平方向中央的位置

Android:layout_centerVertical

将该组件放置在垂直方向的中央的位置

Android:layout_centerInParent

将该组件放置父组件的水平垂直中央的位置

       

TableLayout(表格布局)

1.6.png1.7.png


常用属性

        shrinkColumms属性:0为序,当TableRow里面的控件布满局时,指定列自动填充可用部分:当TableRow里面的控件还没有布满布局时,shrnkColumms不起作用。

        strechColumms属性:以第0行为序,指定列对空白部分进行填充。

        collapseColumms属性:以第0行为序,隐藏指定的列。

        Layout_column属性:以第0行为序,设置组件显示正在指定列。

        Layout_span属性:以第0行为序,设置组件占用列数


FrameLayout(帧布局)

1.8.png1.9.png


后一个组件会将前一个组件覆盖


AbsoluteLayout(绝对布局

2.0.png2.1.png


常用属性

Layout_x,Layout_y 用于对改控件的位置进行调整。

五种布局可以嵌套使用

打电话和发短信是需要权限的,(通过Intent方式的发短信是不需要权限的)


学习后必知问题(有些本文没有提到过的,要自己去学习,很重要!):

findViewById()有什么样作用?

查找资源文件(R.java)

怎样去激活系统拨号组件?

使用intent

权限的作用是什么?在哪里加?

保证用户的安全性,在AndroidMainfest.xml

发短信需要使用什么类?

SmsManager

一共有哪些常用布局?

Relative Layout相对布局,Linear Layout线性布局,Table Layout表格布局,Absolute Layout绝对布局,Frame Layout帧布局。


这篇关于ym——Android从零开始(2)(打电话,发短信,常用布局)(新)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/527744

相关文章

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

Redis中的常用的五种数据类型详解

《Redis中的常用的五种数据类型详解》:本文主要介绍Redis中的常用的五种数据类型详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis常用的五种数据类型一、字符串(String)简介常用命令应用场景二、哈希(Hash)简介常用命令应用场景三、列表(L

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D