关于开发个简单应用(账号管家)的总结

Android Support Library v4、v7、v13 一、前言关于Android Support Library,官网是这样解释的:“Android 支持库提供了诸多未内置于框架的功能。这些库提供向后兼容版本的新功能、框架中未包含的实用 UI 元素,以及应用可以利用的一系列实用程序。”官网参考链接:https://developer.android.com/topic/libraries/support-library/index.html通俗点来说... 阅读详情

前言

转眼已经毕业一年了,工作一年还是学到了很多东西,但是由于公司维护的老项目,目前还是用eclipse开发,看着android studio 2.0 出来了,还是很想去尝试的,另外很多高版本的API,github上的开源控件以及Material Design,于是我就决定做个简单的应用,来熟悉一下android studio 以及对我来说这些比较新颖的东西。所以梳理一下自己的开发过程和参考的文章。


效果图

先看一下效果图吧,具体的可以去应用宝下载
账号管家下载地址

应用截图

应用截图


整体思路

于是我想到做一个账号管家的应用,来管理生活工作中乱七八糟的账号。可是这个真的也不好做,谁放心把账号密码交给一个不知名的app呢,这里我做了一些防护。

  1. 为了用户放心使用,这是一个单机应用。
  2. 可以使用不可逆加密的尽量使用不可逆加密。(比如登录时候的解锁密码,不需要展示的都使用不可逆加密)
  3. 数据库不可备份
  4. 代码混淆

主要的技术

1.登录
可以是密码登录或者九宫格解锁(用到的是github上的PatternLock,有兴趣的可以自己去看一下)

2.应用的主页
还是采用github上的FlowingDrawer 控件(带手势流动效果侧滑菜单github对于如何使用说的很清楚)抽屉导航NavigationView,可以参考一下(上面有效果图):
下面是Navigation View的使用的参考
Navigation View的使用

3.RecyclerView展示
是用RecyclerView的瀑布流来展示,item是CardView,CardView是v7包下的。。遇到的坑可以参考
cardView开发中的小问题

4.使用到的输入框

EditText+TextInputLayout,自带动画,非常炫酷。
以及EditText中的setError(“错误提示”)。如图:
TextInputLayout
只要把TextInputLayout 作为Edittext控件的父布局即可。

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/login_password"
            android:inputType="textPassword"
            android:maxLines="1"
            android:singleLine="true" />

    </android.support.design.widget.TextInputLayout>

可以看出来TextInputLayout是MD里面提供的控件。

5.SnackBar:
Snackbar是Android Support Design Library库中的一个控件,可以在屏幕底部快速弹出消息,比Toast更加好用。我在登录成功的时候默认做了一个SnackBar,用于提示系统时间。
参考:SnackBar使用

6.设置界面
像手机原生的设置页面,这里我用的是android 提供了一种设置界面的写法:使用继承PreferenceFragment 然后实现Preference.OnPreferenceChangeListener,Preference.OnPreferenceClickListener 监听。在监听的回调中处理自己的业务逻辑,界面如图所示:
设置截图
1. 首先要新建xml 包,在里面新建preference.xml,选择PreferenceScreen作为document的根。
2. 以下面布局为例,简单说一下

    <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout="@layout/preference_item"
        android:title=""
    >
        <PreferenceCategory
            android:layout="@layout/preference_category_widget"
            android:title="@string/title_login_settings"
            >
            <CheckBoxPreference
                android:key="@string/MODE_PATTERN_LOCK_MODE_VISIBLE"
                android:layout="@layout/preference_item"
                android:summaryOff="@string/pattern_lock_visible_off"
                android:summaryOn="@string/pattern_lock_visible_on"
                android:widgetLayout="@layout/switch_layout"
                android:checked="true"
                android:title="@string/pattern_lock_visible"/>
        </PreferenceCategory>
</PreferenceScreen>

其中:

PreferenceCategory中的title为显示偏好种类的名字,我这边用的是‘登录设置’

CheckBoxPreference 中的key 为这个偏好的sp中存储的key值,summaryOff 和 summaryOn表示开关操作是下方显示的summary概述信息 title 为上方标题。

widgetLayout 表示这个组件的布局 。我这边使用的SwitchCompat控件 ,对应的switch_layout布局如下:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.SwitchCompat xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:textOff="OFF"
android:textOn="ON" />

其中的android:id=”@android:id/checkbox” 表示为系统的checkbox,不可随意修改

