手把手教学windows下Android Studio使用GsonFormatPlus插件

这篇具有很好参考价值的文章主要介绍了手把手教学windows下Android Studio使用GsonFormatPlus插件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用API获取数据时经常需要用把JSON转成Java Class,虽然有网页版的工具:在线JSON字符串转Java实体类(JavaBean、Entity)-BeJSON.com,但是我用不明白,这工具会生成三个文件,一个个复制有点麻烦,所以还是用GsonFormat工具吧,目前csdn上搜好几个要么是MacOS的,本人新手都找不到怎么打开Plugins,要么windows下教你安装但是生成出来又不对,所以自己写一篇文章记录一下怎么用吧。
我的AS版本:2022.1.1.21电鳗版,skr~
首先介绍一下GsonFormatPlus插件:
gsonformatplus是一个IntelliJ IDEA插件,用于将JSON格式的字符串转换为Java对象。使用该插件可以快速生成Java类,省去手动编写Java类的繁琐过程。具体使用方法如下:
  1. 安装插件:在IntelliJ IDEA中打开插件市场,搜索gsonformatplus插件并安装。

Android Studio反正也是IDEA改的,所以这里也一样,点击File-Settings-Plugins

手把手教学windows下Android Studio使用GsonFormatPlus插件

搜索框里输入gson,网络慢的可能得稍等一下,然后找到GsonFormatPlus,点击Install。

注意!!!这里点击Install安装后要检查一下是否可以Apply,要点击Apply之后才可以使用,如果没点Apply即使重启了也可能无法使用,需要重新进来安装再应用!!!

手把手教学windows下Android Studio使用GsonFormatPlus插件
  1. 使用方法:右键-Generate-GsonFormatPlus,即可弹出窗口

安装后随便新建一个Class,在class的声明代码中右键就可以弹出这个窗口,没有的话请检查上一步

手把手教学windows下Android Studio使用GsonFormatPlus插件
手把手教学windows下Android Studio使用GsonFormatPlus插件
手把手教学windows下Android Studio使用GsonFormatPlus插件
  1. 根据个人需求设置Setting

虽然这时候就可以把JSON文本复制到左边,然后点击OK来生成代码了!但不要急,现在的设置生成的不是GsonFormat(没有plus)的版本,默认生成的是使用序列化的名字和lombok的,如果要用的话需要另外配置,而我是传统派,可以参考我下图的设置

手把手教学windows下Android Studio使用GsonFormatPlus插件

主要是关闭序列化名称和lombok,并选择转换库为Gson,ok!可以复制粘贴生成了!

  1. 举个例子:使用和风天气提供的天气信息生成Class文件

首先复制通过API,从网页获取天气信息,并把信息复制进来

手把手教学windows下Android Studio使用GsonFormatPlus插件
手把手教学windows下Android Studio使用GsonFormatPlus插件
手把手教学windows下Android Studio使用GsonFormatPlus插件

这时他就会自动生成一长段的代码:


package com.animee.forecast.hefeng;

import java.util.List;

;

public class HFTempBean {

    private String code;
    private String updateTime;
    private String fxLink;
    private List<DailyBean> daily;
    private ReferBean refer;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    public String getFxLink() {
        return fxLink;
    }

    public void setFxLink(String fxLink) {
        this.fxLink = fxLink;
    }

    public List<DailyBean> getDaily() {
        return daily;
    }

    public void setDaily(List<DailyBean> daily) {
        this.daily = daily;
    }

    public ReferBean getRefer() {
        return refer;
    }

    public void setRefer(ReferBean refer) {
        this.refer = refer;
    }

    public static class ReferBean {
        private List<String> sources;
        private List<String> license;

        public List<String> getSources() {
            return sources;
        }

        public void setSources(List<String> sources) {
            this.sources = sources;
        }

        public List<String> getLicense() {
            return license;
        }

        public void setLicense(List<String> license) {
            this.license = license;
        }
    }

    public static class DailyBean {
        private String fxDate;
        private String sunrise;
        private String sunset;
        private String moonrise;
        private String moonset;
        private String moonPhase;
        private String moonPhaseIcon;
        private String tempMax;
        private String tempMin;
        private String iconDay;
        private String textDay;
        private String iconNight;
        private String textNight;
        private String wind360Day;
        private String windDirDay;
        private String windScaleDay;
        private String windSpeedDay;
        private String wind360Night;
        private String windDirNight;
        private String windScaleNight;
        private String windSpeedNight;
        private String humidity;
        private String precip;
        private String pressure;
        private String vis;
        private String cloud;
        private String uvIndex;

        public String getFxDate() {
            return fxDate;
        }

        public void setFxDate(String fxDate) {
            this.fxDate = fxDate;
        }

        public String getSunrise() {
            return sunrise;
        }

        public void setSunrise(String sunrise) {
            this.sunrise = sunrise;
        }

        public String getSunset() {
            return sunset;
        }

