
转载
Aiden@9
这个作者很懒,什么都没留下…
展开
-
安卓回调机制
写安卓这么久了,对于回调一直没有深入研究。其实所谓的回调函数就是:在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用,这种机制就称为回调。(参考系统的view的onClick()接口理解)其实网文一大推都在说,也不过是互相转载而已,这其中看到几篇比较不错的,这里转载 2017-04-07 17:17:38 · 443 阅读 · 0 评论 -
Android 和 Java 内存泄露检测
转载自简书: 一个非常简单的 LeakCanary demo: https://github.com/liaohuqiu/leakcanary-demo 一个非常简单的 LeakCanary demo: https://github.com/liaohuqiu/leakcanary-demo开始使用在 build.gradle 中加入引用,不同的编译使用不同的引用:dependencies转载 2016-09-02 13:42:30 · 372 阅读 · 0 评论 -
Android生成带LOGO图片二维码的方法
一、问题描述 在开发中需要将信息转换为二维码存储并要求带有公司的logo,我们知道Google的Zxing开源项目就很好的帮助我们实现条形码、二维码的生成和解析,但带有logo的官网并没有提供demo,下面就通过实例看看如何实现以及Zxing的使用。 二、案例介绍 1、案例运行效果 Android生成带图片的二维码 2、案例准备工作 在项目中加入jar,只需加入cor转载 2016-07-13 09:18:29 · 734 阅读 · 0 评论 -
利用 LeakCanary 来检查 Android 内存泄漏
转载自:http://www.jianshu.com/p/0049e9b344b0你被概率性的 OOM 困扰么?有时候,OOM 像幽灵一样,挥之不去,可真想把它揪出来时,又捉之不着。或许,是时候用 LeakCanary 来诊断一下了。它是一个用来检查 Android 下内存泄漏的开源库,这篇文章主要介绍其用法、架构和其背后的实现原理。Square 有篇文章介绍了开发这个库的原因。他们的一个付款流程里转载 2016-07-11 15:42:46 · 441 阅读 · 0 评论 -
EventBus的使用和原理剖析
尊重原创: http://blog.youkuaiyun.com/yuanzeyao/article/details/38174537 代码下载: http://download.youkuaiyun.com/detail/yuanzeyao2008/7684041 在编程过程中,当我们想通知其他组件某些事情发生时,我们通常使用观察者模式,正式因为观察者模式非常常见,所以在jdk1.转载 2017-04-06 10:37:46 · 360 阅读 · 0 评论 -
Android高效加载大图、多图解决方案,有效避免程序OOM
参考:点击打开链接最简单的是我们使用glide,picasso等第三方加载图片库来做缓存,易于使用、代码简洁。glide使用:点击打开链接下面介绍优化的方法和原理Bitmap优化比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容转载 2017-04-06 16:16:42 · 1347 阅读 · 0 评论 -
安卓命名规范
命名规范:1 包(packages): 采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层级名 2 类(classes):名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的, 比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。 3 接口(inter转载 2017-04-06 17:24:33 · 592 阅读 · 0 评论 -
Android常用实用功能代码片大全
转: http://www.it165.NET/pro/html/201504/38370.html?bsh_bid=950898232一、 获取系统版本号: view sourceprint?1.PackageInfo info = this.getPackageManager().getPacka转载 2017-04-06 21:40:10 · 1115 阅读 · 0 评论 -
Windows版Git出现templates not found的问题
今天再clone 时,出现一个警告信息“warning: templates not found C:\Program Files\Git\share\git-core\templates”。于是想办法解决一下。分析:看提示是没有找到tamplate文件。按照错误提示中的路径去找,确实没有对应的目录。我的Git安装目录下只有这些文件夹:于是想着可能是Windows版的G转载 2017-05-22 16:18:57 · 2574 阅读 · 0 评论 -
Android Notification自定义通知样式你要知道的事
转载自:http://www.mamicode.com/info-detail-1522854.html什么是通知(Notification)通知是一个可以在应用程序正常的用户界面之外显示给用户的消息。通知发出时,它首先出现在状态栏的通知区域中,用户打开通知抽屉可查看通知详情。通知区域和通知抽屉都是用户可以随时查看的系统控制区域。作为安卓用户界面的重要组成部分,通知转载 2017-09-20 12:18:42 · 593 阅读 · 0 评论 -
java synchronized关键字的用法以及锁的等级:方法锁、对象锁、类锁
转载自:http://blog.youkuaiyun.com/le_le_name/article/details/52348314java的内置锁:每个java对象都可以用做一个实现同步的锁,这些锁成为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内置锁的唯一途径就是进入这个锁的保护的同步代码块或方法。 java内置锁是一个互斥锁,转载 2017-09-21 18:07:19 · 2967 阅读 · 0 评论 -
Android ConstraintLayout布局详解
解析ConstraintLayout的性能优势 https://mp.weixin.qq.com/s/gGR2itbY7hh9fo61SxaMQQAndroid新特性介绍,ConstraintLayout完全解析 http://blog.youkuaiyun.com/guolin_blog/article/details/53122387布局详解: http://blog.youkuaiyun.com/qq_34转载 2017-10-24 14:56:37 · 334 阅读 · 0 评论 -
java中判断文件是否为空内容
*在File类中并没有提供判断文件是否为空的方法,但可以借助length()方法的返回值进行判断。如果文件不存在或文件为空时,length()方法返回0。*File file = new File("D:\\test.txt"); if(file.exists() && file.length)() == 0) { System.out.println("文件为空!"); }原创 2016-12-15 11:57:58 · 45671 阅读 · 8 评论 -
Lambda表达式的使用实例(转载)
1、首先介绍下什么是Lambda?我们知道,对于一个Java变量,我们可以赋给其一个“值”。 如果你想把“一块代码”赋给一个Java变量,应该怎么做呢? 比如,我想把右边那块代码,赋给一个叫做aBlockOfCode的Java变量: 在Java 8之前,这个是做不到的。但是Java 8问世之后,利用Lambda特性,就可以做到了。 为了使这个赋值操作更加elegant, 我们可以...转载 2018-06-13 14:55:20 · 1703 阅读 · 0 评论 -
transformDexArchiveWithExternalLibsDexMergerForDebug 问题的完美定位[转载]
地址:transformDexArchiveWithExternalLibsDexMergerForDebug – double Shift:全局查找,这个查看和Alt+H稍稍有些不同,这个是全局文件查找,到文件名称层面。exclude 剔除掉多余的包场景一要移除的jar包不在aar包中的classes.jar中直接把aar包里的Jar打包的时候给去掉,就像下面这这样。...转载 2018-08-10 13:07:52 · 647 阅读 · 0 评论 -
安卓webview开发简介
*转载出处 http://blog.youkuaiyun.com/typename/article/details/39030091 powered by meichal zhao 概览:* Android WebView在Android平台上是一个特殊的View, 他能用来显示网页,这个类可以被用来在你的app中仅仅显示一张在线的网页,还可以用来开发浏览器。WebView内部实现是采转载 2016-09-05 14:59:58 · 563 阅读 · 1 评论 -
android日常开发总结的技术经验60条
转自博客,点击 1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架LiteOrm库,超级清晰且重心可以放在业务上不用关心数据库细节。全局变量放全局类中,模块私有放自己的管理类中,让常量清晰且集中.不要相信庞大的管理类的东西会转载 2016-09-24 10:56:44 · 283 阅读 · 0 评论 -
EventBus事件总线——优雅地替换Handler
转载自:http://bbs.itcast.cn/thread-83609-1-1.html 传智播客 什么是EventBus EventBus是Android下高效的发布/订阅事件总线机制。作用是可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment,Activity,Service,线程之间传递数据,执行方法。特点是代码简洁,是一种发布订阅设计模式(Pub转载 2016-09-27 20:29:53 · 3413 阅读 · 0 评论 -
Android 数据库框架 LiteOrm使用
版权声明:转载请注明出处 https://github.com/baiiu前言关于AndroidORM框架,之前写过关于GreenDao的使用,在被安利了一篇Android数据库框架:greenDAO vs LiteOrm,又看了下LiteOrm的基本使用,很方便,而且效率并不低,特别是在级联查询上,很方便很面向对象。恩,LiteOrm不是OrmLite。关于它的使用主要是...转载 2017-04-08 23:11:56 · 5816 阅读 · 1 评论 -
Android设置界面之Preference
转载自简书:http://www.jianshu.com/p/6d6f84e2f50dAndroid系统为设置界面的UI提供了一系列的接口,设置界面的部分和Activity是分离的,会有一个PreferenceScreen的对象是根目录,在其中会包含CheckBoxPreference EditTextPreference ListPreference PreferenceCate转载 2017-04-09 14:57:15 · 828 阅读 · 0 评论 -
android:windowSoftInputMode属性
转载自出处 Android:windowSoftInputMode用于设置当前activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题。 这个属性能影响两件事情: 【一】当有焦点产生时,软键盘是隐藏还是显示 【二】是否减少活动主窗口大小以便腾出空间放软键盘 它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。各个值之间用|分开转载 2017-03-24 16:37:04 · 282 阅读 · 0 评论 -
ContentProvider实现数据共享
转载自:http://www.cnblogs.com/RGogoing/p/4603309.html这里写链接内容 学习内容:1.使用ContentProvider存储数据2.操作联系人的ContentProvider…3.多媒体信息的ContentProvider… ContentProvider:ContentProvider类是一个实现数据共享的一个类,它将共享的数据进行包装,然后对外暴露转载 2017-04-05 15:28:40 · 734 阅读 · 0 评论 -
通过hide,show方式导致的fragment 重叠问题
转载自:网址 参考:网址最近在做项目的时候,遇到了fragment重叠的问题。具体的情况是,我在一个fragment中,通过add的到FragmentTransaction的方式,又放了四个子fragment allFrg,movieFrg,newsFrg,otherFrg。当我点击allFrg对应tab键时,通过hide隐藏其他三个fragment,通过show来显示allFrg。正常情况下显转载 2017-03-31 17:33:30 · 846 阅读 · 0 评论 -
EditText的一些属性
转载:http://www.cnblogs.com/haochuang/p/3571754.html 一、android 软件盘事件响应 在android中,有时需要对EditText实现软件盘监听的场景。当android按下软键盘的时候,响应完成、发送、搜索或者其他事件。 Google 提供了 EditorInfo、KeyEvent 的一些方法,能够实现我们需要的功能。详细可研究:Edito转载 2017-03-17 11:50:17 · 524 阅读 · 0 评论 -
流式布局FlowLayout使用
参考自:地址传送 特色 以setAdapter形式注入数据 直接设置selector为background即可完成标签选则的切换,类似CheckBox 支持控制选择的Tag数量,比如:单选、多选 支持setOnTagClickListener,当点击某个Tag回调 支持setOnSelectListener,当选择某个Tag后回调 支持adapter.notifyDataChanged转载 2017-02-27 22:09:06 · 3042 阅读 · 0 评论 -
Retrofit的简单使用
转载自:http://blog.youkuaiyun.com/bitian123/article/details/51899716 - Retrofit与okhttp共同出自于Square公司,retrofit就是对okhttp做了一层封装。把网络请求都交给给了Okhttp,我们只需要通过简单的配置就能使用retrofit来进行网络请求了,其主要作者是Android大神JakeWharton。导包:com转载 2017-02-20 16:16:16 · 290 阅读 · 0 评论 -
安卓 GreenDao 基本使用
转载自:http://blog.youkuaiyun.com/fengltxx/article/details/53708769 第一步:将GreenDao引入到项目中(以Studio为例)1.在Project–>budld.gradle中配置如下:dependencies { classpath 'com.android.tools.build:gradle:2.0.0'转载 2017-02-20 15:42:20 · 1296 阅读 · 0 评论 -
Android Webview实现文件下载功能
在做美图欣赏Android应用的时候,其中有涉及到Android应用下载的功能,这个应用本身其实也比较简单,就是通过WebView控制调用相应的WEB页面进行展示。刚开始以为和普通的文件下载实现,只需要一个链接,然后点击就可以实现下载了,可是放到手机上试的时候,点击下载链接一点反应都没有,在普通页面里面点击是好的,且点击其它的普通链接是可以正常工作的。原来是因为WebView默认没有开启文件下载的功转载 2017-02-13 16:53:32 · 1769 阅读 · 0 评论 -
安卓Viewpager加载大量图片的时候卡顿
在viewpager中使用fragment,但是fragment中有大量的图片,所以每次滑动viewpager的时候由于viewpager的预加载机制,它每次都加载两页的数据,所有有时候会卡顿或奔溃,这时候就需要解决 一开始我想的是取消预加载,但是第一太麻烦,第二效果不好,还是会卡顿,所以上网找了一些方法,终于感觉有个不错的,就是用setUserVisibleHint,这是fragment的一个方原创 2017-01-07 14:43:07 · 2120 阅读 · 0 评论 -
Android 软键盘盖住输入框的问题
当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入。解决办法:方法一:在你的activity中的oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)转载 2016-12-20 22:41:50 · 489 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别??
在大部分情况下 StringBuffer > StringBufferString 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 Str转载 2016-12-20 22:26:09 · 244 阅读 · 0 评论 -
Java中StringBuilder清空数据方法比较
StringBuilder 没有提供clear或empty方法。清空有3种方法:1)新生成一个,旧的由系统自动回收2)使用delete3)使用setLength将三种方法循环1000万次,代码:1.public class sbbm {2.3. static String a;4. static long time ;5. public static void m转载 2016-12-20 22:22:34 · 11050 阅读 · 0 评论 -
Activity中添加多个Fragment切换,透明状态栏后顶部进入状态栏问题
stackoverflow网站解决方法转载自:安久哲(翻译产生的原因,当第一个Fragment添加到Activity中的时候,Activity寻找出有fitsSystemWindows的子布局为其预留出状态栏的空间,其实就是设置一个padding,而其他Fragment添加到Activity中的时候,因为状态栏空间的适配已经被消费过一次了,Activity并不会再次去添加这个padding。...转载 2019-04-19 11:01:39 · 798 阅读 · 0 评论