自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

转载 【笔记】使用windowAnimations定义Activity及Dialog的进入退出效果

看了android的源代码和资源文件,终于明白如何去修改设置Dialog和Activity的进入和退出效果了。设置Dialog首先通过getWindow()方法获取它的窗口,然后通过getAttributes()方法获得window的WindowManager.LayoutParams lp, lp有个公共属性windowAnimations, 只要把要实现的animation的id赋值给它就...

2019-07-25 10:26:22 1598

转载 内存不足时Android 系统如何Kill进程

大家其实都或多或少知道,Android系统有自已的任务管理器,当系统内存不足时,系统需要KILL一些进程(应用),以回收一部分资源,来保证系统仍可以正常的运行,而不会崩溃,今天,就具体讲讲这个原理。进程优先级(importance hierarchy)Android系统尽量保持进程运行的更久,但是仍有时候,需要结束掉老的进程,回收内存来保证新的,或更重要的进程运行。要决定哪些进程运行,哪些被 KI

2018-01-18 02:47:20 1471

转载 深入理解共享元素变换(Shared Element Transition)

第三章(本章)将分为两部分:上着重底层的原理,下着重api的具体实现,比如延迟某些元素变换的重要性以及SharedElementCallbacks的实现。什么是共享元素变换?元素共享式变换(shared element transition)决定了共享的view元素从一个Activity/Fragment 到另一个Activity/Fragment t的切换中是如何动画变化的。共享

2017-12-19 17:11:39 2171

转载 深入理解Content Transition

从回顾上一章中学到的关于content transition的知识开始。什么是Content Transitioncontent transition决定了非共享view元素在activity和fragment切换期间是如何进入或者退出场景的。根据google最新的Material Design设计语言,content transition让我们毫不费力的去协调Activity/F

2017-12-19 17:10:23 366

转载 Activity和Fragment Transition介绍

什么是Transition?安卓5.0中Activity和Fragment 变换是建立在名叫Transitions的安卓新特性之上的。这个诞生于4.4的transition框架为在不同的UI状态之间产生动画效果提供了非常方便的API。该框架主要基于两个概念:场景(scenes)和变换(transitions)。场景(scenes)定义了当前的UI状态,变换(transitions)则定义了

2017-12-19 17:08:26 439

原创 Android示例-JavaScript与UI控件交互(二)

本例将实现通过WebView控件的addJavascriptInterface()方法调用JavaScript脚本并使用SurfaceView实现在UI界面中进行画图。源码如下:1.MainActivity.javapackage com.lonly.example.javascriptdemo2;import android.app.Activity;import android.

2017-10-26 22:26:57 301

原创 Android示例-JavaScript与UI控件交互(一)

