Android
文章平均质量分 73
zkbilian
一人之下,互相关注!!!
展开
-
Android底部fragment互相跳转
假如要实现一个这样的功能,在主页面MainActivity创建了四个底部Fragment,ABCD,点击B的时候有个按钮想要实现跳转D页面,可以这样实现。首先要保证当前Activity启动模式为singleTask,详细查看 https://www.jianshu.com/p/bd1cfc31b035,在MainActivity中重写on...原创 2019-07-25 10:27:04 · 608 阅读 · 0 评论 -
Fragment碎片化管理实现
简单的实现点击互相切换Fragment,最老的实现方式MainActivity.javapublic class MainActivity extends FragmentActivity implements OnClickListener { private LinearLayout mFrag; private Button mBtn,mBtn2; private Fragment1 ...原创 2017-04-13 10:28:22 · 433 阅读 · 0 评论 -
Android 抽屉用法
前言如今安卓开发用抽屉的APP基本上很少见了,并不常用,无聊突然翻到以前自己写的自定义抽屉,特此来跟大家详解一下介绍实现原理:自定义继承自分层布局,使用事件分发,根据手指滑动的方向和距离进行判断抽屉打开的方向和位置使用系统提供的抽屉夸奖包的使用public class MainActivity extends AppCompatActivity ...原创 2017-06-05 16:00:32 · 1177 阅读 · 0 评论 -
HttpUrlConnection中setDoInput和setDoOutput的区别
今天写三级缓存类,用到了这两个方法,特意从网上找了一些资料学习:HttpUrlConnectionhttpUrlConnection.setDoOutput(true)httpUrlConnection.setDoInput(true)理解:HttpURLConnection conn = (HttpURLConnection)url.openConnection(); ...原创 2018-04-18 20:40:01 · 1288 阅读 · 0 评论 -
Android 图片三级缓存原理实现
图片三级缓存类原理:先从缓存中查找,缓冲中没有,再从SD卡中查找,SD卡没有,从网络查找下载,下载完成,在SD卡和缓存中分别保存一份Lruch : 类似于内存强引用的缓存,存储方式为键值对存值(K,V),取值 方便,当缓存中内存的大小超出本身的内存的时候,它会自动将最前面的内存强制抛出交给垃圾回收机制(GC)进行回收set集合在安卓中的使用:去重的功能如何避免图片错位的问题,给set集...原创 2018-04-18 20:21:23 · 447 阅读 · 0 评论 -
Android动画总结
Android 动画分类1.帧动画(Fragme动画)传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影、gif2.补间动画(Tween动画)可以使视图组件移动、放大、缩小以及产生透明度的变化, 缺点: 1.补间动画是只能够作用在View上 2.只能够实现移动、缩放、旋转和淡入淡出这四种动画操作 3.只是改变了View的显示效果而已,而不会真正去改变View...原创 2018-04-13 10:24:54 · 414 阅读 · 0 评论 -
Android JsonObject和JsonArray解析
前言从接口获取一大堆字符串的时候,需要通过解析保存到 Bean类里面使用,网上有很多开源框架Gson,Jackson可以实现,不过有一句话是怎么说的,对,就是只会用框架的程序员不是一个好的程序员介绍你们只需要记住json解析方式是一种轻量级的数据传输格式,比任何数据传输性能要高出很多使用 http://v.juhe.cn/toutiao/index?ty...原创 2018-04-12 20:25:18 · 15132 阅读 · 6 评论 -
HttpClient和HttpURLConnection理解
HttpClient:是一个被封装的开源框架,DefaultHttpClient和它的兄弟AndroidHttpClient都是HttpClient具体的实现类,它们都拥有众多的API,而且实现比较稳定,bug数量也很少。但同时也由于HttpClient的API数量过多,使得我们很难在不破坏兼容性的情况下对它进行升级和扩展,所以目前Android团队在提升和优化HttpClient方面的工...原创 2018-04-18 10:47:15 · 830 阅读 · 0 评论 -
Android实现图片浏览功能(图片器原理实现)
项目开发中做图片浏览的时候会用到这个功能,用原理实现的小工具效果图: public class MainActivity extends AppCompatActivity implements View.OnClickListener { int imgs[] = {R.mipmap.ceshi, R.mipmap.ceshi2, R.mipmap.ceshi3, R.mi...原创 2018-04-12 15:03:53 · 6926 阅读 · 0 评论 -
接口回调使用步骤
/***接口回调一般在什么时候用? 工具类里使用它,处理完数据之后把值存储到方法里面,在主Activity调用* listenter方法,直接进行处理*///1.先创建一个接口--->里面写一个取得图片的方法 方法形参(需要发送什么,就写什么) public interface Call{ public void getBitmap(Bitmap bitm...原创 2018-04-18 09:38:06 · 1451 阅读 · 0 评论 -
Android如何app优雅退出(项目必用)
前言优雅的意思就是让别人看不懂,显的很酷炫使用(1) RxBus优雅式首先在基类BaseActivity里,注册RxBus监听public class BaseActivity3 extends AppCompatActivity { Subscription mSubscription; @Override public void onC...原创 2018-04-05 20:12:24 · 2039 阅读 · 0 评论 -
Android IntentService瓜皮用法及源码解析(5分钟秒懂)
前言大家都清楚,在Android的开发中,凡是遇到耗时的操作尽可能的会交给Service去做,比如我们上传多张图,上传的过程用户可能将应用置于后台,然后干别的去了,我们的Activity就很可能会被杀死,所以可以考虑将上传操作交给Service去做,如果担心Service被杀,还能通过设置startForeground(int, Notification)方法提升其优先级。那么,在Serv...原创 2018-04-05 19:41:17 · 183 阅读 · 0 评论 -
Fragment加载替换add,show,hide,replace方法
本文主要探讨Fragment切换的细节问题。针对在一个Activity中的某个Layout中切换Fragment,,无非两种方法:1)使用replace方法把原有的Fragment替换掉;2)使用hide和show方法,把已经添加过的Fragment再次显示出来。两个方法之间的区别。1)replace方法,在某Layout中已经有Fragment A存在,现在需要把Fragment B替换(显...原创 2017-06-07 11:02:31 · 614 阅读 · 0 评论 -
ScrollView 嵌套 ListView出现问题及三种解决方案
嵌套开发会出现 ListView数据显示一条的问题, 解决办法:MainActivity:public class MainActivity extends Activity { private ListView mLv; private List<String> list; private ArrayAdapter<String> adpter;//系统适配器 @...原创 2017-04-18 08:52:55 · 404 阅读 · 0 评论 -
Recyclerview 点击效果,可以使用
第一步: 新建drawble recycler_touch_bg.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/whit.原创 2019-02-26 11:03:08 · 3395 阅读 · 2 评论 -
Android 设置Activity屏幕方向
方法一:在AndroidManifest.xml中配置假设不想让软件在横竖屏之间切换,最简单的办法就是在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性。他有下面几个參数:“unspecified”:默认值 由系统来推断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向. “land...原创 2018-05-29 15:10:12 · 19829 阅读 · 0 评论 -
TextView横向自动滑动那个效果
<TextView android:id="@+id/tv_table_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" ...原创 2018-06-05 09:58:43 · 861 阅读 · 1 评论 -
Android 多布局仿今日头条完美加载多种条目类型(RecyclerView)
这个功能在新闻类的APP经常会用到过,这个效果大家都知道,废话不多说,来看我下实现后的效果图跟别的app是否一样:实现的效果图: 请先看这篇博客,我是用RecyclerView实现的这些功能根据上一篇博客稍微改动了一下代码:1.重写getItemViewType方法 根据条件返回条目的类型 @Override public int getItem...原创 2018-04-26 14:24:36 · 5065 阅读 · 1 评论 -
Android RecyclerView和ListView多布局实现
前言每个人每天都会在浏览器上看一些最新的新闻,作为一个IT程序员你们会发现,她们的布局排版都是有区别的,有时候同一个样式的条目有4、5条 界面一样,下面又出现1 条不一样的条目,这样的效果是不是很美观,这在Android称为多布局,下面来简单实现一下,大概理解下使用1.RecyclerView利用Adapter的getItemViewType()方法返回不同的VIEW_TY...原创 2018-04-26 11:34:37 · 1184 阅读 · 0 评论 -
Android加密之MD5方式
前言由于安全性考虑,需要把sign中的key值以及其他的参数进行MD5方式签名加密,可以有效的保护应用程序的数据简介MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3原创 2018-04-25 19:00:22 · 537 阅读 · 0 评论 -
Android get和post的区别
前言在Android开发的过程中,必须会接触到数据交互(访问数据,写入数据等你等),既然接触到数据的交互,那么自然而然就是使用通讯间的协议来进行请求,最常见的协议就是Http协议,Http协议包括两个具体的请求方式Get和Post。Http请求方式Get与Post的简介先来了解Http协议:Http(HyperText Transfer Protocol超文本传输协议)是一个设计来使客户端和服务器...原创 2017-05-24 16:27:37 · 732 阅读 · 0 评论 -
Android 面试自我介绍
原创 2018-05-09 14:53:04 · 14446 阅读 · 1 评论 -
Intent传值常用类型
前言Intent可以用来启动Activity(startActivity(Intent))、Serveice(startService(Intent))等组件,可以用来绑定Activity和Service以建立它们之间的通信(bindServiceConnaction(Intent,ServiceConnection,int)),可以作为Broadcast Intent发送给广播接收器(sen...原创 2017-03-30 09:57:35 · 1527 阅读 · 0 评论 -
Android 仿QQ好友列表功能实现
ExpandableListview在垂直滚动展示两级列表的的视图。这与ListView不同,它有组对象和子对象,通过点击组对象来单制度展开子对象的内容,它的适配器跟普通的ListView不一样,需要继承BaseExpandableListAdapter ,都是用来给View提供数据,展示布局。ExpandableListView是Android中可以实现下拉ListView的一个控件...原创 2018-04-19 16:25:36 · 12051 阅读 · 11 评论 -
LisView多布局
ListView是支持多种布局的,例如,新浪微博中布局就分很多种,有的布局有图片,有的只有文字等。先看下效果: 正在上传1.首先定义两种布局类型:adapter.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/...原创 2017-04-12 15:51:47 · 389 阅读 · 0 评论 -
Android 实现仿ImageButton图标按钮的功能
如今在现在日常开发中已经很少会用到ImageButton这个控件,它本身没有带text属性,简直Low的不得了,一般人们选择用组合控件实现这个功能,所以必须自定义实现,这样的做法可以提高布局优化,对性能还是有所提高的,很简单,只需要你们用一分钟的时间来copy下面代码ImageB.javapublic class ImageB extends LinearLayout { pri...原创 2018-04-12 12:11:08 · 3437 阅读 · 0 评论 -
Android 调用系统相机和图片(只需1分钟)
主界面 MainActivity/** * 一共分为 四部分 , 1. 自带 压缩的照片 * 2. 原图大小的图片 * 3. 可以 裁剪一部分 * 4 .调用 手机相册 */public class MainActivity extends AppCompatActivity implements View.OnClickListener { p...原创 2017-06-08 16:00:37 · 353 阅读 · 0 评论 -
[Android自定义控件]自定义属性attrs.xml中format
前言在我们自定义控件的时候,需要自己定义布局xml对象属性,就需要styles.xml自定义,然后再自定义java文件中获取信息,记录方便自己使用使用xml首先需要自定义命名空间:xmlns: zkbilian ="http://schemas.android.com/apk/res-auto" 1.reference:参考某一资源ID属性定义: <declare-sty原创 2018-04-03 10:48:57 · 704 阅读 · 0 评论 -
实现CirleImageView圆形图片的多种方式
前言在android开发中,圆形图片一般大部分在头像设置是比较常见的,人的美观或许喜欢圆形,比正方形更加优雅,所以就有了圆形图片的扩展使用首先这篇文章是让我们如何实现圆形图片的功能 ,分为四个部分:画圆自定义imageview导入第三方开源框架Glide图片处理框架第一种:一般要做正圆形图片,只能是正方形的基础上才能实现,否则就变成椭圆了,下面说说如何使长...原创 2018-03-29 11:10:41 · 416 阅读 · 0 评论 -
Android 如何正确选择网络请求框架
思维导图介绍Okhttp框架扩展使用 Retrofit2.0 使用详解一、为什么要使用网络开源框架Android系统自带网络请求Android系统自带的网络请求模块有两个,一个是HttpClient,另一个是HttpUrlConnectionHttpUrlConnectionHttpURLConnection是一种多用途、轻量极的HTTP客户端,使用它来...原创 2018-04-02 20:19:34 · 4112 阅读 · 0 评论 -
Retrofit2快速入门使用及文件上传(单上传、多上传)
前言在开发项目中经常会遇到上传头像的问题,那我们如果使用Retrofit做网络请求时,如何进行使用,在文章的最后有最清晰的使用方法 Retrofit可以认为是Okhttp的 “升级版”,为什么这么说?那是因为其内部默认是基于OkHttp来进行封装的,它们属于同一家公司Square介绍常用的网络请求方法@GET 使用@Query单个参数 ...原创 2018-03-08 20:53:47 · 10020 阅读 · 0 评论 -
Gilde 3.7最全详解介绍和使用
前言在这里主要是讲3.7的用法,4.0以上的请转换别的博客大部分现在主流用的最多的版本是3.70介绍Glide,是一种快速、高效的图像加载框架,提供了易用的API,高性能、可扩展的图片解码管道,以及自动的资源技术Glide支持拉取,解码和展示视频快照,静态图片和动态图片,默认情况下,Gilde使用的是一个定制化的基宇HttpUrlConnection的栈,并且Go...原创 2018-04-01 21:01:13 · 3817 阅读 · 2 评论 -
Android 面试会问到的面试题(持续更新中)
Java基础1.内存泄露的原因资源对象没关闭。如Cursor、File等资源。他们会在finalize中关闭,但这样效率太低。容易造成内存泄露。SQLiteCursor,当数据量大的时候容易泄露使用Adapter时,没有使用系统缓存的converView。即时调用recycle()释放不再使用的Bitmap。适当降低Bitmap的采样率,如: BitmapFact...原创 2018-03-27 15:34:42 · 4518 阅读 · 1 评论 -
Android账号被强制下线(单点登陆,项目必用)
前言其实所说的被挤下线功能,就是一个账号在A客户端保持登陆状态,然后又在B客户端进行了登陆操作,那么A客户端就会被顶下线 很多伙伴在开发自己公司产品的时候,一般都会考虑用户账号安全,或者用户账号功能限制等问题,这时候就要考虑到单点登陆的功能使用App如何知道该账户已经在其他设备上登陆了呢?有三种实现方式api请求中后台返回特定的code。缺点是需要下次请求才知道...原创 2018-04-09 15:55:30 · 4553 阅读 · 0 评论 -
5分钟实现Android最新2018友盟统计
前言基本上现在任何一个实用的App都离不开瞒点统计,否则应用发出去就一抹乌黑了,也难以做运营和一些决策,为进一步了解这一块, 于是选择了业界用得比较多的友盟平台统计的方式很多,不过是最基本的新增用户和启动次数。关于这个,可能就需要涉及Android的Activity的生命周期和状态改变,为了让你们更好点的理解,做个简单的代码尝试:protectedvoid onCreate(...原创 2018-04-07 17:08:15 · 1555 阅读 · 0 评论 -
Android集成第三方支付宝支付开发App(面试必问)
Android集成支付宝实现支付功能android支付包括支付宝,微信,其他第三方整合支付等,只要我们耐心的阅读文档和开发简述,大家都会自己做出来,先来简单的讲解一下简介支付宝快速接入连接 点击打开 支付宝文档中连接 App支付文档中心应用是开发者以软件形式向用户提供的特定场景或行业解决方案。具备开发能力的服务商入驻开放平台后,需要通过创建应用的方式接入蚂蚁各项产品...原创 2018-03-28 19:52:13 · 4979 阅读 · 0 评论 -
GridView实现九宫格(看一遍就会了)
GirdView的一些属性:android:numColumns="auto_fit" --------列数设置为自动android:columnWidth="90dp",----------每列的宽度,也就是Item的宽度android:stretchMode="columnWidth"------缩放与列宽大小同步android:verticalSpacing="10dp"----------...原创 2017-04-02 19:50:37 · 2706 阅读 · 0 评论 -
快速了解历史Android操作系统版本(开发学习攻略)
前言从毕业后到做开发已经两年多了,刚开始学习android时,觉的它很新奇,基本上朋友每个人都有一部手机,深深了解这个专业后,发现做一名Android开发师真的挺自豪的,是IT让我有了新的人生方向,毕业后知道自己以后要做什么,不再那么迷茫,说来也惭愧,干这么长时间了,竟然对Android操作系统一无所知,我相信打开这篇博客的人也是跟我一样好奇,233介绍你们知道android系...原创 2018-04-10 19:43:20 · 5929 阅读 · 2 评论 -
Zxing仿微信快速集成二维码扫描库
前言本文讲解一下别人写的快速集成二维码扫描库,核心的扫描功能是通过Zxing实现的介绍功能:支持对本地图片Bitmap的扫描功能支持默认的二维码页面支持自定义UI的操作支持对条形码的扫描功能支持生成二维码操作支持控制闪光灯开关使用配置Mainfast权限 <uses-permission android:name="an...原创 2018-04-03 20:06:45 · 1701 阅读 · 0 评论 -
PhotoView使用及解决滑动冲突
前言这是一个图片查看库,可以实现图片浏览功能,支持手势或者点击缩放的功能,支持在ViewPager中使用,允许应用程序通知照片上的用户点击使用方法:首先在根build.gradle文件添加allprojects { repositories { maven { url "https://jitpack.io" } }}然后在模块buil...原创 2018-03-29 15:37:21 · 2023 阅读 · 0 评论