- 博客(25)
- 资源 (17)
- 问答 (3)
- 收藏
- 关注
转载 SoftReference 为什么被 Android “放弃”
JDK 中除了默认的 Strong Reference 之外,还有三个其他的 Reference: WeakReference SoftReference PhantomReference 他们都是为了更高效地利用 Heap。 WeakReference 如果一个变量的 Reference 只剩下 WeakReference,那么 GC 会毫不留情地把这个变量回收掉。也就是说,WeakR
2017-04-23 11:45:02 548
转载 Github下载某一目录
下载安装SVN: https://tortoisesvn.net/downloads.html比如要下载:https://github.com/xubo245/SparkLearning/tree/master/docs将“tree/master”改成“trunkhttps://github.com/xubo245/SparkLearning/trunk/docs然后右键点击一个空文件夹,选择s
2017-04-19 18:20:10 2677
原创 保存图片到sd卡之后在相册显示
/** * 插入到相册 * @param picName 在相册中的名称(并不是文件名,更类似于title) */ private void insertIntoAlbum(String picName) { // 保证相册只存一张我们的图片 String lastUrl = PreferencesTool.getString(t
2017-04-19 16:33:28 1774
原创 Glide使用之配置缓存
配置类:package com.itant.zhuling.tool.image.glide;import android.content.Context;import com.bumptech.glide.Glide;import com.bumptech.glide.GlideBuilder;import com.bumptech.glide.load.engine.bitmap_recyc
2017-04-19 14:52:34 7891
原创 OKHttp使用之粗陋封装
使用单例模式维护一个特定配置的请求客户端package com.itant.zhuling.tool.net;import android.content.Context;import java.util.concurrent.TimeUnit;import okhttp3.Cache;import okhttp3.OkHttpClient;/** * Created by Jason on 2
2017-04-19 14:48:39 739
原创 让两个布局都在同一个控件的上方
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" andro
2017-04-16 22:50:23 545
原创 自定义View组合模式
attrs.xml:<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="ImageText"> <attr name="src" format="reference|color" /> <attr name="imageWidth" format="dimens
2017-04-16 07:28:15 542
原创 自定义控件粗糙实现
values下新建attrs.xml:<?xml version="1.0" encoding="UTF-8"?><resources> <declare-styleable name="FontView"> <!-- Text to display. --> <attr name="text" format="string" localization="su
2017-04-16 07:11:02 560
原创 安卓6.0权限申请另一种实现
定义一个接口:package com.itant.zhuling.base;/** * Created by Jason on 2017/4/15. */public interface IPermission { void onPermissionSuccess(int requestCode); void onPermissionFail(int requestCode);
2017-04-15 23:07:07 575
转载 安卓6.0权限申请封装
PermissionFail.javaimport java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * 标识权限获取失败 */@T
2017-04-15 22:18:13 599
原创 安卓开发获取已安装的应用
/** * 获取已安装的应用的安装包 * @author Jason * */private class GetApksTask extends AsyncTask<Void, Void, List<App>> { @Override protected List<App> doInBackground(Void... params) { List<App>
2017-04-15 22:04:57 742
转载 安卓缓存文件
首先我们要弄清楚几个概念:getCacheDir()----------------------->/data/data/<application package>/cache/getFilesDir()----------------------->/data/data/<application package>/files/一般来说,上面这两个目录是用户不可见的,属于应用内部,比如WebVie
2017-04-15 21:19:44 2831
转载 ttf字体文件抽取自己想要的字
【说明】游戏中经常需要用到各种字体,但是网上下载的TTF字体文件最小也有好几兆,要是游戏中需要用到几种字体,那简直不能忍。通常情况下,我们会用BMFont代替TTF字体,BMFont也有着很多的优势,但是缺点也很明显,每次修改都要美工的配合,而且不支持字号改变(不考虑缩放)。那么有没有办法能把TTF字体文件变小点呢?答案是肯定的,除了用FontCreator那种累死人不偿命的东西之外,这里介绍一个简
2017-04-14 21:31:15 26283 4
原创 XRecyclerView的Header包含ListView冲突解决(XRecyclerView嵌套ListView)
公司要实现一个界面,非常类似手机京东的界面,下拉可以刷新,上拉可以加载更多。前同事用了XRecyclerview实现下拉刷新,上拉加载更多。然而,XRecyclerview的Header(顶部不规则的部分)用了一个ListView来实现垂直走马灯的效果,这就和XRecyclerview造成了冲突,导致XRecyclerview下拉卡顿。摸索了很久,试过重写ListView的onMeasure方法,也
2017-04-12 18:26:13 1776 1
原创 解决ListView的smoothScrollToPosition不精确问题
公司要实现垂直方向的跑马灯,让ListView垂直滚动 使用listView.smoothScrollBy(distance, duration);或者使用listView.smoothScrollToPosition(position++);都不准确,即使distance确实是由item的高度dp换算成px也不行,滚动均会出现偏差的情况,再多几次item就只显示一半了,item view get
2017-04-10 18:58:43 6710 2
原创 水波纹效果使用
指定layout的background为android:background="?attr/selectableItemBackground" 或android:background="?attr/selectableItemBackgroundBorderless"即可。 自定义: drawable文件夹新建ripple.xml<?xml version="1.0" encoding="utf
2017-04-10 14:22:48 671
原创 List转数组
要指定size才能转换成功。Bean[] beanArray = (Bean[]) beans.toArray(new Bean[beans.size()]);
2017-04-10 13:57:06 474
转载 StringBuilder删除最后一个字符
// 删除最后一个逗号builder.deleteCharAt(builder.length()-1);
2017-04-10 13:54:54 9095 2
原创 Android批量插入数据
事务处理应用:很多时候我们需要批量的向Sqlite中插入大量数据时,单独的使用添加方法导致应用响应缓慢, 因为sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。插入三千条数据对比 方法一: 不优化,直接一条一条插入(耗时:20s左右)try { for (Area area : areas) {
2017-04-10 13:51:27 4596
转载 安卓应用签名之后安装失败
很奇怪的一个现象,直接run的话可以成功,debug也可以,但是用签名打包之后,却安装失败,原来是打包的时候选错了。原来签名时,Signature Versions 不能只选择 V2(Full APK Signature),应该选择 V1(Jar Signature),或者选择 V1 和 V2。 如图: 二者的区别:V1:可对签名后的文件,作适当修改,并重新压缩。 V2:不能对签名后的 APK
2017-04-06 22:26:46 7371 2
原创 五种方法专治各种EditText和软键盘的问题
很抱歉,公司上传不了图片,下面的代码直接拷贝到xml文件和.java文件里即可运行看效果。 方法一:不需要设置Activity的输入法模式,底部没有悬浮的按钮,核心思想是底部有一个view,平时是gone的,弹出软键盘之后,变为visible,这样输入框就有足够的空间上下滚动了。缺点:view的高度必须和软键盘的高度一致才完美,我这里简单设为100dp,其实是不完美的。推荐指数:1个星。packa
2017-04-05 14:39:01 4127
原创 MVP+rxAndroid+Material开发的一款APP
今天突然想整合一下所学的知识,理一个框架出来,顺带熟悉一下谷歌的Material Design。工作这几年,很遗憾,所在公司都只看重IOS开发,安卓的要按照IOS的设计稿来开发,完全没有安卓的风格,不免扼腕叹息。百忙之中,抽出时间,本来想理一个框架出来,看来还有许多待完善的地方,后面会继续完善。先看效果图吧(由于大小不能超过2MB,所以压缩了很多,实际效果要好很多):APK下载点这里 项目的风格为
2017-04-04 21:36:29 2462
原创 Caused by: java.util.zip.ZipException: invalid END header (bad central directory offset)
Android Studio打开项目报Caused by: java.util.zip.ZipException: invalid END header (bad central directory offset),原来是gradle的版本不对,因为下载及其缓慢,所以我手动下载了gradle,复制到C:\Users\Jason.gradle\wrapper\dists\gradle-2.4-all\
2017-04-03 00:31:21 9255
原创 APP首次打开的欢迎界面
Welcome.java//此功能曾由于只提供一套图片,没有区分xhml而在部分机型上发生过内存溢出问题.public class Welcome extends SFBaseActivity { private ArrayList<View> pageViews; private IndicatorViewPager indicatorViewPager; private
2017-04-01 17:33:49 4111
原创 EditText报IndexOutOfBoundsException异常
异常类似如下:java.lang.IndexOutOfBoundsException: Index: 2, Size: 1 at java.util.ArrayList.get(ArrayList.java:411)
2017-04-01 14:19:27 2430
TA创建的收藏夹 TA关注的收藏夹
TA关注的人