Android开发之那些好用的数据结构与API(三)

简介: 之前的系列文章 Android开发之那些好用的数据结构与API 和Android开发之那些好用的数据结构与API(二)中,已经介绍了一些,趁热打铁,本次介绍的内容很实用哦~~1、RoundedBitmapDrawableRoundedBitmapDrawable 是 android.support.v4.graphics.drawable 里面的一个类,但是记得一定得是21+以上的版本。

之前的系列文章 Android开发之那些好用的数据结构与APIAndroid开发之那些好用的数据结构与API(二)中,已经介绍了一些,趁热打铁,本次介绍的内容很实用哦~~

1、RoundedBitmapDrawable

RoundedBitmapDrawable 是 android.support.v4.graphics.drawable 里面的一个类,但是记得一定得是21+以上的版本。它是用来创建简单的圆角图片,以前做App时,个人中心经常有个圆角的个人头像,可能大家都会用第三方的库来做,其实在2014年的Google IO大会后Google发布了新的Support lib,其中就有这个类和相应的API,看看最新的Android系统中联系人的圆形头像,就是基于此而做的,API很简单,如下:

ImageView imageView = (ImageView) findViewById(R.id.img);
Resources res = getResources();
// 获取Bitmap图片
Bitmap src = BitmapFactory.decodeResource(res, R.drawable.pic);
// 创建RoundedBitmapDrawable对象
RoundedBitmapDrawable dr = RoundedBitmapDrawableFactory
.create(res, src);
// 设置圆角半径
dr.setCornerRadius(Math.max(src.getWidth(), src.getHeight()) / 2.0f);
// 显示圆角图片
imageView.setImageDrawable(dr); 

原图与效果图:

img_98eebdf22759c809c35a5c6131e6039b.png
原图.png

img_d5076ad26977e70afa8e55112fb9b7dc.png
RoundedBitmapDrawable.png

2、DateUtils

在Android中经常要处理与日期有关的字段,当然可以用Java中的日期处理API,但是Android中也提供了,在android.text.format.DateUtils 类中有如下几个方法,下面以几个简单的案例进行介绍。

(1)格式化时间,比Java自带的要爽得多,麻麻说再也不需要记忆乱七八糟的 yyyy年MM月dd日了

//格式化时间,最后参数设定显示的格式
String date = DateUtils.formatDateTime(MainActivity.this,
System.currentTimeMillis(), DateUtils.FORMAT_SHOW_DATE
                        | DateUtils.FORMAT_SHOW_TIME
                        | DateUtils.FORMAT_SHOW_YEAR
                        | DateUtils.FORMAT_ABBREV_MONTH 
                        | DateUtils.FORMAT_SHOW_WEEKDAY);
tv.setText(date);
img_2f31c2b11273fa33d149b19ceaf3198f.png
formatDateTime.png

(2) 返回相对于当前时间的最大区间表示的字符串:几(分钟,小时,天,周,月,年)前/后。想想微博上那些时间,是不是瞬间觉得简单了~~

CharSequence date = DateUtils.getRelativeTimeSpanString(System
                .currentTimeMillis() + 1000*1000);

tv.setText(date);
img_e99eefb5aee2aa36030a8a2c80f57c38.png
getRelativeTimeSpanString1.png

(3) 返回相对于当前时间的一个时间字符串:在同一天显示时分;在不同一天,显示月日;在不同一年,显示年月日

CharSequence date = DateUtils.getRelativeTimeSpanString(
MainActivity.this, System.currentTimeMillis() + 10000 * 10000);

tv.setText(date);
img_ce3652f7ac1e2d2d0b11add88c548088.png
getRelativeTimeSpanString2.png

(4)返回两个时间值间的相距字符串

String date = DateUtils.formatDateRange(MainActivity.this,
                System.currentTimeMillis(),
                System.currentTimeMillis() + 60 * 60 * 10000,
                DateUtils.FORMAT_SHOW_TIME); 

tv.setText(date);
img_c8a1c7dd40a40f4ec04022c892d54ab1.png
formatDateRange.png

以上就是本次要介绍的内容,内容虽然不是很多,但是很实用,正所谓内容不在多而在精,大家可以在项目中试试看~~

