自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(284)
  • 资源 (4)
  • 收藏
  • 关注

原创 android 实现清理缓存功能

系统文件(注:这个是系统的文件系统,不允许修改的)内置SD卡(注:现在的手机基本上都有,就是我们所谓的ROM,是不可以移除的,RAM是我们手机的运行内存)外置SD卡(注:这个就是我们的SD卡了,可以移除)我们的应用程序一般会产生以下几种类型的数据:- file-普通的文件存储- database-数据库文件(.db文件)- sharedPreference-配置数据(.xml文件)应...

2020-04-15 14:15:27 964 1

原创 Transformations.switchMap()

先看源码:/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the Licens...

2020-03-18 16:03:30 3637

原创 Android新特性——App Bundles

在您的项目中添加 Play 核心库在开始使用 Play 核心库之前,您需要先将其作为 Gradle 依赖项导入应用模块,如下所示: // In your app’s build.gradle file: ... dependencies { // This dependency is downloaded from the Google’s Mave...

2020-01-16 12:26:56 1329

原创 插件化之VirtualApk

VirtualApk是滴滴开源的一套插件化方案,其支持四大组件,支持插件宿主之间的交互,兼容性强,在滴滴出行APP中有应用。下面是官方文档中与其他主流插件化框架的对比(查看原文):特性 DynamicLoadApk DynamicAPK Small DroidPlugin VirtualAPK 支持四大组件 只支持Activity 只支持Activ...

2020-01-16 12:00:48 244

原创 Android 主题

Theme、Style、Attr的基本概念Attr:属性,风格样式的最小单元;Style:风格,它是一系列Attr的集合用以定义一个View的样式,比如height、width、padding等;Theme:主题,它与Style作用一样,不同于Style作用于个一个单独View,而它是作用于Activity上或是整个应用,并具有向下的覆盖特性Theme的定义Theme的定义基本是一...

2020-01-07 15:38:25 705

原创 onTouchEvent

Android提供了GestureDetector类来处理一些常用的手势操作,比如说 onLongPress,onFling 等。但这里不使用GestureDetector,而是直接在自定义View重写的onTouchEvent中进行处理。欲实现的效果是:当手机按住屏幕时,如果在指定的时间内没有移动(如500毫秒),那么进入长按模式,此时手指在屏幕上移动都算作长按模式。如果手机按住屏幕就立马...

2019-11-29 11:22:58 359

原创 AndroidStudioSuperPlugin

https://github.com/b2b2244424/AndroidStudioSuperPluginThis Android Studio plugin automatically generates drawable selectors from appropriately named Android resources.https://github.com/inmite/and

2019-11-29 11:21:35 147

原创 Android App 安全的HTTPS 通信

漏洞描述对于数字证书相关概念、Android 里 https 通信代码就不再复述了,直接讲问题。缺少相应的安全校验很容易导致中间人攻击,而漏洞的形式主要有以下3种:自定义X509TrustManager在使用HttpsURLConnection发起 HTTPS 请求的时候,提供了一个自定义的X509TrustManager,未实现安全校验逻辑,下面片段就是当时新浪微博 sdk 内部的代...

2019-11-29 11:18:40 365

原创 Android的.so文件,32位处理器与64位处理器

一、ABI 是什么ABI 是 Application Binary Interface 的缩写。不同 Android 手机使用不同的 CPU,因此支持不同的指令集。CPU 与指令集的每种组合都有其自己的应用二进制界面(或 ABI)。 ABI 可以非常精确地定义应用的机器代码在运行时如何与系统交互。 您必须为应用要使用的每个 CPU 架构指定 ABI。典型的 ABI 包含以下信息:机器...

2019-10-31 17:37:50 5044

原创 Android 杂记

1,Intent.resolveActivity在自己的应用程序中利用第三方应用程序的Activity和Service是十分方便的,但是你无法保证用户设备上安装了特定的某个应用软件,或者设备上有能够处理你的Intent请求的程序。因此,在启动第三方APK里的Activity之前,确定调用是否可以解析为一个Activity是一种很好的做法。通过Intent的resolveActivit...

