自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

安卓菜鸟的博客

记录安卓开发的点点滴滴

  • 博客(22)
  • 收藏
  • 关注

原创 基于retrofit2、rxjava2、OkHttp的网络请求封装,实现背压、网络请求生命周期管理,以及错误码集中处理

1.定义接口地址/** * Created by PrinceOfAndroid on 2018/4/9 0009. * 接口地址存放类 */public class ApiUrl { //基本地址(要以“/”结尾) public static final String BASE_URL = ""; //请求地址 public static f...

2018-05-31 15:17:31 2244

原创 站在巨人的肩膀上实现安卓增量更新

今天看了鸿洋大神增量更新博客,觉得这项技术是我今后开发中必定会用到的,决定花上午时间好好研究,终于实现了自己的一个demo,很是有成就感。于是记录下来备用。 首先给出大神博客地址 http://blog.csdn.net/lmj623565791/article/details/52761658; 根据博客的知识,对增量更新算是有一个完整的了解,但是实现起来还是有些困难,因为我的环境为windo

2017-05-15 15:50:32 388

原创 RecyclerView制定位置滑动置顶,并实现头部悬停

前些天产品经理提出了这个需求,花了1天时间终于实现,但最终没有运用到app中,但效果不错,在此记录,以备以后需要。指定位置滚动置顶private void smoothMoveToPosition(final int position) { //获取第一个跟最后一个可见item int firstItem = reGoods.getChildLayoutPositio

2017-05-02 14:24:56 8109 3

原创 一个简单的方法实现购物车小球动画

只有代码,仔细看看,实现起来其实很简单 /** * 执行添加商品动画 * * @param goodsImg 动画小球 * @param position 所在列表中的位置 */ private void addGoodsToCart(ImageView goodsImg, final int position) { // 创

2017-05-02 11:37:17 1755

原创 还在为AndroidStudio的Gradle版本配置头疼?看看老司机的解决方法吧

在AndroidStudio中新建项目成功后会自动下载对应版本的Gradle,那么下载的Gradle到什么地方呢?Mac上会默认下载到 /Users/<用户名>/.gradle/wrapper/dists 目录 Win平台会默认下载到 C:\Users\<用户名>.gradle\wrapper\dists 目录但是AndroidStudio下载Gradle要翻墙,所以自动下载这个方法行不通(翻墙除

2017-01-12 12:02:29 16321

原创 解决 Android 7.0 调用照相机照相报错

解决代码: // 判断存储卡是否可以用,可用进行存储 String sdStatus = Environment.getExternalStorageState(); if (sdStatus.equals(Environment.MEDIA_MOUNTED)) { Intent intent = new Intent(MediaStore.A

2017-08-24 09:27:11 1285

原创 从Activity返回后切换fragment的显示

切换fragment显示很简单,其实就是add、show或者hide之类的,但是从activity返回后使用 transaction.commit() 并没有达到有效的效果。 这里是原始的切换代码: /** * 显示碎片 */ private void showFragment() { FragmentTransaction transaction =

2017-06-14 08:48:26 1287

转载 Android代码忽略(.gitignore配置)

# Built application files*.apk*.ap_# Files for the ART/Dalvik VM*.dex# Java class files*.class# Generated filesbin/gen/out/# Gradle files.gradle/build/# Local configuration file (sdk path

2017-03-01 10:16:44 507

转载 线程的故事(转)

http://www.techug.com/post/a-thread-say.html

2017-02-21 17:38:45 435

原创 利用AndroidStudio 实现.9图的制作

找到一张图片作为制作.9图的材料 右键图片,选择Create 9-Patch file… 如图 设置.9图的拉伸区间和内容区间 完成.9图制作。布局使用效果图:

2017-02-15 11:03:00 755

原创 简单的RxJava+Retrofit

为Retrofit配置Gson、RxJavapublic class RetrofitUtil { public static final String BASE_URL = ""; public static final String VERSION = ""; private static RetrofitUtil instance = new RetrofitUtil(

2017-02-14 10:03:44 210

原创 安卓倒计时实现

继承倒计时的类class MyCount extends CountDownTimer { /** * @param millisInFuture The number of millis in the future from the call * to {@link #start()} unt

2017-02-13 15:58:42 810

原创 音频播放优化

初始化MediaPlayerprivate void initMediaPlayer() { mediaPlayer = new MediaPlayer(); mediaPlayer.setOnCompletionListener(this);//设置播放完成监听 mediaPlayer.setOnPreparedListener(this);//设置

2017-02-13 11:35:29 348

原创 安卓使用surfaceview+Camera+MediaRecorder实现视频录制

录制视频代码:public class RecordVideoActivity extends Activity implements SurfaceHolder.Callback { private static final String TAG = "MainActivity"; private SurfaceView mSurfaceview; private Imag

2017-02-09 14:16:23 5876

原创 如何使用ContentProvider打造自己的本地图片库

效果如图 图库xml界面代码<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_p

2017-02-07 13:45:09 2972

原创 图片压缩到规定大小和规定尺寸之内

上个项目做了一个图片批量上传,要求压缩到规定大小和尺寸,并且加文字跟图片水印。花了好长时间才完成,在此记录一下以方便以后使用。 /** * 压缩图片,保持图片宽高在768*1024之内(图片宽高不进行拉伸,等比缩放) 大小在120k以下 * 并且添加图片文字水印 * * @param srcPath 文件路径 * @param context A

2017-01-04 11:14:11 3537

转载 关于打开安装好的应用后,按home返回桌面再进入应用会重复进入应用初始界面的问题?

这是上个项目遇到的一个坑,百度出来的解决方案: 在项目入口Activity的onCreate()中加上这段代码:if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) { finish(); return; }其实原因很简单,利用程序安装器打

2017-01-04 10:07:45 571

原创 关于Viewpager删除其中数据后不更新界面?

因为前几天碰到这个坑,小小记录一下。 咳咳。。黑车司机发车! 其实在自己的PagerAdapter里面实现一个方法就行: @Override public int getItemPosition(Object object) { return POSITION_NONE; }简单吧! 好了,下车!

2016-12-30 14:48:08 727

原创 没有好用的底部抽屉?还不速度自己写一个

如何自己定制一个底部抽屉? 其实很简单

2016-12-29 17:26:58 439

原创 使用 Ultra Pull To Refresh 定制自己的下拉刷新头部

首先给出这个强大的下拉刷新库的地址 https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh 效果图: 如何使用?最新版版本号: 1.0.11, 发布到了: https://oss.sonatype.org/content/repositories/snapshots 在gradle中:maven { url 'https:

2016-12-29 10:20:52 2618 2

原创 如何正确使用Butterknife

前些日子用了Butterknife框架之后,对这个框架真是爱不释手,省去了无聊的findViewById,提升不少编程速度。但每次配置的时候总会出点小问题,于是我就在这里总结一下ButterKnife 的用法。1.添加依赖作为一个AS的忠实用户,这个操作肯定再熟悉不过了,这也是谷歌对安卓开发的一大福利啊。一行配置就可以直接引用,有什么理由说不用呢。 在module下的build.gradle下直接

2016-11-15 10:49:59 265

原创 Selector的用法

Selector的用法创建Selector xml文件在res-drawable 文件夹下创建xml文件 android:state_checked=”true” 为选中状态下的图片显示,可以根据需要设置不同属性。 其中要注意,默认状态要放在下面 最后在控件属性设置即可 android:background=”@drawable/selector_login_cb”

2016-11-15 09:51:54 336

空空如也

空空如也

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

TA关注的人

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