Skip to content

Instantly share code, notes, and snippets.

@atearsan
atearsan / URL Schemes.md
Created July 20, 2023 04:08 — forked from zhuziyi1989/URL Schemes.md
常用 URL Schemes 收集。

关于 URL Scheme 你知道多少?

iOS系统中

由于苹果的各应用都是在沙盒中,不能够互相之间访问或共享数据。但是苹果还是给出了一个可以在APP之间跳转的方法:URL Scheme。简单的说,URL Scheme就是一个可以让 APP 相互之间可以跳转的协议。每个 APP 的URL Scheme都是不一样的,如果存在一样的URL Scheme,那么系统就会响应先安装那个 APP 的URL Scheme,因为后安装的 APP 的URL Scheme被覆盖掉了,是不能被调用的。

Android系统中

Android中的 Scheme 是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的 Scheme 协议,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。 URL Scheme 就如同网页的url链接一样,可以打开App或跳转到相应的页面。但是大部分APP没有公开自己的URL Scheme。

@atearsan
atearsan / zxing gradle配置
Created May 28, 2018 02:54
zxing gradle配置
implementation 'com.google.zxing:core:3.3.2'
implementation 'com.google.zxing:android-core:3.3.0'
@atearsan
atearsan / java
Created May 22, 2018 07:37
Android 获得最近一张拍照或截屏图片
package com.sc.paylistener.utils;
import android.content.Context;
import android.database.Cursor;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Pair;
import java.io.File;
@atearsan
atearsan / SharedPreference.kt
Created May 21, 2018 03:25
[kotlin] SharedPreference.kt
package top.jowanxu.quicktilesetting.provider
import android.annotation.SuppressLint
import android.content.Context
import top.jowanxu.quicktilesetting.constant.Constant
import kotlin.properties.ReadWriteProperty
import kotlin.reflect.KProperty
class Preference<T>(private val context: Context, private val name: String, private val default: T) : ReadWriteProperty<Any?, T> {
private val prefs by lazy {
@atearsan
atearsan / readme.md
Created April 23, 2018 07:52
readme.md #APP文档

本文档介绍

  • 记录项目相关的资料,方便以后阅读查看
  • 本文档为markdown语法

项目介绍

  • 项目:大象点餐 APP端 商家APP
  • APP名:大象商家
  • 本文档为参考示例描述

测试账号信息

@atearsan
atearsan / gradle.taskGraph.whenReady.gradle
Last active April 8, 2018 06:11
[去掉没有用的gradle task] #gradle
根目录 build.gradle 添加如下配置
allprojects {
gradle.taskGraph.whenReady {
tasks.each { task ->
if (task.name.contains("Test")
|| task.name.contains("mockableAndroidJar")
|| task.name.contains("Lint")
|| task.name.contains("Aidl")
@atearsan
atearsan / .gradle
Created August 1, 2016 08:52 — forked from SleeplessByte/.gradle
Android Studio - How to gitignore your signing.
apply plugin: 'com.android.application'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile [...]
}
android {
// Add a gradle.properties to your root to make this workd:
@atearsan
atearsan / MediaUtility.java
Last active July 26, 2019 09:42
根据uri获取文件真实路径
package com.atearsan.util;
import android.annotation.TargetApi;
import android.content.ContentUris;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.provider.DocumentsContract;
@atearsan
atearsan / randomArray
Created August 14, 2015 07:19
随机数字(指定范围内不重复)
/**
* 随机指定范围内N个不重复的数
* 在初始化的无重复待选数组中随机产生一个数放入结果中,
* 将待选数组被随机到的数,用待选数组(len-1)下标对应的数替换
* 然后从len-2里随机产生下一个随机数,如此类推
*
* @param max 指定范围最大值
* @param min 指定范围最小值
* @param n 随机数个数
* @return int[] 随机数结果集
@atearsan
atearsan / snapshot.java
Created August 1, 2015 03:37
scrollview 嵌套 listview 导致listview显示不完整解决方式
/**
* 重新计算listview高度<br/>
* <i>
* scrollview 嵌套 listview, 会导致listview只显示一个, 所以在listview.setAdapter之后重新计算高度<br/>
* listview 必须是linearlayout布局
* </i>
*
* @param listView listview
*/
public void setListViewHeightBasedOnChildren(ListView listView) {