
Android
软件开发积累
软件开发中的积累和思考。
展开
-
Fresco-图片加载之线程切换与多路复用
Fresco-图片加载之线程切换与多路复用接上节,看一下我们没有看的两个Producer: ThreadHandoffProducer 与 BitmapMemoryCacheKeyMultiplexProducer/**Bitmap cache get -> thread hand off -> multiplex -> bitmap cache@param input...转载 2019-02-21 23:38:24 · 862 阅读 · 0 评论 -
Android使用文件缓存对象
oschina的android客户端,用文件保存对象原创 2014-11-11 08:10:28 · 1512 阅读 · 0 评论 -
PullToRefresh动态设置刷新的文字
PullToRefresh快用烂了,到现在还在使用!pullToRefreshListView.getLoadingLayoutProxy(true, true).setLoadingDrawable(getActivity().getResources().getDrawable(R.drawable.default_ptr_rotate));// 下拉刷新时的提示文本设置pul原创 2015-06-15 16:58:04 · 4123 阅读 · 0 评论 -
Android buttom textview 颜色平滑过渡的动画效果
TransitionDrawable transitionDrawable = new TransitionDrawable( new Drawable[] { defaultDrawable, new BitmapDrawable(BaseApplication.getContext() .getResources(),原创 2015-09-08 16:33:34 · 7149 阅读 · 0 评论 -
popupwindow全屏幕显示被状态栏挡住如何解决+Android获取状态栏高度
这是我在开发淘粉吧app中,筛选需求,使用popupwindow显示筛选panel,在我的Android4.2系统中显示效果,popupwindow被状态栏statusBar挡住。需求中这个筛选的界面需要显示在所有Activity的上层,包括TabActivity,如果不使用popupwindow那么可能会出现下面的情况。解决上面的bug我能用的解决方式是1原创 2015-09-11 11:51:02 · 21758 阅读 · 3 评论 -
Accessibility辅助控制类
熟悉Android开发的搜知道辅助功能服务,Accessibility service。他的作用有很多,360豌豆荚等应用市场的非root自动安装,微信抢红包插件,盲人辅助使用手机等等功能都是靠他实现的。 网上关于AccessibilityService的阐述和用法已经很多很详细了,能翻墙且英文没问题就直接看官网:http://developer.android.com/reference/and原创 2015-12-17 16:26:24 · 2496 阅读 · 0 评论 -
Fragment的onResume
前言Fragment虽然有onResume和onPause的,但是这两个方法是Activity的方法,调用时机也是与Activity相同,和ViewPager搭配使用这个方法就很鸡肋了,根本不是你想要的效果,这里介绍一种方法。声明欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com农民伯伯: http://over14转载 2016-01-16 10:42:03 · 1356 阅读 · 0 评论 -
Android Data Binding简单介绍
在今年的Google IO 2015 中,Google 在 support-v7 中新增了 Data Binding,使用 Data Binding可以直接在布局的 xml 中绑定布局与数据,从而简化代码,Android Data Binding是Android 的 MVVM 框架。因为 Data Binding 是包含在 support-v7 包里面的,所以可以向下兼容到最低 Android原创 2015-08-10 10:11:37 · 692 阅读 · 0 评论 -
android中保存一个ArrayList到SharedPreferences的方法
public static void setArray(String key,ArrayList sArray) {SharedPreferences.Editor mEdit1= getSp().edit();mEdit1.putInt(key+"_size",sArray.size());for(int i=0;imEdit1.remove(key+"_" + i);mEd原创 2014-10-10 14:09:06 · 1595 阅读 · 0 评论 -
Android之判断前后台运行
[java] view plaincopy/** * 程序前后台判断 * @return */ private boolean isAppOnForeground() { ActivityManager activityManager = (ActivityManager)getSystemService(ACTIVITY_SER转载 2014-10-15 23:07:02 · 1820 阅读 · 0 评论 -
使用GSON 解析JSON 数据
[转载]使用GSON 解析JSON 数据 1、GSON 的介绍: GSON 是一个JAVA 库,可用于将JAVA 对象转换称JSON,它也可以被用于将一个JSON 字符串转换为等效的Java对象。 GSON 可以与任意Java对象,包括预先存在的对象或者你没有源代码结合。 背景:已经有很多开源项目,可以转换Java对象到JSON。然而,他们中大多数要求在原创 2014-09-17 19:29:12 · 1208 阅读 · 0 评论 -
Android 中 加载Bitmap
Android 中 加载Bitmap时,造成的Out of memory 问题在Android中,对图片使用的内存是有限制的,加载的图片过大便出导致OOM问题。图像在加载过程中,是把所有像素(即长*宽)加载到内存中,如果图片过大,便会导致java.lang.OutOfMemoryError问题,因此,在使用时要要加以注意。原创 2014-09-02 15:56:39 · 1166 阅读 · 0 评论 -
超大屏幕从资源文件获取bitmap可能放大倍数过大的问题
if (bitmap_award == null) { int densityDpi = getResources().getDisplayMetrics().densityDpi; BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inPreferr原创 2014-08-28 18:27:38 · 1143 阅读 · 0 评论 -
MediaChooser的gridview加载图片的方法
在getview中ImageLoadAsync loadAsync = new ImageLoadAsync(mContext, holder.imageView, mWidth/2);loadAsync.executeOnExecutor(MediaAsync.THREAD_POOL_EXECUTOR, mGalleryModelList.get(position).url);原创 2014-08-26 18:35:03 · 1279 阅读 · 0 评论 -
android 使用广播监听网络切换
在application中private BroadcastReceiver mNetworkStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction()原创 2014-10-15 22:51:33 · 2311 阅读 · 0 评论 -
Android 4.4从图库选择图片并裁剪,由于系统版本不同导致Uri的bug的简单解决方式
做过Android换头像的都知道如何使用系统的方法选图片或者拍照换头像。有几个intent可以使用:拍照: new Intent(MediaStore.ACTION_IMAGE_CAPTURE);选取相册图片: new Intent(Intent.ACTION_GET_CONTENT, null); new Inte原创 2015-12-23 17:09:50 · 3310 阅读 · 1 评论 -
java如何打印log日志
一、如何写入文件到硬盘I/O首先了解下换行符在不同平台不一样 String line = System.lineSeparator();if ("\r\n".equals(line)) {System.out.println(“windows”);} else if ("\n".equals(line)) {System.out.println(“Mac”);}else&amp原创 2018-12-15 23:33:50 · 2808 阅读 · 1 评论 -
Android常用面试题目
android事件分发机制https://www.jianshu.com/p/e99b5e8bd67b原创 2018-03-31 15:39:10 · 319 阅读 · 0 评论 -
java基础面试题
java基础面试题几个常用基础代码 动态代理 LRU 反射 https://github.com/wanwanpp/java-plus弱引用(GC立刻回收) 软引用 https://blog.youkuaiyun.com/mazhimazh/article/details/19752475...原创 2018-03-31 15:38:04 · 250 阅读 · 0 评论 -
Instant Apps是什么和实现原理
https://www.youtube.com/watch?v=9Jg1D07NgeIhttp://android-developers.blogspot.com/2016/05/android-instant-apps-evolving-apps.html它的概念很简单:你在 Android 手机上,朋友给你发来一个链接,比方说,一个摄影用品商店 B&H 上的商品。而恰好 B&H 的原创 2017-05-23 00:08:30 · 6401 阅读 · 0 评论 -
mac如何关闭gradle的task,杀死gradle进程 how-to-stop-gradle-task-execution-in-Android-studio
在AS中运行编译时候往往会便已很久甚至卡顿,这个时候点击红色查查后gradle仍然在运行。http://stackoverflow.com/questions/21184794/how-to-stop-gradle-task-execution-in-android-studiostackoverflow解释是:No, Gradle (as of this writing,原创 2017-02-21 19:58:03 · 4891 阅读 · 0 评论 -
Android N7.0多窗口适配开发指导
0 前言背景本文档为多窗口适配指导文档。当前仅重点介绍有关分屏(split-screen)的相关说明,后续逐步补充其他模式的说明。使用对象使用Android平台的研发人员和测试人员等。适用范围该规范适用于基于Android平台的产品开发。术语定义规则:编程时必须遵守的约定说明:某个规则的具体解释错误示例:违背某条规则的例子正确示例:遵循某条规则的例子转载 2016-07-20 10:54:01 · 12213 阅读 · 2 评论 -
java的List实现深拷贝
原帖地址:http://suihr.javaeye.com/blog/469616 大家应该理解浅拷贝和深拷贝的区别:浅拷贝:被复制对象的任何变量都含有和原来的对象相同的值,而任何的对其他对象的引用仍然指向原来的对象。对拷贝后的引用的修改,还能影响原来的对象。深拷贝:把要复制的对象所引用的对象都复制了一遍,对现在对象的修改不会影响原有的对象。如果大家还不理解,在网上看到一个原创 2016-07-26 22:10:55 · 5065 阅读 · 0 评论 -
Android项目,library中根据资源id获取资源
场景 BaseActivity放在library中,所有页面都有一个返回按钮,id为id_iv_back。想在BaseActivity统一设置返回点击事件。但是library无法获取app的R文件,也就无法获取该引用资源。。。解决方法所以我们必须实时的获取这个十六进制的数值。有两个方式可以选择:1.(推荐)通过android.content.原创 2016-03-18 14:09:27 · 5424 阅读 · 0 评论 -
eventbus学习小结
琴弦第七:整个框架的实现原理简单来说就是将需要监听事件的对象注册到框架中,注册的过程中会通过反射解析这些对象是否包含的onEventXXX()方法,方法的入参就是这个对象需要监听的事件类型。当在某个地方post事件对象到框架中的时候,框架会遍历注册时解析的对象,回调支持该事件对象的onEventXXX()方法。原创 2016-01-15 01:16:59 · 517 阅读 · 0 评论 -
Handler零碎知识
一个 Handler 中只能有一个 Looper,而一个 Looper 则可以对应多个 Handler,只要把 Looper 往 Handler 的构造方法里扔扔扔就好了。Looper主要作用:1、 与当前线程绑定,保证一个线程只会有一个Looper实例,同时一个Looper实例也只有一个MessageQueue。2、 loop()方法,不断从MessageQueue中去取原创 2016-01-14 10:44:26 · 639 阅读 · 0 评论 -
图片加载到内存优化
采样率,尺寸,fresco,通过c c++ 管理内存释放,lru(最少最近)算法强引用(原理)android:hardwareAccelerated="false"setLayerType(View.LAYER_TYPE_SOFTWARE, null);imageloader源码阅读原创 2016-01-14 00:00:21 · 730 阅读 · 0 评论 -
adb logcat 命令行用法
本文为转载。作者 :万境绝尘 转载请著名出处eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志;1. 解析 adb logcat 的帮助信息在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息;转载 2016-01-13 11:40:13 · 1943 阅读 · 0 评论 -
Android SDK Manager 更新代理配置和代理清单
Android SDK 在线更新镜像服务器资源:中国科学院开源协会镜像站地址:IPV4/IPV6: http://mirrors.opencas.cn 端口:80IPV4/IPV6: http://mirrors.opencas.org 端口:80IPV4/IPV6: http://mirrors.opencas.ac.cn 端口:80大连东软信息学院镜像服务器原创 2015-12-24 11:25:12 · 1366 阅读 · 0 评论 -
将10位和13位时间戳转换为时间
/** * 将10 or 13 位时间戳转为时间字符串 * convert the number 1407449951 1407499055617 to date/time format timestamp */ public static String timestamp2Date(String str_num) { SimpleDateFo原创 2014-08-08 20:00:52 · 21682 阅读 · 1 评论 -
不用xml写menu
/** * 创建菜单 */ public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, menu.FIRST, menu.FIRST, "今天"); menu.add(0, menu.FIRST + 1, menu.FIRST + 1, "跳转"); return原创 2014-08-13 10:33:42 · 627 阅读 · 0 评论 -
Android初级教程_获取Android控件的宽和高
我们都知道在onCreate()里面获取控件的高度是0,这是为什么呢?我们来看一下示例:首先我们自己写一个控件,这个控件非常简单:[java] view plaincopypublic class MyImageView extends ImageView { public MyImageView(Context转载 2014-08-10 16:52:09 · 855 阅读 · 0 评论 -
Android 中mkdir() 和mkdirs()创建目录的区别
Android中创建目录可以用File对象的 mkdir() 或mkdirs()方法,它们是有区别的:booleanmkdir()Creates the directory named by this file, assuming its parents exist.booleanmkdirs()Creates t转载 2014-07-29 13:21:34 · 2308 阅读 · 0 评论 -
Android大图片裁剪终极解决方案(上:原理分析)
转载声明:Ryan的博客文章欢迎您的转载,但在转载的同时,请注明文章的来源出处,不胜感激! :-) http://blog.youkuaiyun.com/floodingfire/article/details/8144604 约几个月前,我正为公司的APP在Android手机上实现拍照截图而烦恼不已。 上网搜索,确实有不少的例子,大多都是抄来抄去,而且水平转载 2014-07-28 16:34:48 · 706 阅读 · 0 评论 -
linerlayout 水平方向将控件靠左和靠右
看了网上不少方法都是假的jiangko原创 2014-07-24 16:26:51 · 6311 阅读 · 0 评论 -
Android Volley请求出现乱码
解决方法重写父类方法:http://stackoverflow.com/questions/19267616/why-does-volleys-response-string-use-an-encoding-different-from-that-in-the-res转载 2014-07-25 13:42:05 · 1884 阅读 · 0 评论 -
在viewpager下方显示导航标题
方法1:yong方法2:原创 2014-05-28 09:54:49 · 847 阅读 · 0 评论 -
volley几种简单请求,GET+POST String+JSON
/** * Demo描述: 去年一个项目中简单的使用了Volley,参见: * 最近guolin写了几篇文章详细介绍Volley,所以在此比较系统地学习一下. 在本示例中,主要包括: 1 利用Volley实现Get请求 2 * 利用Volley实现Post请求 3 利用Volley实现Json数据请求 * * 注意事项: 1 引入jar包volley.jar 2 网络权限原创 2014-06-05 15:31:44 · 8809 阅读 · 4 评论 -
解决Toast重复弹出,Toast单例模式
防止Toast多次弹出,网上看到的不错import android.content.Context;import android.widget.Toast;/*** @create date:2013-7-16* @class describe:解决Toast重复弹出*/public class ToastUtil3 { private st转载 2014-07-17 12:29:14 · 5184 阅读 · 0 评论 -
Android布局一_RelativeLayout
我们知道布局是Android开发中非常重要的一部分,还记得刚进公司的时候,布局界面的功底非常差,做出的界面非常山寨,更不要说什么布局效率的问题了.如果UI做得不好用户的体验是非常差的.自然就不会有很多的用户愿意用你的产品.Android布局大致可以分为5类:RelativeLayout, LinearLayout,FrameLayout,TableLayo转载 2014-07-16 20:29:33 · 797 阅读 · 0 评论