        public void setSunset(String sunset) {
            this.sunset = sunset;
        }

        public String getMoonrise() {
            return moonrise;
        }

        public void setMoonrise(String moonrise) {
            this.moonrise = moonrise;
        }

        public String getMoonset() {
            return moonset;
        }

        public void setMoonset(String moonset) {
            this.moonset = moonset;
        }

        public String getMoonPhase() {
            return moonPhase;
        }

        public void setMoonPhase(String moonPhase) {
            this.moonPhase = moonPhase;
        }

        public String getMoonPhaseIcon() {
            return moonPhaseIcon;
        }

        public void setMoonPhaseIcon(String moonPhaseIcon) {
            this.moonPhaseIcon = moonPhaseIcon;
        }

        public String getTempMax() {
            return tempMax;
        }

        public void setTempMax(String tempMax) {
            this.tempMax = tempMax;
        }

        public String getTempMin() {
            return tempMin;
        }

        public void setTempMin(String tempMin) {
            this.tempMin = tempMin;
        }

        public String getIconDay() {
            return iconDay;
        }

        public void setIconDay(String iconDay) {
            this.iconDay = iconDay;
        }

        public String getTextDay() {
            return textDay;
        }

        public void setTextDay(String textDay) {
            this.textDay = textDay;
        }

        public String getIconNight() {
            return iconNight;
        }

        public void setIconNight(String iconNight) {
            this.iconNight = iconNight;
        }

        public String getTextNight() {
            return textNight;
        }

        public void setTextNight(String textNight) {
            this.textNight = textNight;
        }

        public String getWind360Day() {
            return wind360Day;
        }

        public void setWind360Day(String wind360Day) {
            this.wind360Day = wind360Day;
        }

        public String getWindDirDay() {
            return windDirDay;
        }

        public void setWindDirDay(String windDirDay) {
            this.windDirDay = windDirDay;
        }

        public String getWindScaleDay() {
            return windScaleDay;
        }

        public void setWindScaleDay(String windScaleDay) {
            this.windScaleDay = windScaleDay;
        }

        public String getWindSpeedDay() {
            return windSpeedDay;
        }

        public void setWindSpeedDay(String windSpeedDay) {
            this.windSpeedDay = windSpeedDay;
        }

        public String getWind360Night() {
            return wind360Night;
        }

        public void setWind360Night(String wind360Night) {
            this.wind360Night = wind360Night;
        }

        public String getWindDirNight() {
            return windDirNight;
        }

        public void setWindDirNight(String windDirNight) {
            this.windDirNight = windDirNight;
        }

        public String getWindScaleNight() {
            return windScaleNight;
        }

        public void setWindScaleNight(String windScaleNight) {
            this.windScaleNight = windScaleNight;
        }

        public String getWindSpeedNight() {
            return windSpeedNight;
        }

        public void setWindSpeedNight(String windSpeedNight) {
            this.windSpeedNight = windSpeedNight;
        }

        public String getHumidity() {
            return humidity;
        }

        public void setHumidity(String humidity) {
            this.humidity = humidity;
        }

        public String getPrecip() {
            return precip;
        }

        public void setPrecip(String precip) {
            this.precip = precip;
        }

        public String getPressure() {
            return pressure;
        }

        public void setPressure(String pressure) {
            this.pressure = pressure;
        }

        public String getVis() {
            return vis;
        }

        public void setVis(String vis) {
            this.vis = vis;
        }

        public String getCloud() {
            return cloud;
        }

        public void setCloud(String cloud) {
            this.cloud = cloud;
        }

        public String getUvIndex() {
            return uvIndex;
        }

        public void setUvIndex(String uvIndex) {
            this.uvIndex = uvIndex;
        }
    }
}

这样就ok了!虽然又臭又长是吧哈哈。如果你觉得这样代码太长,可读性很差,可以使用lombok来通过注释减少代码量,可以参考下面两个文章:文章来源地址https://www.toymoban.com/news/detail-510696.html

(14条消息) Lombok使用详解_鞠骞的博客的博客-CSDN博客
(13条消息) AndroidStudio插件 GsonFormatPlus使用_3Blue1Red的博客-CSDN博客
总之,GsonFormatPlus插件是一个非常方便的工具,可以大大提高开发效率,特别是在处理JSON数据时。

