avatar
文章
97
标签
33
分类
13
首页
归档
标签
分类
友链
关于
Fleming's Blogip定位 返回首页
搜索
首页
归档
标签
分类
友链
关于

ip定位

发表于2022-02-08|更新于2022-02-08|经验
|浏览量:

1、自有搭建
IP 定位框架 GeoIP2 for Java:
https://blog.csdn.net/GodSuzzZ/article/details/108095385
官网:
https://www.maxmind.com/en/geoip2-services-and-databases
py:
https://pypi.org/project/geoip2/#description

2、免费转接
寻找免费获取ip信息站点经过我们自己服务转一下
https://ipapi.co/218.104.82.74/json

3、付费接口
https://timezoneapi.io/api/ip/?token=aeLjNqtdVzUgQeiYumTC

文章作者: Fleming Chen
文章链接: https://flemingme.github.io/2022/02/08/%E7%BB%8F%E9%AA%8C/ip%E5%AE%9A%E4%BD%8D/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Fleming's Blog!
经验
If you like my article, you can reward me to support my writing.
  • wechat
    wechat
  • alipay
    alipay
上一篇
Kotlin语法糖
Kotlin语法糖Kotlin 是一种现代编程语言,它引入了许多语法糖和特性,旨在提高代码的简洁性和可读性。以下是一些 Kotlin 中常用的语法糖和特性: 1. 数据类(Data Classes)Kotlin 的数据类自动生成常见的方法,如 equals(), hashCode(), toString(), copy() 等。 1data class User(val name: String, val age: Int) 2. 属性委托(Property Delegates)属性委托允许你将属性的 getter 和 setter 代理给另一个对象。 12345class User { var name: String by Delegates.observable("John Doe") { prop, old, new -> println("$old -> $new") }} 3. 智能转换(Smart Casts)Kotlin 的智能转换允许你在类型...
下一篇
图片下载及保存
图片下载及保存 确定文件的下载路径,context.getExternalFilesDir(“images”),即app外部存储的files路径,无须动态权限声明 创建URL对象,val url = URL(path),由图片的下载地址创建 通过url.openConnection()打开连接,获取连接对象 连接conn.connect() 获取输入流,val input: InputStream = conn.getInputStream() 创建输出流,准备写入val fos = FileOutputStream(out) 标准io操作,将读到的字节写入到文件中 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253try { val buf = ByteArray(1024) var numRead: Int fos.run { while ((inpu...
相关推荐
2024-02-13
关于Gradle版本配置
关于Gradle版本配置✅ 项目里“真正被 Gradle 选中参与构建”的所有依赖👉 都会被下载到 .gradle/caches 下 ✅ 这些依赖的“具体版本”👉 最终来自:第三方库自身的版本声明 + Gradle 的依赖解析结果 老项目 AGP -> 最高7.4.2, gradle-7.5-bin JVM -> 11及以下 新项目 AGP -> 8.0.0及以上, 最低gradle-8.0-bin推荐:2024 AGP:8.3.2 gradle:8.4-bin以上 kotlin:1.9.20 JVM -> 17及以上 需要配置namespace 关于Kotlin AGP 推荐 Kotlin 7.4.x 1.7.20 8.0.x 1.8.10 8.1.x 1.8.20 8.2.x 1.9.0 8.3.x 1.9.20
2023-03-24
分区存储获取文件
分区存储获取文件从 Android Jetpack 的 Activity Result API 开始,推荐使用 ActivityResultLauncher 来处理活动结果(如启动文件选择器或拍照等操作)。相比于传统的 startActivityForResult() 方法,ActivityResultLauncher 提供了更简洁、现代化的 API。 以下是使用 ActivityResultLauncher 和 Storage Access Framework (SAF) 获取文件的完整示例代码: 1. 使用 ActivityResultLauncher 启动 SAF 文件选择器123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android...
2018-12-05
sqlite3查看数据库
sqlite3查看数据库.db 文件通常是 SQLite 数据库文件。Room 是 Android 官方推荐的本地数据库库,它底层使用的就是 SQLite。因此,Room 生成的 .db 文件本质上就是一个标准的 SQLite 数据库文件。 你可以通过以下方式在电脑上查看 .db 文件的内容: ✅ 方法一:使用 sqlite3 命令行工具(推荐)步骤如下: 安装 sqlite3 工具(如果尚未安装): macOS(通常已预装):1sqlite3 --version Windows: 下载地址:https://www.sqlite.org/download.html 下载 sqlite-tools-win32-*.zip,解压后将 sqlite3.exe 加入系统 PATH。 Linux(Ubuntu/Debian):1sudo apt install sqlite3 打开终端(命令行)并进入 .db 文件所在目录,例如: 1cd /path/to/your/database/ 使用 sqlite3 打开数据库: 1sqlite3 your_database...
2020-02-08
关于EventBus
关于EventBus12EventBus.getDefault().register(this)EventBus.getDefault().unregister(this) @Subscribe 订阅者方法ThreadMode 决定了订阅者的行为处理在主线程还是子线程,也是就耗时操作尽量开辟子线程,避免ANR等等,一般默认就行 发布者 在主线程发送事件 在子线程发送事件 main 主线程 主线程 posting 主线程 子线程 async 新开一个子线程 新开一个子线程 background 新开一个子线程 子线程 12345678910111213141516171819202122232425262728@Subscribe(threadMode = ThreadMode.MAIN) public void MessageEventBus(EventBusMessage eventBusMessage){ //在TextView显示接收的消息,从这个类里拿属性. tv_title.setText(eventBusMessag...
2017-02-08
strings中的文本替换
strings中的文本替换 实际开发的过程中我们有时候会遇到,一个TextView里面会遇到会有一个一大串固定的文字,而里面的数字或者个别字需要根据后台的接口而展示的。这个时候我们最简单的方法就是在string.xml文件里 使用 %s、%1$s、%d、%1$d,而在页面展示的时候我们只需要用实际展示的文字或者数据替换掉这些占位符就可以了。 %1$s表示把第一个位置的占位符替换成string类型 %1$d表示把第一个位置的占位符替换成int类型 数字表示替换字符串中第几个被替换的位置,若一个字符串要替换两个int类型,在替换位置分别写%1$d和%2$d. %s 、%d为缩写方式,只替换一个位置,可以这么写。
2023-02-08
蓝牙项目启动权限和蓝牙定位开关的问题
蓝牙项目启动权限和蓝牙定位开关的问题蓝牙项目启动,想要顺利地使用蓝牙扫描和连接,分两种情况 Android 6以上到Android 12以下需要动态申请定位权限ACCESS_COARSE_LOCATION和ACCESS_FINE_LOCATION,两个都要申请 Android 12以上需要动态申请BLUETOOTH_SCAN和BLUETOOTH_CONNECT 完成上述权限申请后,还需要在6-12判断蓝牙和定位是否打开,12以上不需要打开定位也可以 申请动态权限,拒绝就提示进设置,同意就走下一步 判断蓝牙和定位开关是否打开
avatar
Fleming Chen
不积跬步无以至千里,不积小流无以成江海。——《荀子·劝学》
文章
97
标签
33
分类
13
Follow Me
公告
欢迎来到我的博客,有任何疑问可以随时联系我交流讨论!
最新文章
音频流处理过程
音频流处理过程2026-01-16
AOIP和VOIP
AOIP和VOIP2026-01-06
AudioFlinger的基本概念
AudioFlinger的基本概念2025-08-28
音频领域基本概念
音频领域基本概念2025-08-20
Unicast、Multicast、Broadcast的含义及关系
Unicast、Multicast、Broadcast的含义及关系2025-08-19
© 2016 - 2026 By Fleming Chen框架 Hexo 6.1.0|主题 Butterfly 5.5.4
搜索
数据加载中