在java代码中:

    public class SettingFragment extends PreferenceFragment implements  Preference.OnPreferenceChangeListener,Preference.OnPreferenceClickListener{

        private CheckBoxPreference loginLockVisiablePre;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.preferences);
            loginLockVisiablePre = (CheckBoxPreference) getPreferenceManager()
                    .findPreference(getString(R.string.MODE_PATTERN_LOCK_MODE_VISIBLE));
            loginLockVisiablePre.setOnPreferenceChangeListener(this);
        }

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            if(preference instanceof  CheckBoxPreference) {
                boolean checked = Boolean.valueOf(newValue.toString());
                //获取到对应的key 和value
                Log.i("test",preference.getKey()+"=="+checked);
            }
            return true;
        }

        //如果有点击事件,可以在这里处理
        @Override
        public boolean onPreferenceClick(Preference preference) {
            return false;
        }
    }

7.分享功能
分享应用和分享账号密码,这个需要阅读微信开放平台去了解。大概流程是:
- 1.申请appId
- 2.集成微信开发sdk,只用分享好像不需要联网。在app包名下新建一个wxapi的包(如应用的包名是com.a.b,则必须有com.a.b.wxapi)需要新建一个WXEntryActivity的类。
- 3.调用sdk,发送请求,并且分享成功之后在WXEntryActivity中的onResp会回调到。我们这里选择finish当前的activity,防止显示空白的activity。

    public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
        private IWXAPI mIWXAPI;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            mIWXAPI = WXAPIFactory.createWXAPI(this, WXConstants.APP_ID);
            mIWXAPI.handleIntent(getIntent(), this);
        }


        @Override
        public void onReq(BaseReq baseReq) {
        }

        @Override
        public void onResp(BaseResp baseResp) {
            finish();
        }
    }

其他的一些控件

很多v7包下的系统控件android.support.v7.app.AlertDialog;,ProgressDialog等等这些,其实已经做得很好看了,有机会还是多使用使用。
v7包下的AlertDialog


遇到的问题

1.application中theme主题的理解

新建一个空项目的时候,在清单文件中的android:theme=”@style/AppTheme”,对应的

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="patternViewStyle">@style/PatternView.Light</item>
    <!-- Or PatternView.Light, or your own style extending these two or not. -->
</style>

下面这张图,可以帮我们更好的理解这些参数的意义:
AppTheme

我一开始创建的editText是粉红色的,纠结了半天,原来是colorAccent 这个值设置的问题。。。

2.cardView显示的问题

虽然上面的坑中有提到,但是我还是想再说一下:android 5.0以上和和以下是不一样。
有问题的界面截图:
错误的cardview
主要是android 5.0前后的差异:在xml 中写的
android:layout_margin=”@dimen/cardview_default_margin”,这个cardview_default_margin值在不同value包中的值需要不同:

我这里是这样写的:

  1. res/values/dimens.xml中: <dimen name="cardview_default_margin">0dp</dimen>
  2. res/values-v21/dimens.xml中
    <dimen name="cardview_default_margin">8dp</dimen>
    这样就能解决这样的显示问题

3.进入输入界面,自动弹出软键盘,这样显得不友好,处理方式:

  • 可以在EditText前面放置一个看不到的LinearLayout

    <LinearLayout  
    android:focusable="true"   
    android:focusableInTouchMode="true"  
    android:layout_width="0px"   
    android:layout_height="0px"/> 
    
  • 或者在他的父布局中加入

    android:focusable="true"   
    android:focusableInTouchMode="true"  
    

总结

当然还有很多没有讲到的,比如android studio如何导入github的开源项目,如何添加Material Design依赖关系呀,Gradle是什么玩意呀。这些网上其实资料很多了,在加上我也只是入门水平,再此就不累赘了。写此博客,算是我对前一阶段学习的一个总结吧。


AI应用开发中的多账号管理与API反向代理实践 在构建现代AI应用时,高可用性和成本控制是核心挑战。API反向代理作为统一入口,能屏蔽不同AI服务提供商的接口差异,提供一致的调用体验。其核心原理是通过中间层转发请求,实现协议转换、负载均衡和故障隔离。结合多账号管理,可以构建一个智能调度网关,根据账号状态、额度和性能动态分配请求,从而提升服务稳定性并分散风险。这一技术方案特别适用于需要集成多个AI模型平台(如OpenAI、Claude等)的应用场景,能有效解决单点故障和手动切换的痛点。本文以Node.js和Koa技术栈为例,深入探讨了如何实现一个集成了熔断 阅读详情

相关推荐

OpenHarmony鸿蒙开发( Beta5.0)智能台灯应用开发实践

