Android中如何获取GPS数据

Android GPS 定位服务(二) Log.e("Location", "定位方式:" + location.getProvider());Log.e("Location", "经度:" + location.getLongitude());Log.e("Location", "纬度:" + location.getLatitude());Log.e("Location", "海拔:" + location.getAltitude());Log.e("Location", "时间:" + location.getTime()); 阅读详情

作者:高天辰

         GPS是Android系统中重要的组成部分,通过它可以衍生出众多的与位置相关的应用。

Android的GPS有一个专门的管理类,称为LocationManager,所有的GPS定位服务都由其对象产生并进行控制。

首先需要明确的是,LocationManager类的对象获取并不是直接创建的,而是由系统提供的,具体来说,通过如下方法,为一个LocationManager对象建立一个对象引用:


LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);


至此,我们可以用locationManager这个对象对任意有关GPS的功能进行操作了。下表列出了几个常用的成员方法:

方法及其签名

描述

List<String> getAllProviders()

获取所有与设备关联的定位模块的列表

String getBestProvider(Criteria, boolean)

获取设定的标准(Criteria对象)中最适合的一个设备

GpsStatus getGpsStatus(GpsStatus)

获取GPS当前状态

Location getLastKnownLocation(String)

获取最近一次的可用地点信息

boolean isProviderEnabled(String)

判断参数所提及的设备是否可用


GPS还有一个支持API,即Location,它的作用是一个代表位置信息的抽象类,用它可以获取所有的位置数据:


方法及其签名

描述

double getAltitude()

获取当前高度

float getBearing()

获取当前方向

double getLatitude()

获取当前纬度

double getLongitude()

获取当前经度

float getSpeed()

获取当前速度

 

我们可以用以上的方法开始进行定位。

可以将地点信息传递给一个Location对象:

Locationlocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

       我们还可以调用以下函数,对每次更新的位置信息进行我们想要的操作:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000, 10, new LocationListener())

       其中,第一个参数是LocationProvider对象,第二个参数是刷新的时间差,这里设定为1秒,第三个参数是位置差,这里设定为10米,第四个参数为一个位置监听器对象,它必须实现4个方法:

n  public void onLocationChanged(Location location)

n  public void onProviderDisabled(String provider)

n  public void onProviderEnabled(String provider)

n  public void onStatusChanged(String provider, int status, Bundleextras)

       可以重写这些方法来实现我们的需求。

       当我们使用模拟器进行测试的时候,由于模拟器无法获取地理位置,所以必须用Emulator的位置控制器进行设置:



最终的结果如图所示:




       代码如下所示:


package org.timm.android;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.EditText;

public class LocationTryActivity extends Activity {
	EditText text;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        final LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        text = (EditText)findViewById(R.id.textShow);
        Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
        showLocation(location);
        
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10, new LocationListener(){

			public void onLocationChanged(Location location) {
				// TODO Auto-generated method stub
				showLocation(location);
			}

			public void onProviderDisabled(String provider) {
				// TODO Auto-generated method stub
				showLocation(null);
			}

			public void onProviderEnabled(String provider) {
				// TODO Auto-generated method stub
				showLocation(locationManager.getLastKnownLocation(provider));
			}

			public void onStatusChanged(String provider, int status, Bundle extras) {
				// TODO Auto-generated method stub
			}
        	
        });
    }
    
    public void showLocation(Location currentLocation){
    	if(currentLocation != null){
	    	String s = "";
	    	s += " Current Location: (";
	    	s += currentLocation.getLongitude();
	    	s += ",";
	    	s += currentLocation.getLatitude();
	    	s += ")\n Speed: ";
	    	s += currentLocation.getSpeed();
	    	s += "\n Direction: ";
	    	s += currentLocation.getBearing();
	    	text.setText(s);
    	}
    	else{
    		text.setText("");
    	}
    }
}


    最后一点需要说明的是,需要在AndroidManifest.xml中设置许可:

<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION" />


Android获取位置信息的方法 本文实例为大家分享了Android获取位置信息的具体代码,供大家参考,具体内容如下 1.位置服务的简介:位置服务,英文翻译为Location-Based Services,缩写为LBS,又称为定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供与空间位置相关的综合应用服务,基于位置的服务发展很迅速,涉及商务、医疗、工作和生活的各个方面,为用户提供定位、追踪和敏感区域警告等一系列服务。比如谷歌地图,百度地图,都需要通过位置服务。 2.Android平台下支持提供位置服务的API,在开发过程中主要用到LocationManager和LocationProviders对象: 立即下载

相关推荐

Clion编译stm32cube初始化工程时non constant or forward reference address expression for section .ARM.extab报错

