Android6.0-9.0版本适配攻略

Android 屏幕适配全攻略(下)-百变屏幕无压力,这才是Android屏幕适配的终极解决方案 但随着智能手机屏幕形态的不断创新,光靠这些基础做法已经不够,开发者们必须进一步掌握更多专业的适配技巧,才能应对屏幕百变的挑战。需要注意的是,不同的可折叠设备可能会有不同的窗口模式支持,开发者需要根据具体的设备和场景进行适配和调整。同时,可以利用 Android Studio 的设备模拟器来进行测试和调试。: 这个 API 可以让开发者获取到屏幕上的"凹槽"区域的信息,包括位置、尺寸等,从而可以更好地适配应用界面。通过这种方式,我们可以确保应用的界面能够完美适配异形全面屏,不会出现内容被"凹槽"遮挡的问题。 阅读详情

众所周知,Android版本更新飞快,各个版本都有一些新的特性增加,这就出现了许多坑,导致了开发者要不断进行适配,下面我就来谈谈从Android6.0到Android9.0主流特性的适配过程。

Anrdoid 6.0

1.动态权限

Android 6.0最大的更改就是动态权限申请,详细的说明请查看我的另一篇博客:Android开发之Android6.0权限管理

2.弃用HttpClient

Android6.0以后,AndroidSDK已经不再使用Apache Http的相关api,如果你的项目需要使用HttpClient,需要在app的build.gradle文件添加如下配置:

defaultConfig {
        useLibrary 'org.apache.http.legacy'
}

注:Android 9.0之后已经完全移除了对Apache HTTP 客户端的支持,即时你配置了上面的也不起作用,详情请看下面Android9.0的适配。

Android 7.0

Android7.0在6.0的基础上对权限这一块更加严格地控制,主要体现有:

1.应用间共享文件

如果你的应用想要通过Intent访问本地文件(夹),那么在Android7.0或许会报这个错android.os.FileUriExposedException。

这是因为,7.0禁止了应用间文件的直接访问,具体解决方案请看:安卓7.0报错android.os.FileUriExposedException

2.App新签名方案V2

Android 7.0 引入一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。在默认情况下,Android Studio 2.2 以上和Gradle 2.2 以上会使用 APK Signature Scheme v2 和传统签名方案来签署您的应用。

在应用打包时,必须勾选上两个

1)只勾选v1签名就是传统方案签署,但是在7.0上不会使用V2安全的验证方式。
2)只勾选V2签名7.0以下会显示未安装,7.0上则会使用了V2安全的验证方式。
3)同时勾选V1和V2则所有版本都没问题。

3.SharedPreferences问题

//Context.MODE_WORLD_READABLE:7.0以后不推荐使用这个,已经过时,这个也属于应用间共享文件的范畴,修改成MODE_PRIVATE
SharedPreferences sp = context.getSharedPreferences("key", Context.MODE_WORLD_READABLE);

MODE_WORLD_READABLE在安卓7.0后的api不再推荐使用,如果需要共享应用间配置,推荐使用ContentProvider或者Broadcast。

Android 8.0

1.新增权限

PHONE权限组新增两个权限:

android.permission.ANSWER_PHONE_CALLS:允许您的应用通过编程方式接听呼入电话。要在您的应用中处理呼入电话,您可以使用 acceptRingingCall() 方法。

android.permission.READ_PHONE_NUMBERS:允许您的应用读取设备中存储的电话号码。

安装未知来源应用的权限:

android.permission.REQUEST_INSTALL_PACKAGES:允许安装未知来源的应用

