• 个人技术博客(α)


    概述

    本次团队项目作业我主要负责的是 Android 端的文本读取以及和服务器交互的部分。由于之前对 Android 一无所知,所以花了很长时间来了解和熟悉。Android 本身也比较复杂,对于一个不懂 Java 的初学者来说感觉不是很友好。之前的很长一段时间都在学习和了解,到后来尝试多了才初有眉目。以下是我在完成项目的过程中学到的东西,大部分来自网络,同学也帮了我很大的忙。具体内容整理如下。

    具体内容

    Visual Studio Code 编辑博客并发送到 Cnblogs

    之前在博客园写博客一直都是在 VS Code 上写好,粘贴过去,很繁琐,修改也很麻烦,一直在找可以直接发布到博客园的方法。有一些方法可以发布但是不支持 markdown,所以一直没找到好的办法。在刚开始写这篇博客时,刚好要找一个插件,就顺手在商店里搜了一下 cnblog,恰好搜到这个插件,非常好用,可以说是十分偶然了,感谢这为作者。安装方法如下。
    在 VS Code 的插件商店搜索 WriteCnblog,点击安装。具体使用方法在作者的博客可以查看。用vscode写博客和发布
    作者还有另外一篇文章,讲如何制作插件。vscode编写插件详细过程

    Json 本地文件读取

    Android 经常会用 Json 传数据,所以读取本地 Json 的功能十分必要,虽然不是很复杂,但是我也花了点时间来了解和尝试,记录下方法以备日后查阅。

    public static String getJson(Context mContext, String fileName) {
        ///将json数据变成字符串
        StringBuilder stringBuilder = new StringBuilder();
        //获取assets资源管理器
        AssetManager assetManager = mContext.getAssets();
        try {
            //获取assets资源管理器
            //AssetManager assetManager = mContext.getAssets();
            //通过管理器打开文件并读取
            BufferedReader bf = new BufferedReader(new InputStreamReader(
                    assetManager.open(fileName)));
            String line;
            while ((line = bf.readLine()) != null) {
                stringBuilder.append(line);
            }
        } 
        catch (IOException e) {
            e.printStackTrace();
        }
        return stringBuilder.toString();
    }
    

    Gson 解析 Json

    Gson 简介

    Gson(又称 Google Gson)是 Google 公司发布的一个开放源代码的 Java 库,主要用途为序列化 Java 对象为 JSON 字符串,或反序列化 JSON 字符串成 Java 对象。而 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,广泛应用于各种数据的交互中,尤其是服务器与客户端的交互。

    Gson 的用法

    Gson 提供了 fromJson()toJson() 两个直接解析和生成 Json 的方法。并且可以重载。

    基本类型解析

    Gson gson = new Gson();
    int i = gson.fromJson("100", int.class);              //100
    double d = gson.fromJson(""99.99"", double.class);  //99.99
    boolean b = gson.fromJson("true", boolean.class);     // true
    String str = gson.fromJson("String", String.class);   // String
    

    基本类型生成

    Gson gson = new Gson();
    String jsonNumber = gson.toJson(100);       // 100
    String jsonBoolean = gson.toJson(false);    // false
    String jsonString = gson.toJson("String"); //"String"
    

    POJO 类的生成和解析

    本次的项目就用到了这个方法。

    public class GsonRead {
        public String Title;
        public String Auther;
        public String Text;
    
        public static List getGson(String jsonString, String Title, String Auther, String Text) {
            Gson gson = new Gson();
            GsonRead gsonRead = gson.fromJson(jsonString, GsonRead.class);
            Title = gsonRead.Title;
            Auther = gsonRead.Auther;
            Text = gsonRead.Text;
            System.out.println(Title);
            System.out.println(Text);
            List<String> list = new ArrayList<String>();
            list.add(Title);
            list.add(Auther);
            list.add(Text);
            return list;
        }
    }
    

    其中使用 List<String> 来传送 String 的数据。

    okhttp 向服务器传送 Json

    okhttp 有 get 和 post 方法。我应该使用的是 get 方法,传参数给服务器,然后获取 json。之前错误的认为应该是 post 方法,在使用 Apizza 测试 api 的时候才意识到错误。

  • 相关阅读:
    PHP 方法整合类 -- 1.根据概率产生随机数 --2.判断手机号归属地及运营商 --3.过滤emoji表情
    PHP 多图下载并打包压缩方法
    PHP 导出excel 精简版
    PHP获取首字母相关方法
    no input file specified 解决办法
    百度地图相关
    经纬度相关方法
    阿里云SSL证书部署至宝塔
    微信入口、生成菜单,公众号授权获取用户信息(unionid)
    超级好用超级简单的支付类库
  • 原文地址:https://www.cnblogs.com/egbert/p/7841264.html
Copyright © 2020-2023  润新知