zoukankan      html  css  js  c++  java
  • ShoppingMall_01

    ======================================================================

    今天开始,学习bilibili网上,编程不止Coding 老师的  Android项目实战之商城软件开发【附课件与代码】

    在此向老师致以敬意

    边学习,边记录,享受自学的乐趣

    ======================================================================

    01. 欢迎界面的延时进入主界面

          

          

    02. 使用 RadioGroup 做底部导航栏

         

         

         

      

     03.关于黄油刀的使用

         a. butterknife的作用
             这是一个替代 findViewById 的功能;

         b. 引用资源

         

         c. 使用

         

        d. 关于黄油刀另外一个插件的说明

            

         这个插件是专门用来快速关联对象的插件,通过界面操作,实现bindView等相关功能;

        ***  但在我电脑中,这个插件总会引发错误,装了也没有;****************

        *** 这个插件为 2017年的产品了,那个时候使用的是 @Bind() 来达成关联,现在的Bind扩展了很多,个人推测插件报错的原因就是这个插件没有正常维护升级了,功能不匹配了 ***********

        由于这个原因,现在我是手动@BindView 来达成对象使用的;

    04. 关于OKHttp的使用

         

        关于OKHttp的使用,一般会在自定义的MyApplicaton中生成一个实例化对象,用于网络请求;

        

        同时,在 AndroidManifest.xml 中进行配置    android:name=".app.MyApplication"

       关于网络请求的问题:

         ** 首先配置网络权限:   <uses-permission android:name="android.permission.INTERNET"/>

        此时发起网络请求时,将提示出错:

        

        原因: 由于 Android P(版本27以上) 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。
                   如果当前应用的请求是 htttp 请求,而非 https ,这样就会导系统禁止当前应用进行该请求

       处理方法: 1. 将请求改成 https;  

                          2. 将目标SDK版本降级为 27或以下; 

                          3. 配置参数,强开明文通讯 

                              a. 直接在 AndroidManifest.xml 中配置属性 : android:usesCleartextTraffic="true"

                              b. 新建 res>xml>network_security_config.xml 配置文件(文件名自定义),
                                  

                                      之后在 AndroidManifest.xml 中配置网络安全参数: android:networkSecurityConfig="@xml/network_security_config"

                        **  如果按上面的方法配置后,仍不能请求网络,请先卸载之前未配置过的APP,之后再重新安装配置过明文通讯的APP

    05 关于json的处理 

         a. 这里使用的是 阿里的 FastJson;(网上有些资料使用的是 android版本,有些直接使用 fastjson,  当前 Marven中央库中,只找到了 FastJson, 没找着android版本,或许是我搜的条件不对)

             implementation 'com.alibaba:fastjson:1.2.78'

         b. 有了JSON,再次安装了 GsonPlugin ,  用来快速的将JSON字符串实例化为类对象; 在插件中找着了二个,经过比对,功能基本相近;

             

             GsonFormat-plus: 可以生成的类继  Serializable 且带有注释, 且包的大小更小一些,个人更喜欢点;

            内容是集成在  Generate 菜单中的:       或者直接 Alt+S调出功能进行JSON类的生成
            

            生成的类结构如下:每个成员变量都有相应的样例 (也可以在配置中进行配置,不生成注释)

            

    06   关于lombok插件
           在IDEA 2021.2 版本中,居然搜不到 Lombok插件,查官网资料得知:

           The Jetbrains IntelliJ IDEA editor is compatible with lombok without a plugin as of version 2020.3.

           也就是说,从IDEA2020.3版本开始,就不再需要安装插件了,可以直接引用 ; 

           

    07. Glide加载图片的问题(解决方法见 04. 关于OKHttp的使用)

          *** 特别注意:将之前已经安装的APP卸载后,重新安装 ***

          

    08. 关于开发阶段,网络数据请求的配置

         a. 本地构建 TomCat 服务;

         b. 请求地址的设置:
                ** 若使用的是 默认的安卓模拟器,则服务器地址可以配置为:  http://10.0.2.2:8080   ; 端口以自行设置的为标准;

                ** 如果使用的是第三方的模拟器,则服务器地址可以配置为:     http://192.168.8.51:8080;  IP地址以电脑的IP为标准;

                ** 在真机上运行:

                    1). 装一个共享wifi 的软件, (如:猎豹 wifi)  --把本地电脑分享出一个wifi

                    2). 确保tomcat开启; 

                    3). 将请求的服务器地址的IP换成分享wifi的地址;

                    4). 手机要连接上分享出来的wifi;

         

     
  • 相关阅读:
    [stm32] Systick
    [stm32] GPIO及最小框架
    51单片机-PC数据传输 温度 距离 监控系统设计
    [游戏学习29] Win32 图像处理1
    [51单片机] 串口通讯 简单通信
    [汇编] 闰年计算
    Java常用工具类之ArrayUtil
    常用工具类系列之DateUtil
    SpringBoot 获取当前登录用户IP
    Spring data jpa Specification查询关于日期的范围搜索
  • 原文地址:https://www.cnblogs.com/jieling/p/15172019.html
Copyright © 2011-2022 走看看