本例将实现通过WebView控件的addJavascriptInterface()方法调用JavaScript脚本实现与UI控件的交互。源码如下:1.MainActivity.javapublic class MainActivity extends Activity { private Button mButtonMovement; private WebView mW

2017-10-26 20:56:08 570

原创 Android学习笔记-NDK开发(二)

在上一篇文章《Android学习笔记-NDK开发(一)》中介绍了按传统步骤开发NDK项目的例子,本篇文章主要是介绍在Android studio 2.3.3 上如何更加优雅地开发NDK项目。过程如下:1.创建一个新的Android项目(此处勾选“include C++ support”)。之后,一直选择“Next”,完成项目的创建。AndroidStudio会为我们创建cpp文件夹、C

2017-10-25 21:21:28 321

原创 Android学习笔记-NDK开发(一)

在一些老的项目或老的Android教程中,有可能还使用着本篇文章所描述的方式来创建一个Android NDK项目,所以,就写了此篇文章以供参考。下面以AS中一个简单的例子来按步骤说明:第一步:创建一个新的Android项目(此处不勾选“include C++ support”,只按普通项目创建)。第二步:在“src/main/java/你的包名”中,新建一个调用NDK函数的Ja

2017-10-25 18:29:24 378

原创 Android开发--Socket通讯解析

背景概述我们知道进程通信的方法有管道、命名管道、信号、消息队列、共享内存、信号量,这些方法都要求通信的两个进程位于同一个主机。但是如果通信双方不在同一个主机又该如何进行通信呢?在计算机网络中我们就学过了tcp/ip协议族,其实使用tcp/ip协议族就能达到我们想要的效果,如下图图1 各协议所处层次当然,这样做固然是可以的,但是,当我们使用不同的协议进行通信时就得使用不同的接口,

2017-10-20 18:18:05 655

原创 示例:Android使用AIDL实现跨进程通讯(IPC)

AIDL概述AIDL(Android Interface Definition Language),是Android接口定义语言,这种语言定义了一个客户端和服务器通讯接口的一个标准、规范。Google官方AIDL的说明如下:Using AIDL is necessary only if you allow clients from different applications to acc

2017-10-19 20:59:54 236

原创 Activity被系统意外回收时保留临时数据的方法onSaveInstanceState(Bundle outState)

onSaveInstanceState(Bundle outState)用于在系统由于内存紧张而回收程序的内存等情况时保存一些关键数据,对应的恢复数据函数为onRestoreInstanceState(Bundle savedInstanceState),也可以在函数onCreate(Bundle savedInstanceState)中来恢复数据。onSaveInstanceState通常在on

2017-10-18 10:19:27 1115

原创 万能Interface实现Fragment之间的通讯

实现两个Fragment之间的通讯方法有很多种,如:EventBus:使用方便,但其使用的是反射原理,会有稍微的延迟,并且他人维护不方便;static静态变量:使用方便,但是,每个static变量都会占用一块内存区,Android系统分配给每个App的内存是有限的(63M),过多很容易造成App内存溢出;广播Broadcast Receiver:Android的广播是有限制的,除了系统

2017-10-17 09:57:01 4576 1

转载 Android Framework解析

众所周知,Android是一个基于Linux实现的操作系统。但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别。所以Android也需要运行环境,需要Linux内核在启动完成后加载Android Framework运行所需要的资源。当Framework完成初始化后才能继续启动相应的APK应用程序。一、Framewo

2017-10-12 14:39:08 431

原创 Java学习笔记-Lambda表达式及內建函数式接口

Lanbda表达式可以认为是一种特殊的匿名内部类lambda只能用于函数式接口。lambda语法:     ([形参列表,不带数据类型])-> {     //执行语句     [return..;]}注意:1、如果形参列表是空的,只需要保留()即可2、如果没有返回值。只需要在{}写执行语句即可3、如果接口的抽象方法只有一个形参,()可以省略,只需要参数

2017-09-07 15:35:55 278

原创 Java学习笔记-枚举

在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW } 面试题:请解释enum和Enum的区别enum是一个关键字,使用enum定义个枚举类相当于继承了E

2017-09-07 12:38:57 207

原创 Java学习笔记-匿名内部类

匿名内部类一般使用在接口和抽象方法中,普通类尽量避免使用匿名内部类。package com.example.lonly;interface IMessage { public void print();}public class TestDemo { public static void main(String[] args) { IMessage msg = new IM

2017-09-07 12:29:39 176

原创 Java学习笔记-抽象类和接口的区别

抽象类和接口都是属于常用的类结构设计,在开发中都会出现,但就优先选择来讲,接口比抽象类更方便。它们的区别如下表:No.区别点抽象类接口1关键字abstract classinterface2结构组成抽象方法、普通方法、全局常量、属性、构造方法抽象方法和全局常量3访问权限各种访问权限只能使用pub

2017-09-07 12:24:19 172

原创 Java学习笔记-代理模式

代理模式的作用是:为其他对象提供一个代理对象以控制对目标对象的访问。代理对象可以在客户端和目标对象之间起到中介的作用1.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修

2017-09-06 22:06:57 133

原创 Java学习笔记-工厂模式

分类工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式可以分为三类: 1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory)  这三种模式从上到下逐步抽象,并且更具一般性。         GOF在《设计模式》一

2017-09-06 14:57:05 217

原创 Java学习笔记-多态性

面向对象的三大特性:封装、继承、多态。多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编译时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。在Java中,多态性的表现形式主要有以下两点:方法的多态性:                 

2017-09-06 14:11:49 180

原创 Java学习笔记-数组的静态初始化和动态初始化

在Java中,数组定义都有一个明显的特点:数组首先先开辟内存空间,而后根据索引进行内容的设置,那么,所有的这些操作称为动态初始化。而如果希望数组在定义的时候可以同时设置内容,则可以使用数组的静态初始化来完成。数组的静态初始化共分为以下两种类型:静态初始化:简化格式: 数据类型[] 数据名称 = { 值, 值 , 值 , ...} ;                   eg

2017-09-05 17:48:50 4243

原创 Java学习笔记-类与对象(对象内存分析)

在Java中,引用数据类型指的是内存空间操作,对于现在会使用的两块内存空间,我们可分为堆内存空间和栈内存空间。堆内存空间:保存真正的数据。堆内存保存的是对象的属性信息;栈内存空间:保存堆内存的地址(堆内存操作权)。如果要简化理解,可以理解为保存的是对象名称。内存参考图:Person per = new Person() ; //Person类有name、age属性

2017-09-05 16:32:04 259

原创 Java学习笔记-&&与&、||与|的区别

逻辑运算中:   |-与操作:      |-&&:表示逻辑与运算,若干个判断条件如果前面有条件返回了false,那么,后面的条件不再判断,最终结果就为false;      |- &  :所有的判断条件都要执行;   |-或操作:      |- ||:表示逻辑或运算,若干个判断条件如果前面有条件返回了true,那么,后面的条件不再判断,最终结果就为true;     

2017-08-29 21:44:27 155

原创 Java学习笔记-方法递归调用

在Java中,方法的递归调用指的是一个方法自己调用自己的形式。一般如果要进行方法的递归调用应满足以下两个特点:方法必须有一个递归的结束条件;方法在每次递归处理的时候一定要做出一些变更。案例:实现1~100的整数累加操作。package com.example.lonly;public class TestDemo { public static void main(

2017-08-29 16:45:16 749

原创 Java学习笔记-方法的重载

在Java中,方法的重载指的是方法名称相同,方法的参数类型或参数个数不同。先看一个简单的代码案例:package com.example.lonly;public class TestDemo { public static void main(String[] args) { //此时将根据参数类型或参数个数的不同调用执行不同的方法 System.out.println

2017-08-29 16:14:52 313

原创 Java学习笔记-数据类型划分

在Java中,数据类型一共分为两大类:1.基本数据类型:|-数值型:表示整数或小数;  |--整型:byte、short、int、long;        → 默认值:0  |--浮点型:float、double;                   → 默认值:0.0|-字符型:char;                                    → 默认值:'\

2017-08-29 15:21:04 248

原创 Java学习笔记-标识符与关键字

程序是一种逻辑的集合,所以,每一个逻辑体上都应该有自己的标记。例如,在程序中定义变量、常量、方法名称和类名称等等都有自己的命名要求。在Java中,标识符的命名要求如下:由字母、数字、_、$所组成,其中不能以数字开头,不能使用Java中的保留字(关键字)。1.个人建议:采用有意义的简单命名,例如:student_name、age;2."$"不要在你的代码之中出现,因为其有特殊含义。在所有

2017-08-29 14:59:45 275

原创 Java学习笔记-注释

Java是一门编程语言,那么,编程语言一定会有自己的语法和语义,现在就先来看下Java的程序注释。我们做程序开发,要求必须加上注释,这样方便代码维护和阅读。在Java程序中一共支持三种类型的注释:1.单行注释://注释内容;2.多行注释:/* 注释内容*/;(这种多行注释尽量少用)3.文档注释:/** 文档注释标记*/。注释与程序代码的最大区别是:注释内容不会再程序编译器编译。

2017-08-29 14:29:22 236

原创 BigInteger 与 BigDecimal的区别

一般来说,BigInteger用的不是很多,BigDecimal用的稍微多一点,就比如说JDBC中,如果一个字段的数据库类型是Number, 那么getObject().getClass()的结果是java.math.BigDecimal。BigInteger相比Integer的确可以用big来形容。它是用于科学计算,Integer只能容纳一个int, 所以最大值也就是2的31次访减去1,十进...

2017-05-31 10:46:52 7066 1

转载 Hi,我们再来聊一聊Java的单例吧

本文由BarryZhang原创,非商业转载请注明作者和原文链接。1. 前言单例(Singleton)应该是开发者们最熟悉的设计模式了,并且好像也是最容易实现的——基本上每个开发者都能够随手写出——但是,真的是这样吗?作为一个Java开发者,也许你觉得自己对单例模式的了解已经足够多了。我并不想危言耸听说一定还有你不知道的——毕竟我自己的了解也的确有限,但究竟你自己了解的程度到底怎

2017-05-19 00:23:52 300

原创 解决ScrollView中嵌套ListView或GridView导致的ScrollView自动滚动到ListView或GridView位置的问题

解决ScrollView中嵌套ListView或GridView导致的ScrollView自动滚动到ListView或GridView位置的问题

2017-05-16 15:32:50 440

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-05-16 15:22:34 155

原创 Android App自定义签名文件的生成、查看SHA1值和使用

本文知识点:1.通过命令行生成签名文件;2.使用Android Studio创建签名文件;3.查看SHA1值;4.Android Studio项目app的build.gradle中配置签名。

2017-05-09 11:52:37 1803

转载 Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?

摘录自https://www.zhihu.com/question/33636939作者:StephenLee链接:https://www.zhihu.com/question/33636939/answer/57171337来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。1、Throwable接口中的getStackTrace()方法(或

2016-05-28 17:47:49 430

转载 Android 仿微信支付密码输入框

本文转载自:http://m.blog.csdn.net/article/details?id=50374135今天在项目中遇到一个类似微信支付的密码输入框的需求,具体的实现要求如下:因为这样的一个控件主要实现的密码输入的功能,这大体上和Edittext相似,但不同于EditText的一点就是该控件需要显示六个密码框。对于控件在展示上不同的问题,毫无疑问

2016-05-19 14:58:33 651

原创 【Android】Universal Image Loader图片加载框架无法加载https图片问题解决方法

前段时间,公司在开发一个项目,项目前期没有考虑到数据加密,后来决定使用https对传输的数据进行加密传输,结果出现了其他功能都能正常使用,唯独使用github上面下载的universal-image-loader图片加载框架加载的图片突然就显示不出来了。网上查了下,说是因为universal-image-loader不支持加载https图片,但是很多介绍又说此框架是支持http/https图片加载

2016-05-16 11:49:51 2691

原创 如何将Microstrategy For Mobile SDK项目从Eclipse转移到Android Studio中?

最近几个月一直在弄一个项目,需要用到Microstrategy这个东西,研究了很久,最终想把它继承到自己的app中。但是,说起来也挺蛋疼的一件事,Microstrategy针对移动端所提供的SDK完全是忽视了我们安卓阵营,只提供了几个项目文件,让你在他的app上迭加自己的功能,而且本身它项目就已经是很大的了,你若是想加上一些像百度地图那样一些依赖库比较多的功能的话,你铁定谁遇到65535问题。不懂

2016-01-25 17:42:19 965

universal-image-loader解决无法加载https图片问题

android图片加载框架universal-image-loader解决无法加载https图片问题

2016-05-16

空空如也

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

TA关注的人

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