- 博客(70)
- 资源 (28)
- 收藏
- 关注
原创 Android开发偷懒技巧之阴影
在Android开发中我们会在设计稿中看到各种阴影效果,我们知道CardView可以添加阴影效果,不过可能并不是我们设计稿想要的效果,那我们如何可以更加灵活地给我们原生控件添加阴影效果,这就是下面所要描述的,当然也可以让设计师给个阴影切图,我们做下.9处理然后使用切图实现阴影效果。下面看看如何用代码更灵活地去为原生控件实现阴影效果,源码可以查看 XSelector GitHub, 也可移步【...
2019-05-09 09:30:44
478
原创 App版本更新接口的设计
工作这几年碰到的版本检测升级的接口也算是五花八门,啥样的都有,但肯定有的功能是有个apk的下载链接,能间接或直接提示你是强制还是非强制更新:- 间接是指提供你后台最新版本号,让你自己与本地版本号通过比较得出是否升级;- 直接就是后台接口直接返回个Boolean类型告诉你是强制或者非强制更新。个人认为一个好的版本检测接口需要设计的更灵活更清晰用起来更方便,下面就我理解的接口设计如下(如思路有误,欢迎...
2018-05-10 23:28:53
6047
原创 Android开发偷懒技巧之XSelector
平时我们在开发项目时看到设计稿中有各种对控件设置在不同状态下显示不同的背景(边框、颜色等)样式或者不同的文字显示颜色等效果,这时候我们就需要在项目的resource目录下的drawable中创建对应的Selector.xml文件然后通过setBackground方法设置到对应的控件中以显示想要的效果。如果项目中的效果一直,只采用一两种样式效果还好,我们只需建立一两个selectro.xml文件即可...
2018-05-05 10:32:46
1431
原创 APP插件化/组件化框架分析
VirtualAPK插件框架简单使用如感觉排版看着不舒服,可移步【APP插件化/组件化框架分析】。最近一段时间在研究插件化和组件化实现方案,今天也算整理一下笔记记录一下,记得之前讲述过一篇关于组件化的文章【Android 组件化之初探】,刚好对应着阿里的Atlas组件化框架,今天主要做个大致的介绍,稍后再逐个讲述下各框架的接入方法以及具体使用方法。一、模块化、插件化和组件化1. 模块化、插件化和组件
2017-11-22 21:16:58
5698
原创 Android中实现Native与H5的通信方案汇总
若感觉排版不舒服,可移步【Android中实现Native与H5的通信方案汇总】一、利用JsBridge实现Native与H5的双向通信Android中的JSBridge是H5与Native通信的桥梁,其作用是实现H5与Native间的双向通信。在Android中展现H5也就用到了Webview,之前写了一篇文章Android WebView简单使用以及实现native与h5交互,主要就是介绍一个w
2017-10-21 09:45:14
1483
原创 Android开发中常用工具类源码积累
如感觉排版不舒服,可移步Android开发中常用工具类源码积累。三年多的时间转眼即逝,如今回过头看看自己的成长,丝毫感觉不到任何欣慰,相比昔日的同学们,感觉自己的成长太慢了,甚至有些迷茫了,感觉是时候静下脚步沉思一下然后提起脚步继续前进。一直希望有人能指引自己前进,这样自己可以避免走弯路,可是事与愿违,感觉所有的一切都得自己去尝试去摸索过后才会有所体会有所感悟。如今在自己静下来的同时希望自己从基础做
2017-09-01 22:28:42
675
原创 Android View的事件分发机制与滑动冲突解决方案
如若感觉排版不适,请移步 这里 。在Android开发中,如果是一些简单的布局,都很容易搞定,但是一旦涉及到复杂的页面,特别是为了兼容小屏手机而使用了ScrollView以后,就会出现很多滑动事件的冲突,最经典的就是ScrollView中嵌套了ListView。今天主要总结一下这方面的知识点,也当作以后复习的笔记,本文主要讲述以下几点: + View的事件分发机制 + 事件滑动冲突的思路及方
2017-06-19 20:20:51
1150
原创 Android中图片压缩方案详解
如感觉排版不舒服,可移步至此处查看图片的展示可以说在我们任何一个应用中都避免不了,可是大量的图片就会出现很多的问题,比如加载大图片或者多图时的OOM问题,可以移步到Android高效加载大图、多图避免程序OOM.还有一个问题就是图片的上传下载问题,往往我们都喜欢图片既清楚又占的内存小,也就是尽可能少的耗费我们的流量,这就是我今天所要讲述的问题:图片的压缩方案的详解。1、质量压缩法设置bitmap o
2017-03-21 14:33:02
2309
1
原创 android各个版本的新特性
也可移步这里查看一、Android 4.x新锁屏界面: Android4.0重新设计了锁屏幕UI,下方的解锁虚拟按键向周围发射出微光,轻轻拖动就可以解锁,比原来在UI上确实有很大的进步。全新Widget排列: 主屏幕上的Widget插件是Android区别于其他系统最大的特点,新的Widget将会像程序界面那样排列。程序和Widget插件分为两个标签,清楚明了。更直观的程序文件夹
2017-03-03 23:41:11
4044
原创 https 与 http、TCP/IP、Socket网络通信
如若感觉排版看着不舒服,请移步https 与 http、TCP/IP、Socket网络通信一、https 与 httpHTTPS HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容
2017-03-03 22:52:54
1247
原创 Android多渠道批量打包
如若感觉排版不舒服,请移步Android多渠道批量打包1、为什么要进行多渠道打包? 安卓应用商店(一个商店也叫做一个渠道,如豌豆荚,360手机助手,应用宝)众多,大大小小几百个,每当我们发新版本时,需要将Android客户端分发到各个应用市场,为了统计这些市场的效果(下载量、活跃数等),需要有一种方法来唯一标识它们,所以才有了多渠道打包。2、如何统计各个渠道的下载量、活跃数?
2017-03-02 22:54:04
3759
1
原创 Android OOM之内存泄漏详解
如若感觉排版看着不舒服,可以移步这里OOM(OutOfMemory)就是我们平时所碰到的内存溢出,而内存泄漏的最终后果就是导致OOM。 内存泄漏是造成应用程序OOM的主要原因之一!我们知道Android系统为每个应用程序分配的内存有限,而当一个应用中产生的内存泄漏比较多时,这就难免会导致应用所需要的内存超过这个系统分配的内存限额,这就造成了内存溢出而导致应用Crash。一、内存分配策略
2017-03-01 18:56:36
661
1
原创 Android开发之Manifest.xml
每一个Android项目都包含一个清单(Manifest)文件–AndroidManifest.xml,它存储在项目层次中的最底层。清单可以定义应用程序及其组件的结构和元数据。 它包含了组成应用程序的每一个组件(活动、服务、内容提供器和广播接收器)的节点,并使用Intent过滤器和权限来确定这些组件之间以及这些组件和其他应用程序是如何交互的。 它还提供了各种属性来详
2017-02-28 15:26:43
548
原创 Activity跳转方式总结
自我感觉这里的排版看着更舒服些。Activity跳转方式总结一、显式调用方法方法一: Intent intent=new Intent(本类,将要跳转的类); //Intent intent=new Intent(MainActivity.this,JumpToActivity.class); startActivity(intent); 方法二: Intent intent2=
2017-01-20 22:04:52
3860
转载 Android PackageManager 用法
参考资料:http://blog.youkuaiyun.com/qinjuning/article/details/6867806,有改动。PackageManger的主要职责是管理应用程序包,通过它可以获取应用程序信息。AnroidManifest.xml文件节点说明:一 、相关类介绍1. PackageItemInfo类AndroidMa
2017-01-13 22:47:57
23827
2
原创 Android中webView实战详解
感觉这个排版看起来更舒服 Android WebView简单使用以及实现native与h5交互一、WebView谷歌提供的系统组件,用来加载和展现html网页,其采用webkit内核驱动,来实现网页浏览功能。拥有load() URL和本地html文件。 // 云端 webView.loadUrl("https://www.baidu.com"); // 本地 webView.loadUrl("fi
2017-01-13 22:39:22
1805
原创 Android中所涉及的常用设计模式
1、单例模式概念:确保一个类只有一个实例,并且自行实例化并向整个系统提供整个实例优点: 1.1、对于那些耗内存的类,只实例化一次,大大提高性能,尤其是移动开发中1.2、程序运行中,始终保持只有一个实例在内存中public class Singleton { private static volatile Singleton instance = n
2017-01-13 22:26:29
6887
4
原创 okhttp3与旧版本okhttp的区别分析
1、包名改变 包名改了由之前的 com.squareup.http. 改为 okhttp3.我们需要将导包名直接换掉,另外记得修改progurad-rules.pro 文件中将对应包名2、OkHttpClient参数配置 之前参数可以直接mOkHttpClient.setCache(cache)设置,现在OkHttpClient使用创建者模式,需
2017-01-07 16:27:07
8762
1
原创 GreenDao设置数据库路径以及数据库升级
1. APP开发期间的数据库在上一篇文章中封装了GreenDaoManager中有个构造方法如下:private GreenDaoManager(){ if (mInstance == null) {// DaoMaster.DevOpenHelper devOpenHelper = new// DaoMaster.De
2016-12-06 20:10:05
13117
1
原创 GreenDao3.0简单使用
greenDAO 优势1、一个精简的库 2、性能最大化 3、内存开销最小化 4、易于使用的 APIs 5、对 Android 进行高度优化Greendao3.0 最主要的三大改变:换包名 实体注解 加密支持的优化GreenDao 3.0使用:GreenDao 3.0采用注解的方式来定义实体类,通过gradle插件生成相应的代码。GreenDao3
2016-12-06 20:08:27
2013
转载 Android M新控件之FloatingActionButton,TextInputLayout,Snackbar,TabLayout的使用
【转载请注明出处:http://blog.youkuaiyun.com/feiduclear_up/article/details/46500865 优快云 废墟的树】在前不久的谷歌2015 I/O大会上,发布了Android新版本M,貌似从这个版本开始Android不在以数字命名版本了。在这次的I/O大会上谷歌对Android并没有很大的改变,主要是修改完善之前Android L版
2016-11-29 11:15:26
654
转载 (spring mvc+spring+Mybatis)框架整合
最近用Idea开发,idea是一款综合的相对较新的Java IDE。Idea支持很多整合功能,我觉得挺好用的。Idea可以校正xml,支持jsp的调试。最让我喜欢的是,写spring配置文件的时候,写的一些路径都可以自己找到。classpath自己有代码的提示,超级的智能。环境配置在整合框架之前,先配置一下JER运行环境,配置maven仓库。 1.File——ProjectSt
2016-10-14 11:16:34
615
转载 Android 百度地图开发(二)--- 定位功能之MyLocationOverlay,PopupOverlay的使用
转载请注明出处http://blog.youkuaiyun.com/xiaanming/article/details/11380619这一篇文章主要讲解的是百度地图的定位功能,然后还有MyLocationOverlay和PopupOverlay两个地图覆盖物的使用,Overlay是“图层”或“覆盖物”的意思,MyLocationOverlay从名字上面理解就是我的位置图层,他能够实现在地图上显示当前
2016-10-14 11:15:38
972
转载 JSP学习——JSP基础知识(二)
下面主要讲Jsp的9个内置对象。Jsp的内置对象为Servlet API的类或接口的实例化,它们的实例化过程由Jsp标准自动进行,意即:我们可以直接使用这些对象,而不需要声明它,这些内置对象分别为:application, config,request,response,exception,out,page,pagecontext,session;接下来,我就分别对几个主要对象的特性进行详细阐述:
2016-10-12 10:41:11
624
转载 JSP学习——JSP基础知识(一)
1.JSP语句的生明JSP的声明语句格式,,要注意,凡是用JSP声明的变量或函数,在servlet容器翻译成servlet类时,都将其翻译为servlet类的成员变量或函数;当JSP文件被翻译成servlet类后进行实例化时,所有的客户端访问的实例化servlet对象都是同一个对象,这意味着,如果试图对成员变量进行操作,那么其影响可谓是全局性的。来看下下面实例: <% St
2016-10-10 17:11:39
522
转载 Android 中的 Service 全面总结
1、Service的种类按运行地点分类:类别区别 优点缺点 应用本地服务(Local)该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL。相应bindService会方便很多。 主进程被K
2016-10-09 15:04:52
376
原创 Android ComponentName的用法
ComponentName与Intent同位于Android.content包下,我们从Android官方文档中可以看到,这个类主要用来定义可见一个应用程序组件,例如:Activity,Service,BroadcastReceiver或者ContentProvider。 那么,如何用ComponentName来定义一个组件呢。 这是ComponentName的
2016-10-09 14:24:35
15238
原创 AndroidStudio 使用AIDL
一直以来都认为AIDL的应用离我很遥远,甚至不知道如何去用,也就懒得去学,之前的项目中也看到过aidl文件,只是懒得去看而已,现在感觉自己真的是无药可救了,如果只止步于学习一些UI调整的东西谈何进步,不过有些东西也真是逼着去学的,要学的东西太多了,只要隔着一段时间不用的话,估计学习的东西又都忘完了,不说了,开始讲正事,也算给自己留个笔记,长时间不用再回来看看。1、为什么要有AIDL?对于A
2016-10-09 11:41:00
1812
原创 AndroidStudio项目导入第三方library
之前一直用Eclipse进行Android开发,引入library方法很简单,如今使用AndroidStudio 进行Android开发,需要导入第三方开源library 。方法如下:1.创建libraries文件夹2.将第三方复制到libraries 文件夹中查看导入的libraries与你当前的开发环境是否不一致,需要查看library的
2016-06-08 09:04:33
3509
转载 Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图
转载请注明地址http://blog.youkuaiyun.com/xiaanming/article/details/11171581最近自己想研究下地图,本来想研究google Map,但是申请API key比较坑爹,于是从百度地图入手,其实他们的用法都差不多,本篇文章就带领大家在自己的Android项目中加入百度地图的功能,接下来我会写一系列关于百度地图的文章,欢迎大家到时候关注!
2016-06-02 11:54:52
2522
转载 Android apk动态加载机制的研究(二):资源加载和activity生命周期管理
转载请注明出处:http://blog.youkuaiyun.com/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客)前言为了更好地阅读本文,你需要先阅读Android apk动态加载机制的研究这篇文章,在此文中,博主分析了Android中apk的动态加载机制,并在文章的最后指出需要解决的两个复杂问题:资源的访问
2016-05-26 16:53:44
446
转载 Android apk动态加载机制的研究
转载请注明出处:http://blog.youkuaiyun.com/singwhatiwanna/article/details/22597587 (来自singwhatiwanna的csdn博客)背景问题是这样的:我们知道,apk必须安装才能运行,如果不安装要是也能运行该多好啊,事实上,这不是完全不可能的,尽管它比较难实现。在理论层面上,我们可以通过一个宿主程序来运行一些未安装的apk,当然,
2016-05-26 16:52:52
373
转载 JavaScript基础
一、JavaScript语言特点1.1、JavaScript是基于对象和事件驱动的(动态的) 它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,就称为“事件”。比如按下鼠标,移动窗口,选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。1.2、Ja
2016-05-26 16:51:29
353
原创 android通过字符串变量设置要跳转的Activity
使用java的反射机制可以达到所要的效果代码如下String classStr = "com.example.liujc.myapplication.PostDemoActivity"; Class clazz = null; try { clazz =
2016-05-23 10:34:40
1295
转载 Android -- 获取汉字的首字母
转换获取一个汉字的拼音首字母。 GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x43,0x24转成10进制就是36,0x43是67,那么它的区位码就是3667,在对照表中读音为‘n’。XML布局<LinearLayout xmlns:android="http://sc
2016-05-04 10:36:00
1270
原创 Android Studio NDK-Jni开发小Demo
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后
2016-04-14 13:30:10
7020
原创 Intellijidea建javaWeb以及Servlet简单实现
一、创建并设置javaweb工程1.创建javaweb工程File --> New --> Project...点击Project后出现如下界面,选择Java Enterprise,选中下图圈中部分点击Next后弹出下图弹出框,设置工程名字:创建完成后工程结构如下:
2016-04-06 20:46:52
36732
7
原创 Android实现获取短信验证码的功能以及自定义GUI短信验证
短信验证功能大家都很熟悉了。在很多地方都能见到,注册新用户或者短息验证支付等。短信验证利用短信验证码来注册会员,大大降低了非法注册,很大程度上提高了用户账户的安全性。 目前市面上已经有了很多提供短信验证的服务商,有收费的,也有免费的。如果是个人的开发者,用免费的是最划算的了!下面我就介绍一个免费的短信验证平台---Mob.com Mob平台提供的短信验证功能可以实现快速的验
2016-03-31 16:16:30
7537
Android中播放gif和flash动画的demo
2015-01-28
Intellijidea建javaWeb以及Servlet简单实现
2017-03-02
JSP以及Java后台接口Demo
2017-03-02
Android实现获取短信验证码的功能以及自定义GUI短信验证
2016-04-14
自定义通知栏notification,类似酷我音乐在后台运行时,带有按钮的通知栏
2014-09-24
调用相机、相册、创建快捷方式、以及验证码和监听手机系统联系人是否修改与添加等功能demo
2014-09-24
androidstudio开发的aidl小demo
2016-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