到了这里,关于手把手教学windows下Android Studio使用GsonFormatPlus插件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • uniapp Android原生插件开发和离线打包调试看这篇就够了!(保姆级手把手教学)

    uniapp Android原生插件开发和离线打包调试看这篇就够了!(保姆级手把手教学)

    此文章最适合第一次开发原生插件并且无原生开发经验的攻城狮! uni-app 官方文档地址:uni原生插件开发教程 原生插件必备离线SDK下载:Android 离线SDK - 正式版 要拥有JAVA环境 jdk1.8 版本,其他版本根据情况自我调整 想必读者在看此文章之前电脑就有HBuilderX和Android Studio开发工

    2024年02月10日
    浏览(37)
  • Git 使用教程:最详细、最正宗手把手教学(万字长文)

    Git 使用教程:最详细、最正宗手把手教学(万字长文)

    一:Git 二:SVN与Git的的区别 三、安装Git 四:常规操作 五:远程仓库 六:创建与合并分支 七:bug分支 八:多人协作 九:git可视化工具 Git 是一种分布式版本控制系统,用于管理软件项目的源代码。它是由 Linux 之父 Linus Torvalds 开发的,并已经成为了现代软件开发领域中最流

    2024年02月16日
    浏览(39)
  • 【uni-app】【Android studio】手把手教你运行uniapp项目到Android App

    【uni-app】【Android studio】手把手教你运行uniapp项目到Android App

    选择运行到Android App基座 选择运行项目 1、连接手机,在手机上选择 传输文件。 2、打开 设置 - 关于本机 - 版本信息 -连续点击4-5次 版本号 ,输入手机密码,系统就进入了开发者模式。 3、 设置 其他设置 开发者选项 打开 开发者选项 打开 USB调试 。 4、回到Hbuilder,点击刷新

    2024年02月09日
    浏览(16)
  • Midjourney教学使用教程,AI绘图赏析prompt,手把手教你Midjoureny注册和使用

    Midjourney教学使用教程,AI绘图赏析prompt,手把手教你Midjoureny注册和使用

    话不多说请先赏图: 目前 Midjourney 暂不支持免费次数了,尽量付费吧。 如果不清楚如何付费请参考:【保姆级】国内如何购买midjourney?midjourney购买教程?midjourney注册教程  1.写实: 提示词(prompt): a beautiful asian women ::2,red bow, christmas tree ::2 ,skirt,gifts ::1,christmas card,beaut

    2024年04月14日
    浏览(14)
  • 用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑

    用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨详细避坑

    Uni-app 离线打包 apk 1. Android Studio 下载 Android Studio官网 2. HBuilderX下载 HBuilderX下载 3. App离线SDK下载 Android 离线SDK - 正式版 下载后解压文件,将 HBuilder-Integrate-AS 重命名 build-template 并拷贝到一个专门打包用的文件夹下作为打包模板 该文件夹中有一个 simpleDemo 文件夹 即 build-temp

    2024年02月04日
    浏览(62)
  • 手把手教学RRT*(RRTSTAR)三维算法MATLAB仿真(代码可直接运行,视频手把手教学)

    手把手教学RRT*(RRTSTAR)三维算法MATLAB仿真(代码可直接运行,视频手把手教学)

            在我以前的作品里有关于RRT算法的视频和代码,今天主要讲解一下RRT*算法的原理。RRT*算法主要是在RRT算法的基础上加上了重写父节点和随机重连的两个步骤。具体的实现方式我想以视频的方式向大家讲解,个人感觉讲解的十分详细。视频连接在这里,希望大家看

    2024年04月17日
    浏览(83)
  • tps5430手把手教学

    tps5430手把手教学

    TPS5430手把手教学 目录 一、buck电路原理 二、tps5430芯片介绍 1.1芯片引脚图 1.2芯片引脚说明 三、tps5430参考电路讲解以及PCB布局 1.正压降压(15V转12V) 1.1原理图 1.2器件选择 1.3PCB布局 2.正压降负压 2.1原理图 2.2PCB布局 2.3注意事项 BUCK电路原理: BUCK电路,又称降压式变换电路,

    2023年04月20日
    浏览(14)
  • ChatGPT推广指南,手把手教学

    ChatGPT推广指南,手把手教学

    网站登录流程我就不给大家赘述了,直接进入主题,全程干货仔细看 1.个人中心。点击右上角——“头像”——点击“个人中心” 2.推广链接。点击左侧菜单栏——“推广链接”,三条默认推广链接就是您的推广链接,将您的专属推广链接分享给需要的人即可。 3.好友列表。

    2023年04月12日
    浏览(15)
  • Git入门指南(手把手教学)

    Git入门指南(手把手教学)

    Git是一种分布式版本控制系统,它是由Linus Torvalds为了管理Linux内核开发而开发的。与中心化的版本控制系统(如SVN)不同,Git是一种分布式系统,它将代码库(repository)复制到多个开发者的本地计算机上,每个开发者都有自己的代码库,可以在本地提交代码、管理分支、合

    2023年04月14日
    浏览(13)
  • 手把手搭建KVM云平台(详细教学)

    手把手搭建KVM云平台(详细教学)

    1.点击“文件”,选择“新建虚拟机”。 2.选择“自定义(高级)”,点击“下一步”。 3.硬件兼容性选择“Workstation 16.x”,点击“下一步”。 4.选择“稍后安装操作系统”,点击“下一步”。 5.操作系统选择“Linux(L)”,版本选择“CentOS 7 64位”,点击“下一步”。 6. 自

    2024年02月02日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包