相信应该有同学在看了稚晖君关于clion开发stm32的文章之后也想在自己PC上实现“优雅の嵌入式开发”遇到和我类似的问题。他的文章是22年写的,我个人猜测应当是版本更新导致的不适配。意思就是说 READONLY 只能在gcc11以后的版本中使用,gcc10及以前的版本将无法正确识别,也就有如下错误。或者就可以将gcc升级至最新的版本。记得在clion工具链中修改c,cpp编译器的位置。可以将文本括号中的 READONLY 全部删除。当时由于没有注意到这行注释导致在这里卡了好久。

2301_77256849的博客 2510

Android之 获取定位信息总结

获取定位信息总结

qq_29848853的博客 9356

ADS新手必看:5分钟搞定Smith圆图阻抗匹配(附详细操作截图)

本文为射频电路设计新手提供了在ADS软件中快速使用Smith圆图进行阻抗匹配的实战指南。通过清晰的步骤和操作截图,详细演示了如何从负载阻抗点出发,通过添加电感和电容元件,在5分钟内完成向50欧姆标准阻抗的匹配,并介绍了仿真验证与性能调优的方法,帮助工程师和学生直观掌握这一核心技能。

weixin_29261711的博客 392

Android - GPS的简单应用

关于GPS卫星信息的获取,网上很多类似文章但都是只能用于安卓7.0以下的,在这里将安卓7.0以下的方法和安卓7.0以上的方法做个总结,安卓7.0以下用GpsStatus.Listener,安卓7.0及以上版本用GnssStatus.Callback

2301_77563065的博客 4501

BUPT软件安全实验三

可以看出栈溢出对程序运行的安全性有很大的威胁,如果不对栈进行保护,只要系统中存在栈溢出漏洞,即可令攻击者通过非正当方法获取操作权限。(6)解决思考题,即:在不修改StackOverrun程序源代码的情况下,构造shellcode,通过JMP ESP的方式实现通过记事本打开shellcode.txt(可使用CreateProcessA或WinExec等API)。查看缓冲区信息,可以看到dest指向地址0x0012FAF0,其为数组的存放起始位置,也就是shellcode注入的起始位置。

7xun's space 1965

电路仿真软件PSIM简介

PSIM的基本使用操作...

qq_55203246的博客 7174

Android中如何使用GPS

还有一个API是LocationProvider,他不是Android中的类,而是 Android 系统中的一个抽象类,定义了位置提供者的标准接口,它的实现类用于提供位置信息。PASSIVE_PROVIDER 返回的位置是通过其他 providers 产生的,可以查询 getProvider() 方法决定位置更新的由来,需要 ACCESS_FINE_LOCATION 权限,但是如果未启用 GPS,则此 provider 可能只返回粗略位置匹配;注册位置监听器,以获取 provider 的位置更新。

m0_56366502的博客 5329

Dzzoffice结合OnlyOffice 报错排查流程总结

首先访问 OnlyOffice 首页,如下图:出现上图仍旧不能说明你的 OnlyOffice 服务已经成功安装,我们需要启动 OnlyOffice 服务测试用例来检测,可以看到上图出现了两条命令,第一条命令是用来启动测试用例服务的,我们只需要在后台执行该命令即可,Windows环境是以管理员身份运行Windows PowerShell输入即可运行了。

小胡的博客 4597

Andorid获取原生GPS定位信息

Android 原生GPS定位

简单玩家丶的博客 2038

C++之2048小游戏 第二期

游戏会有初始化、绘制界面、处理输入、更新游戏状态、判断胜负等部分。所以,可能需要一个二维数组来表示4x4的网格,存储每个格子的数值。然后,需要处理键盘输入,尤其是方向键的控制,这可能需要使用EasyX的键盘事件处理函数。然后,关于图形绘制部分,每个格子的大小、颜色、数字的显示都需要设计。不同的数字对应不同的颜色,比如2是浅色,4稍深,以此类推。可能需要一个函数根据数字的值返回对应的颜色,然后在绘制时调用。接下来,处理数字的移动和合并逻辑。这是比较复杂的部分。

Lucky_Glory的博客 804

[ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429

[ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429 可以使用一些编码字符来制作URI,以访问WEB-INF目录的内容和/或绕过一些安全限制。默认合规模式允许带有包含 %u002e 段的 URI 的请求访问WEB-INF目录中的受保护资源。

qq_51577576的博客 3208

android gps原始数据格式,Android编程获取GPS数据的方法详解

本文实例讲述了Android编程获取GPS数据的方法。分享给大家供大家参考,具体如下:GPS是Android系统中重要的组成部分,通过它可以衍生出众多的与位置相关的应用。Android的GPS有一个专门的管理类,称为LocationManager,所有的GPS定位服务都由其对象产生并进行控制。首先需要明确的是,LocationManager类的对象获取并不是直接创建的,而是由系统提供的,具体来说,...

weixin_30587041的博客 1091

SecOC专题之新鲜值TripCnt

本系列为一步步拆解新鲜值的分发及管理而撰写文章属于原创,根据自身开发经验及理解撰写,若有错误请指出Trip Counter是新鲜值中变化最慢的一个part,并且自增到最大值时,会从头开始翻转计数。Trip Counter需要收发双方都保存,由于其变化较慢,所以不会经常进行同步该值。这就要求开发过程中保证每次对该值的读写必须要正确。

qq_22969363的博客 1154

Android GPS数据获取记录

车机平台Android4.4.3 车机GPS实测数据日志如图: /** 车载GPS实测数据日志 I/AutoTestLog-->NaviManager( 522): longitude:114.01005166666667 // 经度 I/AutoTestLog-->NaviManager( 522): latitude:22.644654999999997 // 纬度 ...

Jonhliu163的博客 1525

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

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

Android-获取GPS数据方法

Android API中提供了获取位置信息的方法,可以获取GPS的经纬度,速度,高度等。 首先通过LocationManager类来获取设备有哪些相关的位置提供商。 下面为获取位置提供商的代码: locationManager = (LocationManager) getContext().getSystemService(Context.LOCATION_SERVICE); List p

HRONG0128的博客 6675

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android gps 获取方位_android通过gps获取定位的位置数据和gps经纬度

package com.action.android_test;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.app.Activity;i...

weixin_39980353的博客 295

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android获取GPS定位数据

本身也是从事GPS开发,所以就把Android手机中获取自身GPS定位数据的方法,写了一个小工具,把获取到的GPS数据保存到SQLite数据库中,同样也可以定义一个通讯协议,用UDP或者TCP的方式发送出去,做一个PC上的服务,然后在地图上面显示出来,不多说了,先上图(真实手机的测试图片)源代码下载地址:http://u.115.com/file/f8981b0e93请各位多多指教

alimyso的专栏 1万+

android gps 获取方位_Android通过gps获取定位的位置数据和gps经纬度

Android通过gps获取定位的位置数据和gps经纬度的代码如下package com.action.android_test;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bun...

weixin_39718890的博客 590

Delphi获取Android下GPS的NMEA 0183数据

Delphi获取Android下GPS的NMEA 0183数据

weixin_33748818的博客 331

android通过网络获取gps定位,android通过gps获取定位的位置数据和gps经纬度

package com.action.android_test;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.app.Activity;i...

weixin_32568113的博客 526

android gps 卫星数据格式,Gps开发实战——卫星数量获取

卫星数量有两种:卫星总数(all),和已校准卫星数(fixed);卫星数量来源于gps定位数据,gps数据来源又有两种:内置gps和外接gps设备。一、内置gps数据来源的计算方式开始启用内置gps时,通过LocationManager.addGpsStatusListener()api,监听gps状态,在监听的回调中计算卫星数量,代码:mGpsStatusCallback = new GpsSt...

weixin_39979617的博客 1627

android获取解析GPS数据

package title.navi.Location.Impl; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http

give me five 2199

Android如何以后台Service的方式获取GPS数据

在配备Android系统的手机中,一般都配备了GPS设备。Android为我们获取GPS数据提供了很好的接口。本文来说一下如何使用Android获取GPS的经纬度。 1 从Service继承一个类。2 创建startService()方法。3 创建endService()方法 重载onCreate方法和onDestroy方法,并在这两个方法里面来调用startService以及endServic...

weixin_30587927的博客 934

调用Android gps数据初始化,获取Android gps系统服务

【代码】调用Android gps数据初始化,获取Android gps系统服务。

chengzhenjia的博客 421

python获取gps数据_python获取android设备的GPS信息脚本分享

在android上,我们可以使用QPython来编写、执行Python脚本。它对很多android系统函数进行了方便的封装,使用QPython编写功能简单的小程序异常方便。这个示例是我之前用来读取手机位置信息并作为进一步处理数据的基础脚本。# -*- coding: utf-8 -*-import androidhelperimport timefrom math import radiansdr...

weixin_33286939的博客 1435

java解析手机经纬度数据_android通过gps获取定位的位置数据和gps经纬度

package com.action.android_test;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.app.Activity;i...

weixin_39954698的博客 289
上一篇: 利用service实现音乐的后台播放
下一篇: 如何修改原有的Android应用和添加应用
pku_android
博客等级 码龄15年 450粉丝 151原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值