android
Android开发文章
bigname22
很帅,很酷...
展开
-
APP开发两年的心得:App代码架构设计(1)
前言工作两年,一直都是从事App开发方面,做过原生App,混合App,公众号,小程序也偶尔写一下简单的后台接口。在开发一个App的过程中,开发原生以及混合的方式有很大不同。在原生(java)的时候经常会尽力的去构想如何构建基类,如何抽象。代码的分层分类都井然有序的感觉。而在混合开发(前端代码)中,对封装,基类,类等等的构思十分少,仅仅是做一些类似工具类的封装。我原本以为前端是不支持继承多态之类...原创 2018-12-28 17:51:06 · 2626 阅读 · 2 评论 -
内存泄露初见
**举个很形象的例:**有个很大的'茅坑','村长'把他铲平了作其他用途,这时候一个'老不死'的过来说:“我还要用它的,你不能把他收走。”,村长也无可奈何,就走了,茅坑继续占用着村地。村长:GC垃圾回收茅坑:耗资源的对象...老不死:持有耗资源对象的对象...原创 2017-10-23 20:01:26 · 309 阅读 · 0 评论 -
Gson内部静态类与Activity传递数据产生的尴尬(Activity之间传递静态类)
前言:今天工作遇到一个事,虽然Gson以及Fastjson都有用过,但是一直以来都保持这用原始json解析的习惯,就是觉得解析的过程可控,但是今天遇到个接口数据实在嵌套有点多,而且字段也多,所以就想着用一些Gson吧,好可惜,FastJson还是得不到我的宠爱。然后用as下载下载GsonFormat插件,把json数据粘贴生成到gsonbean类中。接下来问题出现了,当我想把gsonbean类中的原创 2017-07-28 19:23:12 · 477 阅读 · 1 评论 -
ListPopupWindow设置点击长按事件
listpopupwindow并没有提供直接的设置点击长按监听事件,所以我通过listpopupwindow.getListView()拿到了listview对象后,再设置长按事件,但是结果报控制帧,说,getListView()得到的是空,翻墙去看官方文档才知道!唉,事情就是这样了。然后这样了,唉。lPw.show(); ListView listView = lPw.ge原创 2017-07-24 16:32:51 · 575 阅读 · 0 评论 -
Activity通信-传递对象、集合总结
activity之间传递对象、集合,网上的说法都大同小异,最主要都是通过实现Serializable,Parcelable接口完成,本文会总结这种常规做法,并且总结一些新的思路。传递对象传递对象方式:1:对象实现Pacelable接口(Android独有,更高效)2:对象实现Serializable接口3:把数据转成json格式的字符串传递,接收方原创 2017-07-15 09:40:27 · 1417 阅读 · 0 评论 -
你必须知道的toolbar切换效果
最近公司需要重构旧项目,所以这段时间在做一些知识储备,了解其中的难点,为重构做准备。其中有这样一个场景,普通的一个toolbar,【← title 搜索】点击搜索变成【←_】搜索栏,实现的方式很多种,当然点击直接去显示隐藏也能够,但这里为了能够照顾一下用户体验,所以在两者切换时使用动画效果来过渡。学习是个好东西,趁这次又回顾了android动画的相关知识,其中还进了个小坑,属性动画的scale缩原创 2017-06-29 15:53:07 · 896 阅读 · 0 评论 -
Android Scroll往相反方向原因剖析
Android Scroll往相反方向原因剖析以前一直有个困惑,为什么mSrcollX=100的时候,图像不是往右移动,而是左呢?以前有过一个理解现在看来也是跟个小学生似的,现在把这个新的理解记录下来。关于滑动,先要理解三个事物: - View:控件,滑动是不会改变view的位置的。 - Canvas:画布,View要显示的东西也全画在Canvas上。 - window:窗口,画布那么大,控件原创 2017-03-25 16:02:37 · 1006 阅读 · 0 评论 -
RadioButton设置图片无法居中问题
RadioButton设置图片无法居中问题实习一个多月,在项目中遇到这样一个问题 左边是改正后想要的效果,右边为原本效果(即使设置了gravity:center也只有文字居中)。 现在要解决的问题就是,当我设置gravity:center的话,图片也要居中显示。 经过粗略的查阅之后,看到网上的一些解决方法:移动画布。这样的方法能实现这样的效果,但却没有从根源上解决问题。 大致看了一些源码原创 2017-01-19 10:15:00 · 4130 阅读 · 0 评论 -
Eclipse项目导入Eclipse以及、Android Studio过程中遇到的问题.
刚进公司,接手一个app,跟原先负责的大哥沟通比较困难,主要是他太忙了,而且久了很多东西都忘了,加上自己现在还比较菜,所以很搞了两天才能正常的导入。现在就来记录一下在导入的过程中出现的问题。1.Eclipse项目导入Eclipse:①:刚开始的时候一大堆错误报告,很多导进来的包都报红,我就认为是缺失,然后问那位大哥是不是漏了一写包没给我,第一次的回答是已经集成到里面了,然后我就以为是自己一原创 2016-12-08 09:33:01 · 453 阅读 · 0 评论 -
Android中三种简便的拉动刷新方式
Android中有挺多的第三方的刷新包的,最近也学习到几种,分别是SwipeRefreshLayout(google的v4包下),PullToRefresh,Ultptr.下面来一起看下这几种的基本使用方法。原创 2016-10-12 21:19:41 · 1301 阅读 · 2 评论 -
AIDL通信机制简单使用步骤
Android中的通信机制有大概如下几种:序列化机制(Serializable/Parceable)/Binder/Bundle/文件共享/AIDL/Messager/ContentProvider/Socket等...这篇文章主要讲AIDL的简单实用。AIDL是跨进程通信的一种实现方式,那么这里最少也要两个进程的角色才能够使用跨进程通信吧。那么接下将分成两个角色来说明使用步骤服务端进程:原创 2016-10-05 01:04:14 · 1182 阅读 · 0 评论 -
图片压缩(二次采样)
很多时候我们在加载图片的时候并不需要把原图加载出来,例如像打开微信图片列表,可能由于控件的大小,用户视觉等等的原因,把一张原图加载出来和加载一张缩略图的效果是差不多的,这时候加载一张原图的话反而只会耗费过多的内存空间,像微信图片列表一页能够显示15张(3x5),原图的话3m左右,那一页就要耗费45m的内存了,所以这时候就需要将图片进行压缩处理了。Bitmap二次采样第一次采样:是为了得到从原创 2016-09-19 20:10:24 · 554 阅读 · 0 评论 -
listview滑动到底部弹出按钮-button占用了listview的显示位置(尽力理解尽力解决)
问题:加载第一页listview时,设置在底部visiable状态为gone的按钮;占用了listview的位置:(存在问题:第一页加载时有空白,底部有一个空白占用着位置,但滑动之后空白消失)原创 2016-09-01 18:46:01 · 804 阅读 · 0 评论 -
LIstView自定义布局
这是我的第一篇在CSDN博客写的内容。是关于在ListView中如何使用自定义的布局的问题。(本笔脑瓜不太好用,所以花了两天的时间去大概的弄明白了ListView的工作原理)我做了一个简单的聊天界面工参考,先放效果图跟代码!效果图(Back按钮是生成左边文字,Go生成右边文字): 这是主函数类:MainActivitypackage com.example.chat;import ja原创 2016-05-13 01:37:28 · 1892 阅读 · 0 评论 -
android自定义Button样式(清晰简单)
最近在学习一下简单的控件,如Button,TextView等...但系统提供的样式大多都满足不了,所以我们需要自己来自定义样式来满足自己的需求。下面跟大家分享一下最近学到的一种自定义方式,以下用Button按钮来做例子:步骤1:在res/drawable文件夹下创建文件xml文件,步骤2:在步骤1中创建的文件中写入自定义样式的代码:代码文件名:my_style.xml原创 2016-08-28 00:52:58 · 11698 阅读 · 1 评论 -
Android从零开始(第五篇)手把手教撸一个仿饿了么LoadingView(一)
前言过年放假前最后一天班,就想着做个简单又有趣的小东西。于是决定来写个自定义的LoadingView作为这个App框架的加载效果吧。走过路过点歌Start O(∩_∩)OGithub项目地址这篇文章叫你如何搭建手写LoadingView,看完这篇文章你能学会:属性动画使用自定义View--------------------------------关门,上分割线---------...原创 2019-01-31 13:43:14 · 745 阅读 · 0 评论 -
Android从零开始(第四篇)MVP + Retrofit + Rxjava
前言终于到了网络请求模块了。因为以前一直使用的都是Okhttp,所以这次使用Retrofit的话花了两天时间去了解。总的来说Retrofit就是初始化搭建麻烦,挺多东西要注意的。不过看到各界大佬一致好评的请求框架,苦点就苦点。走过路过点歌Start O(∩_∩)OGithub项目地址这篇文章叫你如何搭建MVP+Retrofit+Rxjava,看完这篇文章你能学会:Retrofit的基本...原创 2019-01-29 18:01:50 · 513 阅读 · 0 评论 -
Android从零开始(第三篇)MVP架构搭建
这几天都在研究如何搭建一个实用稳固的MVP架构作为快速开发的基底。也纠结了很久Presenter层该如何复用,在网上查阅了很多资料之后仍然没能找到一个适用的办法,有的写法单纯是为了presenter的复用而写,却给其他模块增负担;有的实现的手法过于僵硬,不符合写代码的原则。在看完各种奇奇怪怪的实现思路之后,自己内心也有了一个实现presenter复用的一套方法,不过还不知道可不可行,到时撸完了...原创 2019-01-23 11:12:13 · 1727 阅读 · 0 评论 -
Android从零开始(第二篇)Mvp+Retrofit+Rxjava网络框架整合
前言:上一篇介绍了一个App在开始之前的技术选型之类的准备工作,这一篇开始真正的实操项目。首先确认了App整体使用MVP的架构模式,在网络请求方面整合了Retrofit+Rxjava,并完成了项目的基本建设。看完这篇文章你会学到:Android MVP架构搭建基础的基类设计:BaseApplication、BaseActivity、BaseView、BasePresenter…MVP...原创 2018-11-29 16:31:44 · 1416 阅读 · 0 评论 -
Android从零开始(第一篇)框架搭建以及技术选型
App框架搭建以及技术选型–从零开始设计一款Android App(第一篇)隔了好久终于有时间再写博客了,我那25个粉丝应该会想念我的吧。前言工作接近两年的时间,很多时候都在使用Ionic再进行软件开发,但心中对Android原生的热爱依然不减。因为种种原因辞掉了原来的工作,而如今再遇到人生第二份工作选择的时候,我依然毫不犹豫的选择当一名Android工程师,即使心里清楚地明白自己的工作经验...原创 2018-11-12 01:06:21 · 2445 阅读 · 1 评论 -
ExpandableListView三级列表实现(带选择联动效果)
ExpandableListView三级列表实现原理(带CheckBox全选功能)好久没写文章,为什么?还不是忙了,我都担心自己最近会不会猝死在电脑前。或者走着走着躺地上担心没人救我,毕竟长得帅的人会给人一种距离感。说回正题,场景:多选车辆,并且在同一个页面实现。 (数据结构:公司-线路-车辆三层)那么第一时间想到的只能是 ExpandableListView 这个神奇的组件了,但常规就两层,那要原创 2017-09-11 19:37:52 · 4705 阅读 · 35 评论 -
事件分发机制-ScrollView嵌套ListView问题产生原理以及常见解决方式
上一篇说明了事件分发的机制,接下来以一个实际会遇到的场景继续学习事件分发机制, 场景2:ScrollView嵌套ListView,listview只能显示一个item。分析:既然是高度问题的话那就先打开ScrollView查看一下onMeasure()方法: @Override protected void onMeasure(int widthMeasureSpec, int heigh原创 2017-07-27 11:28:57 · 1467 阅读 · 4 评论 -
Android事件分发机制
前言不知不觉工作已经快8个月了,现在学习的欲望越来越强,离android原生的路也越来越远。但从始至终它都是我最喜欢的一门技术。独立开发的能力、经验算是有了,但现在很少去看源码,分析稍微底下一点的知识,书也看得少。意识到问题之后,我决定重新给自己制定一个Android进阶的计划,往Android底层原理的方向迈去。目前计划先再次总结如下点:事件分发机制view绘制原理Handler消息机制性原创 2017-07-26 16:42:24 · 304 阅读 · 0 评论 -
Handler消息机制
前言写了很久的一篇文章,因为在群上看到相同的人说起才想到要拿出来分享了。很献丑,哈哈handler是什么?我们可以参考一下google文档给出的说明: handler是一套用于更新UI,发送消息,处理消息的通信机制,当创建handler对象时,会绑定当前线程中的HandlerThread又是什么?android中为什么要设计只能通过handler机制更新UI呢?最根本的原因是解决多线程并发的问题:原创 2017-07-18 15:02:44 · 346 阅读 · 0 评论 -
popupwindow设置动画效果,不起作用。
popupwindow设置动画效果,不起作用。今天在公司开发过程中遇到一个问题:为什么我使用popupwindow并给其加上动画效果时不起作用。虽然最后意识到可能是动画效果冲突的原因所导致的,但没想到怎么兼顾两者的解决方法。很多网友分享各式各样的错误解决方法,但可惜都没能解决我的问题。最后是我给力的同事帮我解决了这样的问题。哈哈。针对这里,我的Activity在配置时时设置了android:them原创 2017-03-14 18:30:09 · 6995 阅读 · 1 评论 -
AIDL基础再接触
AIDL基础再接触这两天再学习aidl的时候发现两个进程怎么都连接不上,于是看之前写过一篇关于aidl的文章,发现没什么卵用!于是算是又学习了一篇发现了一些细节的东西必须要注意的,再写一篇加深记忆!关于aidl他喵的其实就是一个辅助生成binder类的工具!意思就是,你是用aidl其实就是想要生成一个binder类来进行通信,如果你足够了解或者参考自动生成binder的话,不适用aidl也完全是可原创 2016-12-24 09:41:54 · 397 阅读 · 0 评论 -
Activeandroid入门使用
小生在学习android的过程中对spl这一块有种朦朦胧胧的感觉,这一部分的知识点很混乱。其实也是因为自己没有认真的整理过知识点所导致的,但,who care!今天学习了activeandroid之后,腰也不疼了,腿也不酸了,一口气上五楼,嘿。感谢android领域的大神们对技术的分享,让我这个大白感受到了开源,分享的力量。开发者对activeandroid的其中一句描述也是说到心原创 2016-10-13 17:13:29 · 1552 阅读 · 1 评论 -
android进阶路--EventBus使用详解
今天看了几篇网上对EventBus的讲解,然后自己敲了即便代码,对这个EventBus也有了一点了解,下面就试着总结一下EventBus的使用。EventBus是属于Publish/Subscribe(发布/订阅)这样的一种消息机制,用法也跟广播很像,他可以解决Fragmne之间,Activity之间,还有如网络请求成功之后回调,或者用hanler,boardcast等等办法来提醒更新原创 2016-10-13 11:35:24 · 630 阅读 · 0 评论