这样系统会自动询问用户完成授权。当然你也可以先使用 canRequestPackageInstalls()查询是否有此权限,如果没有的话使用Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES这个action将用户引导至安装未知应用权限界面去授权。

 private void installAPK(String apkPath){
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            boolean hasPermission = getPackageManager().canRequestPackageInstalls();
            if (hasPermission) {
                //安装应用
                install(apkPath);
            } else {
                //跳转至“允许安装未知应用”权限界面,引导用户开启权限
                Uri packageUri = Uri.parse("package:" + this.getPackageName());
                Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageUri);
                startActivityForResult(intent, 101);
            }
        }else {
            //安装应用
            install(apkPath);
        }
    }
    
    private void install(String apkPath){
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        Uri uri = null;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            uri = FileProvider.getUriForFile(this, getApplicationContext().getPackageName() + ".provider", new File(apkPath));
        } else {
            uri = Uri.fromFile(new File(apkPath));
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        }
        intent.setDataAndType(uri, "application/vnd.android.package-archive");
    }

2.Notification的变更

Notification这个东西是我觉得变化的最频繁的,一个版本一个api,十分坑爹。

Android 8.0 新增了NotificationChannel来区别不同渠道的通知。

下面是代码示例:

   /**
     * 使用一个ID来标识不同渠道,在手机中可以禁止接收来自某个渠道的通知
     */
    public static final String CHANNEL_ID = "test";

    private void showNotify(int progress) {
         NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            //先创建一个新渠道:渠道ID,渠道名称,渠道重要性
            NotificationChannel channel = new NotificationChannel(CHANNEL_ID, "channel_name", NotificationManager.IMPORTANCE_LOW);
            channel.enableVibration(false); //对于持续性的通知,有些手机会不断地震动和发出提示音,建议禁用
            channel.enableLights(false); //禁止灯光闪烁提示
            channel.setSound(null, null);
            manager.createNotificationChannel(channel);
        }

        NotificationCompat.Builder notifyBuilder = null;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {//8.0之后,使用渠道,必须使用已经存在的渠道ID
            notifyBuilder = new NotificationCompat.Builder(this, CHANNEL_ID);
        } else {
            notifyBuilder = new NotificationCompat.Builder(this);
        }
        notifyBuilder.setSound(null); //禁用提示音,对于持续性的通知,有些手机会不断地震动和发出提示音,建议禁用
        notifyBuilder.setSmallIcon(getResources().getIdentifier("ic_launcher", "mipmap", getPackageName()));
        notifyBuilder.setPriority(NotificationCompat.PRIORITY_HIGH); //优先级
        notifyBuilder.setVisibility(Notification.VISIBILITY_PUBLIC);
        notifyBuilder.setShowWhen(true);
        notifyBuilder.setOnlyAlertOnce(true);//只提示一次
        notifyBuilder.setContentTitle("下载中...");
        notifyBuilder.setAutoCancel(false);
        notifyBuilder.setOngoing(true);
        notifyBuilder.setProgress(100, progress, false);

        Intent intent =new Intent(this, MainActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        notifyBuilder.setContentIntent(pendingIntent);

        Notification notification = notifyBuilder.build();
        notification.priority = Notification.PRIORITY_HIGH;
        manager.notify(100, notification);
    }

3. 静态广播无法正常接收

Android 8.0 引入了新的广播接收器限制,导致需要移除所有为隐式广播 Intent 注册的广播接收器,使用动态广播代替静态广播。

4.Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

 Android 8.0 非全屏透明页面不允许设置方向(后面8.1系统谷歌就去掉了这个限制)

解决方案:

(1)android:windowIsTranslucent设置为false

(2)如果还是想用的话,就去掉清单文件中Activity中的android:screenOrientation这个配置项,

Android 9.0

1.CLEARTEXT communication to life.115.com not permitted by network security policy

Android P 限制了明文流量的网络请求(普通的http请求),非加密的流量请求都会被系统禁止掉。

解决方案:在资源文件新建xml目录,新建文件network_security_config.xml:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

AndroidManifest配置:

<application
        android:networkSecurityConfig="@xml/network_security_config">
        <uses-library
            android:name="org.apache.http.legacy"
            android:required="false" /><!-- Android P添加对ApacheHttp的支持 -->
</application>