智能台灯设备不仅接收数字管家应用下发的指令来控制台灯的开关及亮度,而且还可以加入到数字管家的日程管理中。通过日程可以设定台灯开关的时间段,使其在特定的时间段内,台灯自动打开或者熄灭,并能自动调节相应时间段台灯的亮度;通过日程管家还可以实现台灯和其他的智能设备联动。

weixin_55362248的博客 1582

密码生成器

密码生成器( Password Generator )是一种软件程序,可以自动生成难以破解、随机性较强、安全性好的密码。它可以帮助用户生成复杂、安全的密码,为网络账户提供有效的保护。目前,密码生成器的工作原理是,先将用户的特征信息(如用户名,用户类型,IP等)作为输入,然后再从一个大的字典(字符集)中抽取出定数量的字符列表,最后以这些字符组成,个安全而复杂的密码。在帮助用户设计密码方面,密码生成器可以提供多种可选择的选项,除了可以选。

A33479的博客 2973

教培管家系统开发实战指南

随着教育行业的快速发展,教培机构面临着越来越多的管理挑战。如何高效管理线索、提升销售转化率、优化教务流程、改善家长体验,成为了教培机构可持续发展的关键因素。本电子书基于微搭低代码平台,详细介绍了一套完整的教培管家系统开发实战方案。系统涵盖了从招生管理、线索转化到教务排课、家长端小程序的全流程功能,帮助教培机构实现数字化转型,提升运营效率。实战导向:每个功能模块都有详细的开发步骤和代码示例全流程覆盖:从管理员端、销售端到家长端的完整系统架构技术前沿:集成了AI智能分析、企业微信通知等现代技术。

低代码布道师的博客 700

Android实现Material Design风格的设置页面(滑动开关控件)

前言 本文链接 http://blog.youkuaiyun.com/never_cxb/article/details/50763271 转载请注明出处 參考了这篇文章 Material Design 风格的设置页面 笔者对原文章做了3个改进: 把勾选框 改成了 Switch 的滑动开关,Material 更彻底 替换后的 SwitchCompat 与整个 Prefere...

weixin_33836874的博客 213

帐号管家1.0.1218.1

一个方便管理密码的实用工具,数据存储在本地,非常安全。不担心联网被泄露。

springboot+shardingsphere+druid 实现基于时间的水平分表

使用shardingsphere基于时间字段的动态水平分片。

weixin_42207940的博客 2626

Android的设置界面及Preference使用

Preference使用 原文转自:http://blog.youkuaiyun.com/ichliebephone/article/details/5916320 一.基础知识     我们在使用Android手机时,可能会经常用到其中的设置界面,如下所示: 图1 Android系统中的设置界面     而且对于我们自己开发的一个完整的程序来说,我们也会

zpp119的专栏 586

超分算法 SwinIR: Image Restoration Using Swin Transformer