目录
相关文章
|
7天前
|
安全 搜索推荐 数据挖掘
虾皮店铺商品API接口的开发、运用与收益
虾皮(Shopee)作为东南亚领先的电商平台,通过开放API接口为商家和开发者提供了全面的数据支持。本文详细介绍虾皮店铺商品API的开发与运用,涵盖注册认证、API文档解读、请求参数设置、签名生成、HTTP请求发送及响应解析等步骤,并提供Python代码示例。API接口广泛应用于电商导购、价格比较、商品推荐、数据分析等场景,带来提升用户体验、增加流量、提高运营效率等收益。开发者需注意API密钥安全、请求频率控制及遵守使用规则,确保接口稳定可靠。虾皮API推动了电商行业的创新与发展。
61 31
|
1天前
|
自然语言处理 搜索推荐 数据挖掘
淘宝商品描述 API 接口的开发、应用与收益
淘宝商品描述API接口的开发与应用涵盖注册成为开发者、了解API规范、选择开发工具及语言(如Python)和实现代码调用。该接口可用于优化电商平台商品展示、同步数据、竞品分析、智能客服及个性化推荐,从而提高销售转化率、降低运营成本并拓展业务机会。通过自动化处理和数据分析,企业能更精准地满足消费者需求,提升竞争力。
21 9
|
5天前
|
监控 搜索推荐 API
京东JD商品详情原数据API接口的开发、运用与收益
京东商品详情API接口是京东开放平台的重要组成部分,通过程序化方式向第三方提供商品详细信息,涵盖名称、价格、库存等。它促进了京东生态系统的建设,提升了数据利用效率,并推动了企业和商家的数字化转型。开发者可通过注册账号、获取密钥、调用接口并解析返回结果来使用该API。应用场景包括电商平台的价格监控、竞品分析、个性化推荐系统开发、移动应用开发及数据整合与共享等。该接口不仅为企业和开发者带来商业价值提升、用户体验优化,还助力数据资产积累,未来应用前景广阔。
27 9
|
9天前
|
存储 搜索推荐 API
拼多多根据ID取商品详情原数据API接口的开发、运用与收益
拼多多作为中国电商市场的重要参与者,通过开放平台提供了丰富的API接口,其中根据ID取商品详情原数据的API接口尤为重要。该接口允许开发者通过编程方式获取商品的详细信息,为电商数据分析、竞品分析、价格监测、商品推荐等多个领域带来了丰富的应用场景和显著的收益。
38 10
|
2天前
|
存储 JSON API
小红书获取笔记详情API接口的开发、应用与收益。
小红书笔记详情API采用Python与Django框架开发,使用MySQL数据库存储数据。接口通过HTTP GET请求获取笔记详情,返回JSON格式数据,包含笔记内容、作者信息、图片链接等。该API应用于小红书APP内笔记展示和互动功能,并支持第三方平台的内容整合与数据分析,提升用户体验与活跃度,促进品牌合作推广,优化平台运营效率,为平台带来显著收益。
21 1
|
8天前
|
JSON 供应链 搜索推荐
淘宝APP分类API接口:开发、运用与收益全解析
淘宝APP作为国内领先的购物平台,拥有丰富的商品资源和庞大的用户群体。分类API接口是实现商品分类管理、查询及个性化推荐的关键工具。通过开发和使用该接口,商家可以构建分类树、进行商品查询与搜索、提供个性化推荐,从而提高销售额、增加商品曝光、提升用户体验并降低运营成本。此外,它还能帮助拓展业务范围,满足用户的多样化需求,推动电商业务的发展和创新。
28 5
|
12天前
|
JSON API 开发者
Lazada 商品评论列表 API 接口:开发、应用与收益
Lazada作为东南亚领先的电商平台,其商品评论数据蕴含丰富信息。通过开发和利用Lazada商品评论列表API接口,企业可深入挖掘这些数据,优化产品、营销和服务,提升客户体验和市场竞争力。该API基于HTTP协议,支持GET、POST等方法,开发者需注册获取API密钥,并选择合适的编程语言(如Python)进行开发。应用场景包括竞品分析、客户反馈处理及精准营销,帮助企业提升销售业绩、降低运营成本并增强品牌声誉。
30 2
|
8月前
|
存储 算法 安全
AVB数据解析:Android verified boot 2.0 vbmeta 数据结构解析
AVB数据解析:Android verified boot 2.0 vbmeta 数据结构解析
855 0
|
存储 Android开发
【Android 逆向】函数拦截 ( GOT 表数据结构分析 | 函数根据 GOT 表进行跳转的流程 )
【Android 逆向】函数拦截 ( GOT 表数据结构分析 | 函数根据 GOT 表进行跳转的流程 )
165 0
【Android 逆向】函数拦截 ( GOT 表数据结构分析 | 函数根据 GOT 表进行跳转的流程 )
|
机器学习/深度学习 Java Android开发
Android中需要了解的数据结构(一)
Java容器类 Java容器类是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。 Java容器主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections) 【文章纯干货 请仔细阅读哦!】   通过上图,可以把握两个基本主体,即Collection和Map。