不过还是建议后台的接口都使用https来传递数据会更安全。

针对Android9.0之后的更多适配可看:AndroidP适配指南(必看)

好了,以上就是我遇到过的Android适配的问题,加上一些大神的经验,肯定还不算完整,以后遇到了再补充。

S905L3/L3B刷安卓9.0固件与IPV6优化全攻略 安卓9.0固件刷机是电视盒子性能提升的常见技术手段,其原理是通过线刷工具将轻量系统镜像写入eMMC闪存,替换原厂老旧系统,从而释放硬件潜力。技术价值在于解决应用兼容性差、系统卡顿等问题,并支持IPV6网络优化,提升流媒体传输效率。典型应用场景包括运营商退网盒子改造、老旧设备复活为流媒体终端或模拟器主机。以晶晨S905L3/L3B芯片为例,刷入安卓9.0固件并适配当贝桌面4.0,可显著改善操作流畅度,同时通过IPV6配置降低网络延迟,实现设备满血复活。 阅读详情

相关推荐

烽火HG680-KB刷安卓9.0全攻略:从卡刷到线刷救砖

安卓9.0是海思Hi3798MV310芯片机顶盒在性能与兼容性之间的最佳平衡点,1GB运存下运行流畅,且能自由安装第三方应用。刷机原理是通过卡刷、线刷或TTL方式替换原厂系统分区,从而解除运营商限制、提升响应速度。技术价值在于释放硬件潜力,让老旧机顶盒焕新为轻量级媒体播放器。典型应用场景包括家庭网络电视、老人观影设备及流媒体播放。烽火HG680-KB正是这一方案的典型代表,其刷机流程涵盖固件选型、工具准备、卡刷实操及线刷救砖,实测可显著改善开机广告与操作延迟问题。

weixin_28678831的博客 310

Android 版本适配:9

