自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

女程序媛的自我修养

身为一名女程序员,我在自黑的道路上越走越远。。

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

原创 Android ViewPager 如何判断当前页面是从前一页还是后一页滑动过来

前言在Android开发中,ViewPager是最常用的控件之一。它提供的左右滑动的功能,可以让我们轻松实现图片查看器、Tab页切换等功能。今天要讲的是使用过程中的一个小收获。当我们在左右滑动时,有时候需要知道当前页面是从前一页滑过来还是从后一页滑过来,因为Android SDK并没有提供这样的API,因此需要我们写一点代码来实现,当然这也是依靠Android提供的API来间接实现的。详解我们在处理

2016-11-09 22:35:25 4325 1

原创 Android热修复之AndFix使用教程

AndFix全称Android hot-fix,是alibaba的Android热修复框架,支持Android 2.3到6.0的版本,支持arm与X86系统架构,支持Dalvik和ART Runtime。原理AndFix的原理就是方法的替换,把有bug的方法替换成补丁文件中的方法。使用教程1. 添加依赖和混淆dependencies { compile 'com.alipay.euler:a

2016-08-05 14:22:37 1992

原创 Android 显示view控件超出父控件效果

前言最近发现一个需求,后台返回的接口里图片完整,但效果图却是在紧邻屏幕边缘的位置只显示一半的图片。我想过复杂的方式,比如按比例剪裁图片,现在想想真是才疏学浅。不过发现了一些xml里面的新属性,当然是对我来说的新属性,大神勿喷。话不多说,干活呈上~代码示例<FrameLayout android:id="@+id/new_player_fl" andro

2016-07-04 11:29:51 20513 2

原创 需求分析的文档模板的书写方式

软件需求分析是软件定义阶段的最后一步,是确定系统做哪些工作,也就是对系统提出完整,准确,清晰,具体的要求。软件需求分析的任务是:深入描述软件的功能和性能,确定软件设计的约束和软件痛其它系统元素的接口细节,定义软件的其它有效性需求。解决目标系统“做什么”的问题。软件需求分析可分为需求提出,需求描述以及需求评审三个阶段。需求提出主要集中描述系统目的。需求提出和分析仅仅集中在使用者对系统的观点上。用户,开

2016-05-25 09:50:59 2105

原创 Android中判断当前网络是否可用

实现步骤:1、获取ConnectivityManager对象Context context = activity.getApplicationContext();// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemSer

2016-05-16 14:20:13 1660

原创 Android【Fresco】 使用的详解(二)

上次说了Fresco的基本使用方式 这次来说说,Fresco的更多使用设置缩放类型实际图片,占位图,重试图和失败图都可以在 xml 中进行设置,用 fresco:actualImageScaleType 这样的属性。你也可以使用 GenericDraweeHierarchyBuilder 类在代码中进行设置。其中可用的缩放类型如下center 居中,无缩放。 centerCrop 保持宽高比

2016-05-13 11:36:24 8705

原创 Android【Fresco】真正实现三级缓存的第三方图片加载框架

前言最近用了许多图片加载的框架,都各有利弊。 尝试寻找一种比较吊的图片框架,没错就是Fresco了。他真正实现了三级缓存,而且速度快,不会出现图片过大造成OOM的现象发生。Fresco和Picasso类似,用起来十分方便,为一区别是他必须使用自己类库的SimpleDraweeView来代替ImageView。Android Studio 导入到项目不知道为什么我在添加依赖里搜不到fresco 如

2016-05-13 10:32:00 5031

原创 使用接口回调实现--自定义控件的点击事件

下面是我自定义的一个控件 以下是自定义view的关键java代码 //必须重写的方法 @Override public boolean dispatchTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN:

2016-05-12 17:18:18 2449

原创 piccaso(二)内部缓存及优化

1、采用了Okhttp下载,那么它一定是使用了client.setCache(new com.squareup.okhttp.Cache(cacheDir, maxSize));2、public OkHttpDownloader(final Context context) { this(Utils.createDefaultCacheDir(context)); }3、static File c

2016-05-12 14:42:23 2809

原创 Picasso框架的使用

什么是Picasso:强大的图片下载和缓存的第三方库;我觉得这就是对它最准确的描述了,至于其他特性,可以参见官网Picasso-根据名字就知道它是跟什么相关了(Picasso:毕加索)Picasso:A Powerful Image Downloading and Caching Library for AndroidPicasso的基本用法:将Picasso添加进项目后,要使用它非常简单,只需要一

2016-05-12 11:31:21 2894

翻译 Android强制设置横屏或竖屏

全屏在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParam

2016-05-11 15:01:57 6566

原创 利用【流式布局】快速实现动态添加长度不等的标签

首先展示一张效果图:所谓快速,当然就不多废话了 。跟我我一起三步走→一,自定义一个ViewGroup流式布局:public class XCFlowLayout extends ViewGroup{ //存储所有子View private List<List<View>> mAllChildViews = new ArrayList<>(); //每一行的高度 priv

2016-05-11 10:53:39 1931

原创 Android PopupWindow弹出窗口的完美实现(实现弹出背景变暗效果)

最近尝试使用popupWindow实现背景变暗效果,自己优化了一下,并封装成一个可以调用的方法,默认实现弹出窗口显示在传入view的下方,以下代码有详细注释,有问题可以留言展示效果如下: 代码展示布局中<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width

2016-05-07 11:31:18 16975 1

转载 Android Vitamio 直播视频播放功能的实现

android上,视频/音频流直播是极少有人关注的一部分。每当我们讨论流媒体,RTMP(Real Time Messaging Protocol)是不可或缺的。RTMP是一个基本的视频/音频直播流协议,但是不幸的是Android标准的VideoView不支持RTMP的播放。因此,如果想在android上播放RTMP直播流,你必须使用支持RTMP协议的库。在本教程中我们将讨论如何通过使用安卓的 [Vi

2016-05-04 11:45:49 9405

原创 Android 灵活的组件-RecyclerView

RecyclerView是一个比ListView,GridView更加灵活的组件。在Android5.0正式推出,后来推出了兼容包兼容到V7。RecyclerView基本使用① 添加RecyclerView依赖,com.android.support.v7.widget.RecyclerView② RecyclerView也是一个适配器类型的组件,意味着它需要一个Adapter,并且布局的加载还

2016-04-26 21:56:01 1762

原创 Android 好用的安卓抓包工具-Fiddler

FiddlerFiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,查看所有的“进出”Fiddler的数据。Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。原生模拟器① 打开设置 → 无线和网络 → 更多 → 移动网络(APN) → 点击menu,添加APN② name = "自定义(尽量避

2016-04-26 21:44:35 3916

原创 Android 类似广播的增强版框架-EventBus

EventBusEventBus在Android中是一个典型的发布者与订阅者的模型。EventBus可以很方便的实现组件间的通信可以解耦发布者与接收者可以很方便的在Activity,Fragment,以及后台线程中使用可以使你的代码更简洁编码更快,这个库也很小,大约50k基本使用① 定义事件,创建一个类,这个类代表我们的事件,事件中可以携带数据② 注册订阅者,一般在onResume进行

2016-04-26 21:43:19 2139

原创 xUtils3.0 - Android快速开发框架

xUtils3.01.Android快速开发框架2.xUtils中拥有四大模块 ① View ② Http ③ ImageLoader ④ DataBase使用方法1.添加依赖,通过open module settings进行依赖添加2.声明权限,需要网络请求添加internet权限,需要读取文件,缓存文件,添加sd卡写权限3.初始化:首先自定义Applic

2016-04-26 21:40:37 1981

原创 Android Universal-image-loader功能强大的图片加载框架

Universal-Image-Loader功能强大的图片加载框架使用方式1.将universal-image-loader引入我们的工程 ① 直接下载jar包,放到我们libs中,添加一下引用 ② 通过maven添加依赖,将universal-image-loader添加进来 ③ 通过gradle添加依赖,可以从官方文档将引用路径粘贴到我们项目中的build.gradle

2016-04-26 21:38:04 1540

原创 Android Bitmap的优化

这里列出两种常用的Bitmap的优化 :1. 给Bitmap设置圆角效果下面的代码当我们需要圆角的时候,调用这个方法,第一个参数是传入需要转化成圆角的图片,第二个参数是圆角的度数,数值越大,圆角越大public final static Bitmap toRoundCorner(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.creat

2016-04-26 21:29:21 1851

原创 Android 自定义字母搜索表

这是我写的一个自定义VIew: 联系人字母搜索表首先,设置atrss 设置的attr标签下可以设置选中或者未选中的字母表中字母的颜色,若为设置,在view类中有默认的颜色<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="LetterView"> <attr name="se

2016-04-26 21:11:20 1473

原创 Android 非常好用的万能BaseAdapter

在打代码过程中,越来越发现封装的重要性。于是,封装了一个BaseAdapter的基类,省去了每次重写BaseAdapter要做的凡庸,冗余的代码。         这个类可以省去自己写Viewholder,也可以在不确定数据源,item时,继承我写的这个基类即可轻松为适配器类型的控件写出适配器,下面就是示例代码:public abstract class AllPowerAdapter<T>

2016-04-26 20:39:47 1785

原创 Android 底部导航与Fragment联动的实现

今天我要写的是常见的如微信一类的底部导航与Fragment联动的实现1,首先,在每一个Fragment里写一个public权限的TAG,保证每个Fragment的TAG唯一。2,在xml里先好布局: 上半部分是你要放Fragment的地方,下半部分是底部导航放置的地方。下面是我的示例代码:<?xml version="1.0" encoding="utf-8"?><LinearLayou

2016-04-26 20:12:01 1827

原创 android app 国际化

安卓国际化: 其实,安卓国际化很简单,只要在 res 文件夹下新建对应语言的 values 文件夹就好了如,英语环境下的,文件夹命名为:values-en美国英文环境:values-en-rUS中文环境为:values-zh大陆地区中文环境:在 eclipse 下新建 Android 项目时,会在

2016-04-26 19:12:23 1772

原创 内存泄漏与内存溢出(简单总结)

防止内存泄漏的方式: Handler优化方式 ①实例化Handler的使用Handler.CallBack进行实例化 ②在Handler.CallBack的处理。handleMessage有一个boolean的返回值,true代表此事件被消耗,不会向后传递 -内存泄漏- 该销毁的组建,销毁不掉,原因可能是其他组件,或者是线程中,持有你要销毁组建的

2016-04-26 19:06:41 808

空空如也

空空如也

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

TA关注的人

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