- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 别磨叽APP隐私政策说明
“别磨叽”(简称“本APP”)由李亚伟本人开发和运营,我的地址为:北京市朝阳区望京。我们非常重视用户的隐私和个人信息保护,致力于维持您对我们的信任。我们承诺采取相应的安全保护措施来保护您的个人信息。本《用户隐私政策》(简称“本隐私政策”或“本政策”)旨在解释本APP如何收集、存储和使用您的个人信息,以及您如何行使您的隐私权利。本隐私政策包含以下内容:我们会获取您的相关手机终端权限;我们如何共享、转移、公开披露您的个人信息;我们如何保护您的个人信息;您的权利;本政策如何更新;
2021-06-05 22:54:19
579
1
翻译 Android SDK 26 源码下载失败问题解决
前段时间更新了Android8.0 SDK,但是在开发时发现SDK中源码无法现在。会提示download,但是点击之后又失败告终。如图:解决方案这是因为Android SDK 26还没放出来,那我们可以临时把25版本中的源码作为26的看,毕竟整体改动不会太大。步骤如下:进入sdk/sources文件夹中复制android-25 到 android-26。命令cp -R android-25 an
2017-09-30 14:32:35
2939
原创 Android ART 垃圾回收 机制&算法
之前有被问到过一个面试题,问Android里的垃圾回收算法是什么?当时有点懵逼,后来查了一下原来Android官网是有说明的,原文地址链接如下: https://source.android.com/devices/tech/dalvik/gc-debug
2017-08-31 14:48:25
1791
翻译 Java/C++实现快速排序
快速排序是一种很常见的排序算法(面试题),不但为了教学目的,即便在实际工作中也会用到很多。时间复杂度为 O(n logn)。算法使用了分治策略。在实现上采用递归调用。主要步骤有:1.选择pivot比对值,2.划分(partition),3.递归排序
2017-08-22 20:48:38
244
原创 ListView添加页尾功能实现
最近遇到一个项目需求是: 在列表的底部添加几句话。 当列表不足一屏时,需要放在页面底部; 如下图: 当列表一屏多时,需要放在最后一条数据的下面; 如下图: 如果只是使用ListView的addFooterView(View view)是无法满足需求的,因为在不满一屏时,这个view是会跟在上面而不会置底。所以需要我们动手计算一下高度。代码如下:private ListView mLi
2017-07-18 20:28:45
338
原创 Android使用Parcelable传递boolean、String、Class、List、Enum类型数据
最近有一个需求是从ActivityA往ActivityB传递一些用户数据,内容较多,使用Parcelable对象实现序列化,基本数据类型中除了boolean之外,其他的几个用String代表了。重点看一下 boolean,String,Class,List,Enum 类型的传递。上代码。首先这个是enum类型的类:public enum MyType implements Parcelable{
2017-06-28 17:52:20
2495
1
原创 学习笔记之Gradle(快捷版)
Groovy Gradle:基于Java语言,编译成class文件。相对于Java来说,省略了一些东西。简写。 相当于是一个框架。有专门的API。Gradle中,每个待编译的工程叫做project,每个project有很多Task。由编译脚本指定的插件决定。插件是定义Task并执行Task的东西。如果使用命令行执行编译,需要 cd XXX 目录,执行“gradle XXX”。 如果多个proje
2017-04-25 22:13:40
298
原创 源码简读之PullToRefresh
继承自LinearLayout在init时,会先查看方向。所以这样可以扩展,如果需要横向的滑动刷新,只需要重写getPullToRefreshScrollDirection()方法即可。 初始化mode,animationstyle找到header和footer布局,先拿到整体高度,/2,*1.2,设置为header/footer的高度,然后给父布局设置padding,通过负值的形式,隐藏掉这两个
2017-04-25 22:12:29
208
原创 学习笔记之SharedPreference问题解答
Android SharedPreferenceshttp://blog.csdn.net/u012619640/article/details/50940074(1)每次调用getSharedPreferences时都会创建一个SharedPreferences对象吗?这个对象具体是哪个类对象?(2)在UI线程中调用getXXX有可能导致ANR吗?(3)为什么SharedPreferences只适
2017-04-25 22:11:27
569
原创 Android打包优化
Android混淆http://www.jianshu.com/p/7436a1a32891“>Android 混淆从入门到精通buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), '
2017-04-25 22:09:18
676
原创 Android WebView详解
WebView详解WebView使用WebSettings常用方法: 方法 说明 setAllowFileAccess 启用或禁用WebView访问文件数据 setBlockNetworkImage 是否显示网络图像 setBuiltInZoomControls 设置是否支持缩放 setCacheMode 设置缓冲的模式 setDefaultFontSize
2017-04-25 22:07:26
1640
原创 源码简读之Gson解析
JsonReaderGson.fromJson(String jsonString, Class class){ 层层调用 JsonReader.peek()->doPeek();}int doPeek() throws IOException { int peekStack = stack[stackSize - 1]; if (peekStack == JsonS
2017-04-25 22:06:37
355
原创 Android进程保活
进程保活参考:QQ DEV、 小米 1. 为什么会被杀死? 2. 被谁杀死? 3. 杀死后如何拉起?锁屏放一个像素点监听系统锁屏/开屏广播 1.某些深度定制的手机会崩溃。 2.有些手机会有广播接收上的延迟,需要用户点按返回键才能关闭该页面。开启一个前台service利用notification提升权限。 LenovoX2 会引起崩溃。拉活使用service自带的 re
2017-04-25 22:01:21
309
原创 源码简读之Handler
Handler使用private static Handler mHandler;mHandler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); }};new Thread( new Runnable() {
2017-04-25 21:58:56
283
原创 源码简读之AsyncTask
源码注释中声明:适用于a few minutes的任务,方法onPreExecute()doInBackground()onProgressUpdate()publishProgress()onPostExecute()初始化// We want at least 2 threads and at most 4 threads in the core pool,// preferrin
2017-04-25 21:55:54
271
原创 Android仿余额宝实现七天年化收益率图表
先看效果图 接着是源码下载地址本来是使用MPAndroidChartLib,但是有一个业务上的bug,后来就想着自己练练手自己写一个。 因为以前没有真正自定义过涉及到onDraw()的控件,所以目前来看,这个控件的可扩展性还是很差的,留作以后有时间再做吧,主要就是抽象出来一些操作来实现其他样式或者功能的操作。 水平有限,在此只是帮助一些初学者提供一些思路上的帮助吧 这个View没什么复杂
2017-04-25 21:36:51
1812
翻译 使用Android Design Support Library创建一个Android Material Design
1. 概述 Material design提供了一套跨平台跨设备,涵盖视觉、触摸和交互的综合性设计指导。你将会学到这些 - 如何使用Android Design Support Library - 如何使用矢量图 - 如何运用 material design 到自己的Android app中 - material design中的关键组件和用法 - 使用主题和颜色去创建可触摸
2016-07-14 21:56:09
356
翻译 Mac环境下 Android genymotion nexus5 启动失败问题
genymotion和virtualbox安装完成之后,无法启动,错误信息如下:The configured driver wasn't found. Either the necessary driver modules wasn't loaded, the name was misspelled, or it was a misconfiguration. (VERR_PDM_DRIVER
2016-07-08 16:17:30
871
翻译 Picasso详细解析(一)
PicassoAndroid平台上一个强大的图片加载和缓存库介绍 Picasso允许在你的APP中简便的加载图片-通常只需要一行代码Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);Picasso修复了很多图片加载的坑:处理ImageView的垃圾回收并且在adapter中取消下载最小的内存
2016-06-29 21:18:07
357
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人