blacklist(黑名单):无论 targetSdkVersion 为多少,只要应用运行在 Android 9.0 平台上,访问此名单中的接口都会受限 3.2 如何测试应用是否使用非 SDK 接口 可以通过以下方式进行测试(详情请至[官方文档](()): 使用 Android 9.0 或更高版本的设备调试应用 使用 StrictMode API 进行测试 使用 veridex 工具对应用进行扫描 建议使用第三种方式,该工具的扫描结果会列出应用对于三个限制名单中的接口的调用细节。 4. 前台服务权限.

m0_67598977的博客 817

Android启动页适配与.9.png制作全指南

启动页(Splash Screen)是移动应用用户体验的关键组成部分,承担着品牌展示和初始化缓冲的重要功能。在Android开发中,启动页适配涉及屏幕密度、宽高比例等多维度参数,需要掌握.9.png制作和多种技术方案。.9.png作为Android特有的可拉伸图片格式,通过定义拉伸区域和内容区域,能够完美适配不同屏幕尺寸。本文深入解析从传统Activity方案到Android 12+新规范的实现原理,特别针对华为EMUI、小米MIUI等定制系统的适配难题提供解决方案,帮助开发者优化启动性能,提升用户体验。

weixin_30412167的博客 362

Android 9 适配

所有应用:无论 targetSdkVersion 是否小于 28,都需要修改应用以正确支持这些变更。 API 28+ 应用的行为变更:指 targetSdkVersion 为 28 或更高的应用。 一: 所有应用 1. 后台对传感器的访问受限 为了增强用户隐私,Android 9 限制后台应用访问用户隐私数据,如麦克风或摄像头、连续报告模式的传感器(加速度计和陀螺仪)、如果需要在运行 Android 9 的设备上检测传感器事件,请使用前台服务。 2. 限制访问通话记录 如果需要访问通话记录或者需要处理去电,

耐心的L的博客 572

Android开发者必看:Mock Location功能实现全攻略(适配Android 11/10/9)

本文为Android开发者提供了实现Mock Location功能的完整指南,重点适配Android 11/10/9等新版本系统。文章详细解析了模拟位置的核心机制、权限演进,并给出了从权限声明、创建Mock Location Service到多版本适配的实战代码,帮助开发者高效解决测试中地理位置模拟的难题。

weixin_29230865的博客 1221

Android P适配经验总结

Android组件与权限适配要点 四大组件适配: Activity启动需注意任务栈问题,非Activity组件启动Activity必须添加FLAG_ACTIVITY_NEW_TASK标志 Service禁止隐式启动,需显式指定包名和类名或使用setPackage方法 前台服务需添加FOREGROUND_SERVICE权限 静态广播接收受限,推荐使用动态注册方式 ContentResolver数据更新需配置对应Provider 权限与安全适配: 危险权限需运行时动态申请。

学无止境 1326

android 9.0适配

针对所有应用的行为变更 以下行为将会影响所有的应用,无论targetSdkVersion值为多少 隐私权变更 1.后台对传感器的访问受限 如果您的应用在运行 Android 9 设备的后台运行,系统将对您的应用采取以下限制: 您的应用不能访问麦克风或摄像头 使用连续报告模式的传感器(例如加速度计和陀螺仪)不会接收事件。 使用变化或一次性报告模式的传感器不会接收事件。 如果您的应用需要在运行 Android 9 的设备上检测传感器事件,请使用前台服务。 2.限制访问通话记录 Android 9

weixin_41722852的博客 956

麦克风声源定位原理_声源定位—如何定位到噪声根源?

前言TPA(传递路径分析)专题系列已经开篇。其遵循方法论:源(Source)——路径(Path)——响应(Receiver)有人说TPA好,它可以识别出路径处甚至源的载荷特征,可以量化各个路径的贡献量。有人说声源定位好,不管东西南北中,“源”自其中。但是,声源定位识别出来色彩丰富的一个结果,这结果被您拿来应付工作了,还是真正帮您解决了问题?声源定位定位到了噪声的根源了么?对于一些声源现,...

weixin_39943678的博客 3973

安卓9.0新特性与开发适配

本文将重点介绍该版本特性中部分需要开发适配的部分。 背景:谷歌在GoogleI / O 2018 上终于发布了Android 9.0。 权限相关 1、后台对传感器的访问受限 Android 9 限制后台应用访问用户输入和传感器数据的能力。 如果您的应用在运行 Android 9 设备的后台运行,系统将对您的应用采取以下限制: 您的应用不能访问麦克风或摄像头。 使用连续报告模式的传感器(...

u013773608的博客 1056

【OpenCV】复杂场景下的高精度圆检测实战(附完整代码)

本文针对OpenCV霍夫圆检测在复杂场景下易失效的问题,提出了一套基于轮廓分析的高精度圆检测实战方案。通过图像预处理、轮廓发现及多轮几何筛选(面积、周长、椭圆拟合、多边形逼近),有效排除噪声和类圆干扰物,显著提升复杂场景下的检测鲁棒性,并附完整可调参的Python代码实现。

weixin_29095587的博客 200

别再混淆了!一张图看懂SAP特殊采购类30/40/70/80的区别与选型指南

本文深度解析SAP特殊采购类30/40/70/80的核心逻辑与业务影响,通过对比框架和真实案例帮助用户掌握其适用边界。重点介绍委外加工(类型30)、工厂间转移(类型40/70)及计划与执行分离(类型80)的配置要点与常见问题,提供选型决策树和实施检查清单,助力企业优化供应链管理。

weixin_26938645的博客 453

Android 9.0 适配指南

又到了我一年一度写Android适配文章的时间,本身这篇应该会早几个月发出来,但是前两三个月主要忙于Flutter的项目,所以这篇文章才姗姗来迟。不过毕竟是9.0的适配,还不算太晚哈! 1.前言 从去年开始就有消息说,应用上架或者更新要求TargetSdkVersion最低要为26以上,也就是最低也要适配到8.0。那么今年来也都逐步地开始落实。比如下图的小米应用商店公告: 包括从8月份开始在...

唯鹿的博客 1万+

大数据平台符合信创(CDH国产化代替)详细方案(企业内部不外传方案)

信创旨在实现信息技术产业的自主可控,减少对外部技术的依赖,从而提升国家信息安全和经济发展的自主性。在此背景下,中国对信创提出了更高的要求,以期在激烈的市场竞争中占据有利地位。信创不仅关乎技术层面的创新,更涉及到产业链条的整合与优化。它要求从基础硬件、操作系统、数据库、中间件等各个层面实现国产替代,构建完整的信息技术生态体系。尤其是在做国企项目时,就有硬性要求使用符合信创(国产代替)。在信创背景下,符合要求的产品必须具备自主可控、安全可靠以及性能卓越等核心特点。

大模型大数据攻城狮的专栏 3510

Android各版本适配攻略(6.0-10.0)

安卓适配总结(6.0到10.0)

ruanyandong的博客 822

基于 YOLOv8 的自动驾驶车辆障碍物检测与避障路径规划

本文探讨基于YOLOv8的自动驾驶车辆障碍物检测与避障路径规划系统。在感知层面,采用YOLOv8模型实现多类别障碍物识别,结合单目视觉距离估计和ByteTrack多目标跟踪算法,完成障碍物的稳定检测与运动状态估计。在路径规划层面,设计分层规划架构,融合全局路径规划与局部避障算法,重点实现Frenet坐标系下的采样优化算法和基于模型预测控制的实时避障轨迹生成。通过完整的代码实现与仿真实验,验证系统在复杂交通场景下的有效性与实时性,为自动驾驶开发者提供从理论到实践的完整技术参考。 关键词:YOLOv8;自动驾驶

huanghm88的专栏 251

【PostgreSQL教程】PostgreSQL 特别篇之 语言接口Java

本篇教程的Java程序中开始使用PostgreSQL之前,需要确保在计算机上设置了PostgreSQL JDBC和Java。您可以检查Java教程以在计算机上安装Java。现在让本篇教程检查如何设置PostgreSQL JDBC驱动程序。

No8g攻城狮的博客 1758

Android 15适配攻略

本文介绍了Android 15适配的五个关键点:1)Gradle插件版本升级至8.9;2)强制模块化开发中为每个模块指定namespace;3)R资源引用需带包名,但建议暂缓适配;4)Android 15强化了R8混淆检查,建议关闭全模式;5)edge-to-edge风格强制全屏展示,可通过设置主题临时禁用。这些改动涉及构建工具、模块化开发、资源引用和UI适配等多个方面,部分变更需要较大工作量,文中提供了临时解决方案以便逐步过渡。

