![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
香辣薯片
需要积累的永远不嫌多
展开
-
网络框架的封装(一)
Volley的使用(一) 开头先扯会淡,最近晚上回家都在做毕设,奈何自己的本子编译速度感人,只能边看书边build,小说都看完一章了,代码终于编译好了,然后电脑死机了,喜闻乐见。 夜深了,邻居的狗也不叫了,总结一下有关网络框架使用的心得,公司的项目用的是一个模仿android-async-http的自定义框架,大致看了一下源码,感觉上简化了android-async-http,不过速度没问题,就原创 2016-04-25 23:38:19 · 475 阅读 · 0 评论 -
重新认识View(二)
重新认识View(二) GestureDetector代表手势检测,辅助检测用户的手势。onGestureLintener中又有好多和前端相似的方法,顾名思义:1.onDown(触摸屏幕), 2.onShowPress(触摸屏幕,并没有做任何动作), 3.onSingleTapUp(点击松开), 4.onScroll(点击并拖动), 5.onLongPress(长按不松开), 6.onF原创 2016-06-29 21:54:24 · 193 阅读 · 0 评论 -
重新认识View(三)
重新认识View(三) View事件分发:传递MotionEvent,还是和前端相似的机制,是否消费了事件,主要有是由三个过程完成,分发,拦截,调用。简单的理解为:点击后最先分发给Activity->PhoneWindow->DecorView。 一个事件一般只被一个View拦截并消耗。ViewGroup默认不拦截任何事件,一个View默认会消耗事件并返回true,除非clickable和lon原创 2016-06-29 22:26:20 · 213 阅读 · 0 评论 -
聊聊Android里的多线程
聊聊Android里的多线程 今天讲讲Android里的多线程,在java中多线程有两种实现方法,继承Thread类和实现Runnable接口(继承Thread本质上也是实现Runnable接口),线程里重写Run方法,通过start方法启动线程,两者的区别是实现了Runnable接口后需要将自己的Thread作为参数传入到实例化的Thread中。 在Android中除了可以使用java提供的T原创 2016-07-11 22:18:26 · 312 阅读 · 0 评论 -
Android中的线程池
Android中的线程池 今天讲讲线程池,Android中的线程池可以分为四类,他们分别是FixedThreadPool,CachedThredPool,ScheduledThreadPool,SingleThreadExecutor. FixedThreadPool只有核心线程,因此就算处于空闲状态,也不会被回收,任务队列也没有大小限制,没有超时机制,如果有特别重要的任务,可以考虑使用。 C原创 2016-07-13 22:19:41 · 204 阅读 · 0 评论 -
vitamio5.x的简单使用
vitamio5.x的简单使用 这几天有个需求需要播放视频,Android的VideoView虽然用起来方便,但是支持的格式比较少,而且可拓展性差一些,遂想到了vitamio。 vitamio官网的文档写的比较随意,嗯,随意到比X萌,X信,XX宝的文档还随意,于是乎,还是自己研究一下DEMO吧。 首先在官网下载一个vitamio5.x的zip,官网说4.x的版本有一些不可描述的隐患(-_-),原创 2016-07-02 21:40:18 · 2356 阅读 · 4 评论 -
vitamio5.x的简单使用(二)
vitamio5.x的简单使用(二) 进一步解析,播放单一的视频很简单,只需初始化控件,然后配置好路径即可播放,vitamio的videoview虽然有start()方法,但是手动不start()仍然可以播放视频,我们看看源码的start()方法时如何写的呢? public void start() { if (isInPlaybackState()) { mMediaPl原创 2016-07-04 17:12:49 · 1909 阅读 · 0 评论 -
GSView
GSView 用了一下午和一晚上写完了一个小DEMO,还顺便研究了一下如何用手机录GIF,手机不想root,花了点时间。 这几天晚上玩手机的时候,突然有一个想法,app上的title和按钮在单手操作的时候,尤其是大屏手机,一直手按左上角返回的时候不方便,晚上躺着玩手机,尤其是侧卧的时候,很不愿意用另一只手,这几天晚上还有蚊子,只露出一直手玩手机就好了(-_-)。有什么解决办法呢,安卓不是内置了重原创 2016-07-18 23:32:58 · 1243 阅读 · 0 评论 -
Android MaterialDesign(一)
MaterialDesign 好久没更新了,最近一直在充电,复习整理了以前的一些资料,业余时间学习做饭,今天切洋葱好辣眼睛~~~ 言归正传,谷歌14年就开始发布MaterialDesign(中文可以翻译成原质化设计),并且还在不断更新,可以理解为一种设计的指导,具体包括扁平化,鲜明的形象,有意义的动画效果,更流畅的交互体验,对于交互和UI有一些设计指导的作用,相对于程序开发者来说,主要是有一些官原创 2016-08-05 20:55:52 · 337 阅读 · 0 评论 -
Android MaterialDesign(二)
Android MaterialDesign 继续上一次的内容,这一次的控件更加的常用,而且效果也不错。 RecyclerView:这个相对已经不是很新鲜了,替代了ListView,GridView,内置了viewholder,看似更加麻烦了,实际上是使得开发更加灵活,达到了解耦的效果。常用的方法:setAdapter:设置adapter setItemAnimator:默认就有一个很炫的渐变原创 2016-08-08 21:45:01 · 294 阅读 · 0 评论 -
关于Charles的用法总结
关于Charles的用法总结工作中经常用到抓包,我Fiddler用的比较少,基本都在用Charles,不光可以简单的查看往来数据这么简单,这里就记录一些Charles的常用用法 首先是Charles的安装,最新版本的破解JAR包出的有点慢,现在4.x的版本也就刚出,替换还是挺方便的。 其次是断点修改request/response,Break Points选项可以拦截住当前的请求,改包之后,ex原创 2017-12-02 21:05:41 · 522 阅读 · 0 评论 -
重新认识View(一)
重新认识View(一) 以前学习Android的时候,只认为view是所有控件的父类,知道有这么个事即可,通过最近的学习,又让我对View有了重新的认识。 View是Android中所有控件的基类,包括ViewGroup,和前端的DOM是一个地位的,View继承子Object。 View的位置由两个点表示:左上角(left,top),右下角(right,bottom),有何前端有点相似,要注意原创 2016-06-29 21:38:03 · 203 阅读 · 0 评论 -
Gson的简单使用(一)
Gson的使用(一) Gson是google出品的一款,用于处理Json的工具框架,使用Gson之后可以简化开发,不必像以前那样jsonObject,JsonArray,传来出去。 那么一般怎么用比较方便呢?可以将Gson的解析放在Model层去处理,一般会将需要解析的data封装一层,这里举个一个简单的例子:public class RespLoginInfoModel { publ原创 2016-04-24 11:23:44 · 300 阅读 · 0 评论 -
Gson的简单使用(二)
Gson的使用(二) 接着上一篇详谈一下Gson,Gson其实不仅仅可以用于解析Json字符串,它可以很方便的将对象转化为String,或将String转换为对象,我们可以好好的利用这一点。 在两个Activity之间使用Intent传值时,我们一般会使用Bundle将数据传来传去,简单的举个例子: Intent intent = new Intent(context, DetailActi原创 2016-04-24 11:59:57 · 368 阅读 · 0 评论 -
网络框架的封装(二)
Volley的使用(二) 刚说完夜深了,狗都睡了,邻居的小狗又开始狺狺狂吠了,都这个点了,洗洗睡吧,接着上文详解。 HttpProcessManager,一般的网络框架都可以封装到这个类里面,先声明一个单例,接着放写StringRequest的请求函数。public class HttpProcessManager { public static HttpProcessManager原创 2016-04-26 00:11:47 · 252 阅读 · 0 评论 -
EventBus的使用
EventBus的简单讲解 今天讲讲EventBus,这是个好东西,它没有华丽的效果,却简单使用,尤其是减少了组件之间通讯的麻烦,缺点就是你没法很好控制它的通信速度,适合异步通知,如果你想要在异步更新动画之类的,还是别用它了。 其他人已经把原理和一些细节说的很好了,我就简单讲讲用法吧。EventBus其实就是帮你实现了观察者模式,而且使用起来还是很舒服的,先上代码: @Override pr原创 2016-04-26 23:52:37 · 242 阅读 · 0 评论 -
Zxing3.x的简单使用(一)
Zxing3.x的使用 这几天是小假期,本来想去出去转转,放假之前突然发现了一本书,试读了两页,发现受益匪浅,果断不出去了,在家研读,可惜是适度版的,只能看前几十页,今天上午就看完了,下午下了订单,希望明天能到,下午没啥事,整理了一下以前的资料,分享一下Zxing吧。 Zxing相信大家都很熟悉了,又是google出的,实现二维码的生成,解析。当初提需求的时候,领导让用最新的版本,网上的资料基本原创 2016-05-01 22:15:02 · 3408 阅读 · 0 评论 -
Zxing3.x的简单使用(二)
Zxing3.x的使用 上一篇简单讲解了生成二维码,现在接着讲扫描二维码,扫描稍微复杂一些,需要自己用到SurfaceView,还好源码上来就用这个了,不用太封装,直接拿过来用即可,解析成功后用SurfaceHolder传递信息,源码实现比较复杂,调用起来不是很复杂。 cameraManager = new CameraManager(getApplication());原创 2016-05-01 23:02:48 · 1960 阅读 · 0 评论 -
Android的四种启动模式
Android的四种启动模式 这几天看书收获不少,算是查缺补漏了,结合以前的写的代码,记录一点心得。 四种启动模式standard,singleTop,sinTask,singleInstance。activity生成都是放在一个任务栈里面,先进后出。 默认是standard,每次都要新创建一个activity放入任务栈里面。 singleTop可以叫做栈顶复用,如果activiy正好是栈顶原创 2016-05-03 23:33:42 · 245 阅读 · 0 评论 -
Android中的序列化
Android中的序列化 今天看书看到binder,果然发现自己还是有很多一知半解的地方,binder果然很深奥,虽然对binder的认识还是比较肤浅的,但是还是有所收获的。 今天讲讲序列,Android序列化有两种标准的方法,实现Parcelable接口或者实现Serializable接口。 Serializable接口是java提供的,简单易用,但是开销相对较大。具体说一下实现过程:类实现原创 2016-05-04 23:56:09 · 243 阅读 · 0 评论 -
聊聊Android的缓存(一)
Android缓存(一) 很久之前就想写博客了,但是苦于没什么内容可以写,最近终于处理了一些事情,大概,抽出时间跟大家分享一些心得。 当初到公司的第一件事就是看项目代码,看的头晕眼花,然后还是各种看不懂,其实主要是上几位同事写的代码太过于“友好“了,有到只要他们自己能看懂,嗯,就是这样,现在熟悉项目了,又经过了一次重构(其实是重写项目,当初连UI都大改了)基本上算是捋顺了。 先说说工具类,An原创 2016-04-22 23:49:31 · 402 阅读 · 0 评论 -
聊聊Android的缓存(二)
Android缓存(二) 接着上一篇文章,我们要存储数据,选择SharedPreferences,放到这个LoginDataHelper里面封装,仍然有些冗余,没关系,在引入一个新的ServiceConfigManager.java去封装即可。 ServiceConfigManager也写成单例,之后声明一个私有的存储信息tag,书写get,set,方法,SharedPreferences就被封原创 2016-04-23 11:07:54 · 282 阅读 · 0 评论 -
聊聊的Android缓存(三)
继续书接上文,封装了一层SharedPreferences之后,我们的代码就会简洁很多,面向对象的好处之一就是把一个臃肿的大段代码分解成多段小代码,虽然整体上代码量会有所提升,但是清晰度提升了很多,达到一目了然的效果。 我们继续详谈第一篇省略掉的代码,完整的get方法如下:public synchronized LoginData getLoginData() {{ if (n原创 2016-04-23 11:46:58 · 325 阅读 · 0 评论 -
聊聊Android的缓存(四)
Android缓存(四) 上一篇文章,我们已经基本上实现了缓存的工具类,那我们开始使用它吧 我们什么时候使用它呢?这个问题问的好,举个最简单的例子,如何判断用户是否登录,如果每次用户进应用之后,都要重新登录,作为开发的你是省事了,用户不乐意了,用户体验不好了,产品就不会放过你……(此处省略三百字),当然缓存不光可以提高用户体验,还可以提高应用的效率。 简单说一下流程,当用户第一次打开应用的时候原创 2016-04-23 12:10:22 · 319 阅读 · 0 评论 -
React Native for Android项目引入
React Native for Android项目引入备注 jcenter上react native 最高版本只有0.20.1 react native 首先需要安装homebrew node.js 那一套软件之后在index.android.js中编写入口 react native 引入使用到node_modules/react-native/android/,需要在本地原创 2018-01-19 20:41:36 · 342 阅读 · 0 评论