2019-10-29 18:37:37 133

转载 Google Play商店推广那些事

Play商店是Android的官方商店,虽然在大陆无法访问,但是这里依旧是重要的版本发布市场,尤其是对于那些国际化的产品。对于拓宽海外市场,付费推广就是一部分不可忽视的措施。而Android付费推广必然就是Play商店推广。本文主要从技术方面讲解,如何统计推广数据,以及在开发过程中遇到的一些疑问和困惑。生成推广链接想要进行推广,必须有推广链接。Google提供了生成推广链接的地址Googl...

2019-10-29 11:37:46 2106

原创 android 错误集锦

1,NoSuchFieldError: No static field listView1 of type I in class Lcom/disdemo/R$id; or its superclassesI have module1 (in Android Studio) with listView1 inactivity_main.xml(present in res of the m...

2019-09-02 16:51:45 227

转载 header中Content-Disposition的作用与使用方法

Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。Content-disposition其实可以控制用户请求所得的内容存为一个文件的时候提供一个默认的文件名,文件直接在浏览器上显示或者在访问时弹出文件下载对话框。格式说明: content-disposition = "Content-Disposition" ":" dis...

2019-08-21 11:55:57 2010

转载 Android6.0 动态权限组

一、Android系统权限机制概述我们知道在Android的权限系统一直是首要的安全概念,因为这些权限在Android M(6.0)之前在AndroidManifest文件中声明之后,仅App在安装的时候被询问一次,安装成功之后运行,就可以在用户毫不知晓的情况下访问权限内的内容,毫无顾忌地收集信息(虽然现在也还是可以在一次申请之后无顾忌的使用)。而在Android M之后,app将不会在...

2019-06-19 14:09:12 2320

原创 Android App Bundles相关概念及开发流程详解

主要参考文章如下。https://developer.android.com/guide/app-bundle/https://developer.android.com/platform/technology/app-bundle/什么是Android App BundleAndroid App Bundle是一种新的Android App开发,编译和发布机制,它也可以用来表示这种机制...

2019-06-06 15:25:02 890

转载 Android Studio 搭建和使用Maven仓库

https://www.cnblogs.com/lixiangyang521/p/7760754.html我们都知道,Android Studio导入jar包非常方便,一行代码搞定dependencies { compile'com.facebook.fresco:fresco:1.0.1'}相信大家对该种写法一定不陌生,这里用到的就是Maven(仓库)概念。定义...

2019-06-05 18:49:52 26574 1

原创 java 数据结构

private void initMap() { //HashMap最多只允许一条记录的键为Null(多条会覆盖);允许多条记录的值为 Null。非同步的。 Map<String,Integer> map = new HashMap<>(); //key 弱引用,当不被引用是会被回收。 Map<String,Integer> w...

2019-06-03 17:10:36 272

转载 java集合

集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。注:数组我在前面的博客讲了大家可以看下集合中接口和类的关系Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和Lis...

2019-06-03 16:34:46 110

转载 一篇文章看明白 HTTP,HTTPS,SSL/TSL 之间的关系

HTTP,HTTPS,SSL/TSL相关系列一篇文章看明白 TCP/IP,TCP,UDP,IP,Socket 之间的关系一篇文章看明白 HTTP,HTTPS,SSL/TSL 之间的关系概述什么是 HTTP ?超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的 WWW 文件都必须遵守这个标准。【摘自百度百科】...

2019-05-30 17:53:29 788

转载 apk 同一个签名

多个应用推荐使用不同签名,除非一些特殊应用场景最近两个应用同时上线,微信分享上遇到了问题使用了umeng分享———-问题*现在的问题是两个应用(签名keyOne.jks为同一文件)应用A(包名com.test.A)+ 签名(keyOne.jks)—>打包应用B (包名com.test.B) +签名(keyOne.jks)—>打包应用A分享微信成功了、应用...

2019-05-21 11:57:10 1217

转载 AAR 文件常识

AAR,为 Android 而生。在使用 Eclipse 开发 Android 的那个时代(其实也就几年前而已),如果想代码打包,只有JAR包一个方法,但是JAR只能把 Java 文件代码打包进去,如果要使用一个有布局和资源的库的话,除了将JAR放入 libs 外,还需要引入相关的资源和配置文件,十分不优雅。Android Studio 出来之后,出现了一个新的方法,打包AA...

2019-05-20 16:14:54 12401 1

转载 Kotlin系列之let、with、run、apply、also函数的使用

相比Java, Kotlin提供了不少高级语法特性。对于一个Kotlin的初学者来说经常会写出一些不够优雅的代码。在Kotlin中的源码标准库(Standard.kt)中提供了一些Kotlin扩展的内置函数可以优化kotlin的编码。Standard.kt是Kotlin库的一部分,它定义了一些基本函数。 这个源代码文件虽然一共不到50行代码,但是这些函数功能都非常强大。一、回调函数的Kotin...

2019-05-10 10:18:42 257

转载 Room,Realm,,ObjectBox 你选择哪个?

面对数据存储的时候,Android开发者有太多的库可以选择了。不管是对象映射还是数据集合,都有相应的工具可用。一些是开箱即用,比如shared preferences 和 纯 SQL,其他的则需要外部依赖。放心,我这里不会讨论关于写复杂的数据查询语句的事情。相反,我将比较几个一流的库:新发布的Room Persistence Library,有些年生的Realm,以及不太为人所知的ObjectB...

2019-05-09 11:50:47 2166

翻译 App开发架构指南(谷歌官方文档译文)

app开发者面临的常见问题跟传统的桌面应用开发不同,Android app的架构要复杂得多。一个典型的Android app是由多个app组件构成的,包括activity,Fragment,service,content provider以及broadcast receiver。而传统的桌面应用往往在一个庞大的单一的进程中就完成了。大多数的app组件都声明在app manifest中,An...

2019-05-05 15:10:35 387

转载 Java 范型

1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时...

2019-05-05 14:44:33 176

原创 kotlin 学习笔记二(常见使用技巧)

1,扩展类扩展类,就是在现有类的基础上,添加一些属性或者方法,当然扩展的这些成员需要导入当前扩展成员所在的包才可以访问到。可以不用实现装饰着模式。data class Coordinate(val x: Double, val y: Double)val Coordinate.theta: Double get() { return Math.atan(y/x...

2019-04-30 14:04:05 208

原创 kotlin 学习笔记一

Koltin中属性在声明的同时也要求要被初始化,否则会报错。例如以下代码: private var name0: String //报错 private var name1: String = "xiaoming" //不报错 private var name2: String? = null //不报错 我并不想声明一个类型可空的对象,而且我也没办法在对象一声明的时...

2019-04-29 18:39:03 187

原创 android studio 配置错误汇总

1,Program type already present: android.support.v4.app.BackStackRecord$Op Message{kind=ERROR, text=Program type already present: android.support.v4.app.BackStackRecord$Op, sources=[Unknown source file...

2019-04-25 19:11:51 345

转载 Android Fragment

Fragment,简称碎片,是Android 3.0(API 11)提出的,为了兼容低版本,support-v4库中也开发了一套Fragment API,最低兼容Android 1.6。过去support-v4库是一个jar包,24.2.0版本开始,将support-v4库模块化为多个jar包,包含:support-fragment, support-ui, support-media-com...

2019-04-24 17:00:57 119

原创 安卓常用命令记录

1.adb 命令 for macsudo vim ~/.bash_profile 打开 .bash_profile文件。按i进入输入模式 export PATH=${PATH}:/Users/edz/Library/Android/sdk/platform-toolsexport PATH=${PATH}:/Users/edz/Library/Android...

2019-04-23 10:56:33 430

原创 Android Studio 一个工程打包多个不同包

AS主要是利用gradle来实现这个需求的,具体做法如下:修改app的build.gradle文件假设我们同一套代码编译2个app:app1和app2? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18...

2019-03-18 15:46:56 3113

转载 activity启动模式

任务栈Task,是一种用来放置Activity实例的容器,他是以栈的形式进行盛放,也就是所谓的先进后出,主要有2个基本操作:压栈和出栈,其所存放的Activity是不支持重新排序的,只能根据压栈和出栈操作更改Activity的顺序。启动一个Application的时候,系统会为它默认创建一个对应的Task,用来放置根Activity。默认启动Activity会放在同一个Task中,新启动的Ac...

2019-01-27 18:10:59 351

转载 安卓进程间通信概述

管道:管道允许在进程之间按先进先出的方式传送数据,是进程间通信的一种常见方式。管道是Linux支持的最初UnixIPC形式之一,具有以下特点:1)管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;2)匿名管道只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);3)单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个...

2019-01-24 17:31:25 321

原创 java 线程总结

并发中主要两个问题是:线程如何同步以及线程如何通信。同步主要是通过互斥机制保证的,而互斥机制我们最熟悉的就是锁,当然也有无锁的CAS实现 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。  ...

2019-01-04 16:02:01 181

转载 Activity跳转动画

ActivityOptionsCompat是一个静态类,提供了为数不多的几个方法,下面我们来罗列一下:1. ActivityOptionsCompat.makeCustomAnimation(Context context, int enterResId, int exitResId)2. ActivityOptionsCompat.makeScaleUpAnimation(View...

2018-12-18 11:23:56 543

原创 android 全屏切换到非全屏 页面抖动

问题:在页面切换过程中,会出现先显示页面内容,然后由于状态栏的出现,整个界面下移一个状态栏高度的问题。造成整个页面闪一下,下沉一下的感觉,非常不爽的体验。解决: 1.在全屏的activity finish之前手动退出全屏window.setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager...

2018-12-17 17:13:19 1635 1

原创 安卓多Module 引用aar 的问题

遇到问题 在多Module时,一个Module引用aar 结果编译出错 Failed to resolve: :AliyunSdk-RC: 按照规范把aar文件放到 libs 目录下面,在 MODULE 目录下面 build.gralde 中添加如下配置:repositories { flatDir { dirs 'libs' }}在 depende...

2018-12-06 17:29:54 1349

原创 git 常见问题

1,android Studio 上传项目到github上遇到,在使用Git Push代码的时候,会出现 Push to origin/master was rejected 的错误提示。解决:在git项目对应的目录位置打开Git Bash,或android Studio 上 Terminal 打开执行命令:git pull origin master --allow-unrelated-...

2018-12-06 11:30:58 149

原创 android打包问题

ProGuard, version 6.0.3Warning: Exception while processing task java.io.IOException: The same input jar [/Users/xl/Documents/Code/Xianglin/NewProject/XLWallet/app/libs/libammsdk.jar] is specified tw...

2018-12-04 17:23:51 842

原创 CodePushHash 文件找不到

Error: ENOENT: no such file or directory, open '/Users/me/myproject/android/app/build/intermediates/assets/debug/CodePushHash'gradle 升级到3.2.0后编译打包结果报错react-native-code-push version: 5.4.2 react-n...

2018-12-04 16:48:58 1521

android 仿flipboard 翻页

android 仿照flipboard实现 翻页效果,有水平翻页和上下翻页, 带动画效果,很不错的例子!

2014-06-19

时间日期控件

text文件是日期的可选择修改。对于dateControle是精确的时间包括年月日时分秒,很详细的控件 。

2013-03-25

IPTimeStamp类

通过Ip和time 还有三位随机数实现对一个文件进行动态命名,保证不会重名。

2013-03-11

Smartupload组件

Smartupload控件实现文件的上传下载功能,方便简单实用,代码很短小,易于理解。

2013-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除