JavaKing1的博客 384

【感知模块算法】障碍物detect+trace+prediction方向介绍

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、多维度看感知问题,体会复杂性二、障碍物/环境目标detect方向1.视觉目标检测方向(1)图像处理认知(2)视觉基础理论部分1、获取数据集---python网页爬虫、买数据、自己录数据、使用开源比赛的数据集2、opencv库的学习3、深度学习框架学习(3)视觉目标检测理论(1)目标检测的概念(2)目标检测的应用场景(3)现有目标检测框架原理及论文【这仅仅是我当初入门学习的框架~

qq_35635374的博客 2894

EhViewer安卓画廊浏览器:高效阅读与下载管理全攻略

在移动设备上浏览和管理E-Hentai画廊内容,EhViewer提供了完美的解决方案。这款专为Android平台设计的开源应用程序,让用户能够轻松访问、浏览和下载各类画廊资源,享受流畅的阅读体验。 ## 📱 应用特色与核心功能 EhViewer采用经典的Material Design 2界面风格,为用户带来直观且美观的操作体验。该应用支持多种实用功能: - **智能画廊管理**:自动分类和

gitblog_00142的博客 1万+

TI硬件笔试面试题型解析上

摘要: 本专栏聚焦大厂硬件笔试面试题解析,当前第14期以德州仪器(TI)为例,涵盖模拟电路与数字电路核心考点。模拟电路部分涉及最大功率传递定理、运放设计(虚短/虚断)、共模抑制比(CMRR)及高频PCB信号完整性;数字电路包括CMOS与TTL对比、建立/保持时间、竞争冒险消除、D触发器分频及“线与”逻辑实现。文章强调通过例题掌握解题方法与知识点,助力读者应对硬件工程岗位的笔试与面试挑战,附常见考点总结与实用建议。全文注重理论与实践结合,提供典型题型解析与设计思路。(150字)