这篇文章结构比较简单,如果看过Swin-Transformer的话就没什么难点了。作者引入Swin-T结构应用于低级视觉任务,包括图像超分辨率重建、图像去噪、图像压缩伪影去除。网络由一个浅层特征提取模块、深层特征提取模块、重建模块构成。重建模块对不同的任务使用不同的结构。浅层特征提取就是一个3×3的卷积层。深层特征提取是k个RSTB块和一个卷积层构成。RSTB(Res- SwinIR: Image Restoration Using Swin Transformer[ICCV 2021]Abstract1.

qq_45122568的博客 1万+

应用数据存储而不是云存储

百度提供的两项开发平台服务。一个属于端服务(Frontia),一个需要云服务(Cloud),两个都能满足简单的存储服务。 当然,这里的存储服务,和很多免费网盘(比如酷盘)提供的开放API又不是一个概念,酷盘使用Oauth2.0让用户授权,使用用户的免费网盘。 这里的存储服务,跟用户没关系,直接就是开发者的存储空间。这个空间有多大? 明天继续研究,未完待续。。。。

Levin的专栏 1765

FPGA加速SNN实现MNIST手写数字识别的实践与优化

脉冲神经网络(SNN)作为第三代神经网络模型,采用生物启发的脉冲事件驱动机制,在处理时序信号时具有天然能效优势。其核心原理是通过神经元仅在接收足够输入脉冲时激活的稀疏特性,大幅降低计算能耗。在FPGA硬件加速领域,SNN通过量化优化、硬件友好型神经元模型设计等关键技术,可在边缘计算场景实现超高能效比。本文以MNIST手写数字识别为案例,详细解析了从6bit量化策略到双缓冲流水线设计的完整优化路径,最终在Xilinx Kintex-7平台实现97.54%识别准确率的同时,功耗仅231mW,能效比达81,712

weixin_30417487的博客 529

PMSM单电阻采样避坑指南:如何解决非观测区电流重构难题(附ST专利分析)

本文深入解析了PMSM单电阻采样技术中的非观测区电流重构难题,并详细介绍了ST专利方案及移相法的工程实践。通过优化PWM调制策略和系统级调试方法,有效解决了相电流检测精度问题,为电机控制领域的工程师提供了实用的技术指南。

weixin_33737774的博客 631

HarmonyOS开发实例:【数字管家app】

数字管家场景需要手机端、设备端和服务端三方协同完成,本文档介绍的demo是数字管家大场景中的手机端应用;用户注册登录后可创建我的家庭并管理家庭成员;可以添加设备(包括智能台灯,智能窗帘,智能养花机等)并进行配网和控制;添加日程编排、控制设备,从而达到多设备联动的效果;除了控制类设备外,告警类设备还可以检测环境状态,并主动将告警消息通知到家庭成员;

鸿蒙的技术博客 1206

antdv-<a-form>的使用

是 Ant Design Vue 中用于创建表单的组件,提供了一种结构化的方式来收集用户输入。它支持多种布局、验证、数据绑定等功能,非常适合用于处理用户输入和提交数据。

2302_81312344的博客 2617

保障账号安全!闲鱼超级管家WebSocket连接与Cookie刷新机制解析

闲鱼超级管家是在xianyu-auto-reply基础上开发的增强版本,不仅保留了原项目的核心功能,还通过全面重构的前端UI带来更现代化的使用体验。作为一款专业的闲鱼辅助工具,其账号安全机制尤为重要,本文将深入解析WebSocket连接与Cookie刷新的双重保障体系,帮助用户理解如何有效保护账号安全。 ## 为什么WebSocket连接对账号安全至关重要? WebSocket作为一种全双工通

gitblog_01134的博客 1072

从AMCL到SLAM Toolbox:在Nav2中实现高精度纯定位的实践指南

本文详细介绍了从AMCL迁移到SLAM Toolbox纯定位模式的实践指南,帮助开发者在Nav2中实现高精度定位。通过对比AMCL与SLAM Toolbox的性能差异,提供环境配置、参数调优、Nav2集成等关键步骤,显著提升机器人在动态环境中的定位精度和重定位效率。

weixin_29292535的博客 148

QPrintPreviewDialog 打印预览使用实例

qt打印机预览实用demo

啊渊的专栏 3677

解锁闲鱼超级管家隐藏功能:多账号管理与消息过滤规则高级设置

闲鱼超级管家是一款基于xianyu-auto-reply二次开发的高效工具,保留原项目核心功能的同时,通过全面重构的前端UI带来更现代化的使用体验。本文将深入探讨其两大隐藏功能——多账号管理与消息过滤规则高级设置,帮助用户提升闲鱼运营效率。 ## 多账号管理:一站式掌控多个闲鱼账号 ### 账号添加与切换的快速操作 闲鱼超级管家支持同时管理多个闲鱼账号,通过直观的界面实现账号间的无缝切换。在账

gitblog_00134的博客 900

芯片原厂linux驱动开发的分享

大家好,我是XX,来自湖南XX学院,电子信息18级,也曾在创新基地控制组学习过两三年,毕业后就职于一家芯片原厂的解决方案部,担任驱动工程师的职位,算上实习期,我的工作时长已有两年。在此我想将这两年期间学习与积累到的一些经验输出出来,与大家一同分享。知识面有限,只能简单介绍一些驱动开发方向的一些经验,且由于经验尚浅,文中难免会有一些疏漏和错误之处,还请大家积极地批评指正。

嵌入式技术开发 847

如何快速上手闲鱼超级管家?3分钟完成账号配置与自动回复设置

闲鱼超级管家是一款基于xianyu-auto-reply二次开发的高效工具,全面重构了前端UI,提供现代化、专业化的使用体验,帮助用户轻松管理闲鱼账号和自动回复功能。 ## 准备工作:获取项目源码 首先需要克隆项目仓库到本地,打开终端执行以下命令: ```bash git clone https://gitcode.com/gh_mirrors/xia/xianyu-super-butler

gitblog_00820的博客 428

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

小程序云开发--组队小管家

由室友设计,我开发了一个微信小程序 发现里面的功能个人主体的账号无法上线,需要注册企业账号,故开源出来。 下载地址 https://github.com/weiweiyizhi/weapp-team-butler 小程序名:组队小管家 功能:致力于帮助小伙伴们找到得力助手 演示视频:https://6131-a17766476112-b1d334-1257968635.tcb.qcloud.la/...

Hao的博客 2035

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

账号长久不用、归属不明......企业要如何管理这些失控的账号?

因为长期未使用的账号存在密码弱风险、权限过高风险、敏感信息数据未清理风险、处在监控系统“死角”风险、第三方协同风险(未及时解除与第三方应用的绑定或授权)、重要业务风险(长期未使用的账号可能对应重要的业务系统或流程)、系统漏洞风险(缺少维护与更新的操作系统可能关联着长久未使用的账号)、未清理设备风险(这些设备可能绑定过一些长期未使用的账号),等等。这些长时间未使用的账号使用的密码一般都是比较老的或重用的密码,关联密码被泄露的概率也就更大,且大多老账号未使用双因子认证,也未设置安全检查。3. 共享账号风险。

Dsphere_shuying的博客 1115

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

华为钥匙环服务携手航班管家与高铁管家,为两亿出行用户打造美好出行体验

2021年12月14日,HUAWEI Developer Day与开发者们相约深圳,来自航班管家和高铁管家的高级业务总监国萌出席创新开发分论坛,与大家分享如何打通帐号体系,一键链接流量矩阵。 航班管家和高铁管家母公司——深圳市活力天汇科技股份有限公司,是国内最大的独立出行服务平台,先后推出航班管家App、 高铁管家App,注册用户群2.5亿+,为用户提供包括票务服务、航班动态、酒店预订等在内的一站式出行服务。随着出行业务版图扩充,航班管家与高铁管家的产品形态不断丰富,除了App,还通过负一屏卡片、行程助

HarmonyOS SDK闭源开放能力技术团队 1124

Antigravity-Manager:AI 多账号管家 + API 反代

Antigravity-Manager是一款跨平台开源工具,专为管理多个AI服务账号(如OpenAI、Claude、Gemini)而设计。它提供账号管理、协议转换、中继代理等功能,支持与Claude Code CLI等客户端无缝集成。该工具具备OAuth授权、Token导入、健康监控等特性,可通过桌面应用、手动安装或Docker部署。用户可实时查看账号状态,一键切换活跃账号,并通过内置反代服务接入Claude Code CLI。Antigravity-Manager还能实现智能调度、配额管理和请求优先级控制

BugShare的博客 1011

【课程汇总】OpenHarmony全场景Demo数字管家系列课(附链接)

小孩放学了,做作业的时间到,窗帘、护眼灯自动打开,关掉电视和扫地机,给小孩一个安静舒适的学习环境;碰到学习难题,可以随时请求你的远程指导;晚上回家休息了,选择舒适的氛围灯,伴随着睡眠音乐进入梦乡;出门远行,也不担心家里的“多肉”植物和宠物无人照顾……这样的生活体验是不是很棒? OpenHarmony“数字管家”,或许可以实现你的愿望。 OpenHarmony“数字管家”可以将家中的所有成员活动、智能设备统一编排,通过日程编排把涉及到的智能设备串联起来,共同组建不同的场景,打破硬件设备之间的壁垒,

OpenHarmony_dev的博客 1077

计算机毕业设计ssm微信小程序“班级小管家” SSM框架下“班级小管家”微信小程序的设计与实现 基于SSM的微信小程序“班级小管家”开发

班级小管家”微信小程序通过整合SSM框架和微信小程序技术,实现了用户管理、学生管理、教师管理、班级管理、打卡任务管理、作业发布与管理、活动接龙管理、教学资料管理、打卡考勤管理、报名接龙管理、表现评价管理、小红花排行榜管理、聊天论坛以及系统管理等功能。这些功能不仅满足了班级管理的基本需求,还增强了教师与学生之间的互动,提升了班级管理的信息化水平,为班级管理提供了更加高效、便捷的解决方案。注:完成的毕业设计程序以下面的的环境软件、功能图和界面为准。

溪言学姐毕设 1572

车友管家应用平台

摘要 随着汽车保有量增长和智能化需求升级,传统车辆服务模式已无法满足现代车主的高效、个性化需求。车友管家应用平台结合移动互联网、物联网技术及共享经济趋势,提供智能化车辆管理服务(如维修提醒、油耗分析、保险查询等),并支持车主社群互动。政策推动与用户数字化习惯加速了此类平台的发展。 开发采用Java+SpringBoot框架,MySQL5.7数据库,具备前后端分离架构。系统功能涵盖车辆状态监测、服务预约、数据分析等,管理员可通过可视化界面管理用户及服务。核心代码示例展示了文件上传模块的实现,体现平台的技术可行

weixin_63982010的博客 11
上一篇: 关于使用 CardView 开发过程中要注意的细节
下一篇: Android Material Design之CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar
Leafact
博客等级 码龄14年 20粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值