Android
文章平均质量分 80
猩程变
print "hello world"
展开
-
APK瘦身方案大全,尽情享用
看官须知本文内容不会过于深入,只是对一些常用方案的整理总结瘦身原因Apk的大小对于用户是否选择下载应用起着至关重要的影响,也会是成为用户活跃度的原因之一APK组成我们都知道apk是由: . asserts . lib . res . dex . META-INF . androidManifest 这几个部分构成的。通常来说我们可以AndroidStudio自带的Analyze APK工具进行APK的资源分析进行原创 2020-05-28 09:43:12 · 306 阅读 · 0 评论 -
Android从0开始,加密算法分析-九宫格密码
Android从0开始,加密算法分析锁屏密码之九宫格密码大家都会知道我们为了确保手机的安全,经常会给手机上锁,也就是常说的密码。那么你有想过它是怎么加密又是怎么样存储的吗?想不想搞点恶作剧啥的(开玩笑的)首先说明一点,要想找到这个神器的东西,就必须进入到frameworks层中,这篇文章也算是我开始踏入frameworks的第一步吧,首先通过工具查找发现入口在LockPattern...原创 2018-05-03 23:33:52 · 1260 阅读 · 0 评论 -
Activity的启动过程
第十三周 Activity的启动过程话题:从源码的角度描述下Activity的启动过程(高级必问) 应用进程启动activity流程,请结合源码阅读此文章 method:startActivity() @Override public void startActivity(Intent intent) { this.startActivity(intent,...原创 2018-12-13 09:53:34 · 1024 阅读 · 0 评论 -
测试Arouter外部跳转
自定义Scheme[通常来说都是这样的]arouter://m.aliyun.com/test/activity1测试URL Encode情况arouter://m.aliyun.com/test/activity1?name=alex&age=18&boy=true&high=180&obj={"name":"jack","id":"666"}aroute原创 2019-03-03 18:41:03 · 476 阅读 · 0 评论 -
Flutter的一生
1. 前言在初学新技术之前,我们总会要从最基本的东西了解起来,就好比当接触Android的时候,我们学四大组件都要学好久,是否还记得在Android的生命周期?首先让我们回顾下Android中的生命周期关于这个就不在多说了,常用场景总结下:1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。2....原创 2019-07-09 15:18:15 · 1059 阅读 · 2 评论 -
不得不说的DIO
Flutter网络框架DIO的基本使用1.基本概念dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等…2.简单示例代码import 'package:dio/dio.dart';main() async { var dio = Dio(); Response respo...原创 2019-07-19 15:33:19 · 4468 阅读 · 0 评论 -
Gradle入门
概念Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。DSL:全称是Domain Specific Language,即领域特定语言,或者直接翻译成“特定领域的语言” 通俗点其实就...原创 2019-08-22 20:29:49 · 109 阅读 · 0 评论 -
Groovy初探-介绍
定义Groovy是一种动态语言,这种语言比较有特点,它和Java一样,也运行于Java虚拟机中。简单点说:Groovy扩展了Java语言定义:Groovy是在Java平台上的具有像Python、Ruby和smalltalk语言特性的灵活动态语言,它保证了这些特性像Java语法一样被Java开发者使用。除了语言和Java相通外,Groovy有时候又像是一种脚本语言。因为在执行Groovy脚本...原创 2019-08-22 20:31:34 · 209 阅读 · 0 评论 -
Groovy初探-开发环境
在学习Groovy之前,我们需要先像搭建Java环境一样搭建起Groovy环境,由于本人电脑是mac,所以采用了终端安装的两种方式,以下方式任选其一:MAC安装方法方法一:Step 1:下载Groovy地址:http://groovy-lang.org/download.html下载后解压。Step 2:配置环境变量open .bash_profileexport PATH=$P...原创 2019-08-22 20:32:09 · 167 阅读 · 0 评论 -
Groovy窥探-入门语法1
前情回顾如果学过Java的小伙伴,那么对于上手Groovy这门课程就会变的so easy,在我们学习一门新的语言的时候,首先要学习的就是编写Hello World。下面我们创建一个hello.groovy的文件 看下Groovy的Hello world的写法。Class HelloWorld{ public static void main(String[] args){ ...原创 2019-08-22 20:32:57 · 151 阅读 · 0 评论 -
Groovy窥探-入门语法2
书接上文,我们继续讲解Groovy的基础语法部分逻辑条件在Groovy中的逻辑和Java中的一样,大致分为3类:顺序逻辑-单步往下执行条件逻辑-if/else switch/case循环逻辑-while循环、for循环重点讲述的是switch/case逻辑和for循环part1: switch/casedef x=1.23def resultswitch(x){ ...原创 2019-08-22 20:33:32 · 1150 阅读 · 0 评论 -
Gradle高阶-Project详解2(属性相关)
前情回顾上一节我们探讨了project中project类中的几个api,通过这几个api我们可以看到,我们一个project中所有的project并不是独立存在的而是相互关联的,我们可以对对工程进行遍历得到每个project,或者是project的路径得到对应的project。新的篇章首先先问几个问题?①为什么每个module下都有一个build.gradle文件?②为什么默认模式下打包...原创 2019-09-16 16:08:29 · 734 阅读 · 0 评论 -
LeakCanary源码浅析
在Android开发中最让人们头疼的就是内存泄漏了,今天来介绍一个查看内存是否泄漏的工具LeakCanary,并通过研究源码明白它是如何分析和查找存在泄漏信息的 首先送上LeakCanary文档链接:LeakCanary中文使用说明Part1. 知识回顾常用工具MatLeakCanary(Square) 原理:watch监视一个即将要销毁的对象内存种类1...原创 2018-03-23 00:00:08 · 757 阅读 · 0 评论 -
网易栏目添加功能
最近发现一个小伙伴有需要做类似于网易新闻客户端栏目拖拽添加的这种效果,自己动手做了类似效果,效果图如下(文章结尾有源码链接): 实现了点击、长按删除、添加等功能。其实就是利用RecycleView和ItemTouchHelper这两个类来实现上面的效果好了,内容正式开始…… 1、添加依赖包 (app)build.gradle implementation ‘com.and...原创 2018-03-02 16:31:05 · 786 阅读 · 0 评论 -
真机调试打印日志
真机调试打印日志在开发过程中,我们通常要用真机测试,然鹅部分手机居然没有办法查看到日志信息,(魅族、小米、华为)原创 2017-08-04 15:38:26 · 750 阅读 · 0 评论 -
简单的FileSearch
一个简单的文件搜索,新手可以学习下原创 2015-01-30 16:14:44 · 760 阅读 · 0 评论 -
抛弃new Thread
1、new thread的弊端最近的项目中老是用到了线程,由于很习惯性的使用了Thread和handler,但是在网上浏览了一些文章博客后才发现。原来new Thread的弊端也是挺多的嘛。你的代码是否也和下面的一样呢?new Thread(new Runnable(){ @override public void run(){ //你自己的操作 } }原创 2015-05-20 21:56:56 · 1480 阅读 · 1 评论 -
Android屏幕适配(分辨率适配)
对于刚接触Android的新人和刚走上Android技术岗位的开发者们来说,在熟悉了相关之后,在项目完成后,就会面临着一个重大的挑战,那么就是屏幕适配的问题。当然我们所说的屏幕适配指的是适配各种手机不同的分辨率。当然,如果你熟悉官网的话(网址:developer.android.com),那么你会发现官网上其实已经为你讲解了怎么做。 当然,首先你要知道如何打开网址,由于大天朝的制度,你想原创 2015-05-18 11:56:33 · 1062 阅读 · 0 评论 -
androdi studio之aidl文件生成
相信大家现在对于Google官网刚出的Android studio开发工具已经不陌生了吧,或许有人说我一直用的eclipse开发,对于android studio(以下简称as)很陌生,完全不知道怎么用。别急,本人现在开发也是在eclipse上来的,最近为了熟悉下as环境下开发,终于在这个Google推崇的软件上玩了下,真别说as的操作和eclipse截然不同,不过别急,相信大家都会有解决办法的哈原创 2015-11-08 15:53:11 · 944 阅读 · 0 评论 -
IPC机制之使用ContentProvider
今天我们要讲的是另一个我们经常用的东西但是很容易忽视它,我们经常操作的一些东西,比如说打电话、发短信、查看日程表信息……原创 2016-03-06 22:25:24 · 671 阅读 · 0 评论 -
SystemBarTint实现沉浸式状态栏
使用SystembarTint库实现沉浸式效果原创 2016-03-12 18:22:23 · 904 阅读 · 0 评论 -
Instant Run 23事
Android Studio功能非常强大,在各个功能性方面都要优于Eclipse,唯独在速度方面被吐糟得比较惨。因此在Android Studio 2.0中,对速度方面进行了大幅度的改进:于是在Android Studio 2.0中加入了Instant Run功能。传统情况下,我们修改程序后重新运行一次程序需要经历 代码重新编译 -> 停止程序 -> 重新安装 -> 重新启动 这样一个原创 2016-06-28 15:15:17 · 525 阅读 · 0 评论 -
圆形百分比进度条(避坑笔记)
最近在写项目的时候发现要写一个圆形进度条,本来想着自己写一个吧,写完后发现有坑啊,关键是还是一个大坑,项目中使用的刷新控件是WaterDropListView然后发现进度条显示的数据一直有问题,一开始以为是自己数据的问题,经过一系列的断点调试才发现问题是出在了进度条的绘制上。 迫不得已只好寻找第三方来填坑,最终发现了一个名为CirclePercentView的圆形进度条,哈哈,这下可以解决原创 2016-08-10 11:29:57 · 2691 阅读 · 0 评论 -
Android开发过程中遇到的问题
今天写这篇文章,是因为自己在开发过程中遇到一些bug,有实在不会的,也有的是粗心导致的,现在记录下来,给自己一个提醒,也给初学者一个参考吧,此帖将会持续更新,后续遇到的问题有时间也会慢慢更新该博客内容原创 2015-03-17 11:52:52 · 10365 阅读 · 0 评论 -
ListView解析
ListView解析直接继承自AbsListView,AbsListView继承自AdapterView,AdapterView又继承自ViewGroup。Adpater在ListView和数据源之间起到了一个桥梁的作用RecycleBin机制原创 2016-10-16 15:55:51 · 405 阅读 · 1 评论 -
极光那些事(推送笔记)
极光那些事(推送笔记) 第三方的使用已经见怪不怪了,比如第三方库(网络框架、控件),其他常见的有友盟统计、推送、更新等,今天项目经理说为了和ios一致,决定用极光来进行推送。原创 2016-09-30 22:00:18 · 516 阅读 · 0 评论 -
RecylerView(GridView布局)实现充值界面效果
RecylerView(GridView布局)实现充值界面充值的效果原创 2017-01-12 20:24:41 · 4746 阅读 · 9 评论 -
android小闹钟实现代码
要想实现闹铃功能的话,就必然不能少了MediaPlayer这个类,通过媒体播放音乐一个简单的界面布局: xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"原创 2014-07-10 15:37:18 · 1803 阅读 · 0 评论