启芯硬件的博客 951

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

晶晨S905L3A免拆刷机原理与安卓9.0适配全解析

晶晨S905L3A是广电定制终端常用SoC,其BootROM内置USB Download Mode机制,支持免拆线刷,本质源于芯片级启动链设计——上电即检测USB握手协议,绕过eMMC依赖。该能力需匹配特定VID/PID模拟、BlockSize=4096传输协商及OTP偏移识别等底层技术,构成‘免拆’可行性基础。在安卓9.0固件适配中,须同步解决BootROM签名绕过与AVB2.0降级双重校验,并修复RPMB密钥、NEC红外驱动、eMMC坏块管理等广电业务强相关问题。本文聚焦S905L3A(B)芯片特性,覆

weixin_34121282的博客 412

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Android齐刘海适配完全攻略

Apple 一直在引领设计的潮流,自从 iPhone X 发布之后,"刘海屏" 就一直存在争议。但用户体验的提升,越来越多的Android厂家逐渐开始在自家旗舰机上使用刘海屏,尤其是 Android P 发布之后,也从系统级支持凹槽屏幕设计。 目前在国内比较常见的就是 OPPO x21 和 华为 P20。对于刘海屏,在享受其带来的视觉体验上的同事,我们也要对自家APP做相应的适配,才能最大化的利...

lizhong 2573

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Android版本适配(持续更新)

6.0 7.0 8.0 9.0

wayNN_C的博客 711

android 9 一加6,一加6值得升级安卓9吗?安卓9更新内容汇总

8月7日,谷歌正式推送第九个Android大版本,也就是Android P,拥有全新的操作手势和界面。之前小米MIX 2S已经能升级到基于Android P的MIUI 10 8.8.7内测版,成为国内首款升级到Android P的手机。8月14日深夜,一加官方在论坛公告表示,一加6的Android 9.0公测版正式更新,同时放出了ROM。一加6的Android P主要更新了系统界面、新增Andro...

weixin_33201531的博客 274

从Android 1.0到Android 11:SDK版本演进史与开发适配全攻略

本文系统梳理了Android系统从1.0到11的SDK版本演进历程,重点解析了minSdkVersion、targetSdkVersion和compileSdkVersion三大关键配置的协同作用与适配策略。文章提供了针对分区存储、后台权限等新特性的实战适配方案,旨在帮助开发者构建兼顾兼容性与先进性的健壮应用架构。

weixin_29218963的博客 538

VirtualApp 悬浮窗权限跨版本适配全攻略:一次搞定 Android 6 到 14 的兼容难题

深夜十一点,运营同事在群里连发三条消息:"双开的应用挂后台两小时,悬浮球不见了""用户反馈 Android 14 上悬浮窗显示不了""还有台 Android 8 的机器,悬浮窗弹出来就闪退"。这三个问题指向同一个技术债——**悬浮窗权限在不同 Android 版本下的管理规则完全不同**,而 VirtualApp 作为一款 Android 虚拟引擎(通过 Hook 系统服务为应用提供隔离运行环境,

gitblog_00378的博客 180
上一篇: Java实现DES加密解密
下一篇: 支持笔锋效果的手写签字控件
程序猫King
博客等级 码龄14年 5580粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猫King

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值