自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

香辣薯片

没事就写点

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

原创 项目总结

项目总结  上周终于完成了项目的1.0开发,下周开始进入其他项目的开发,几个月来积累来一些想法,有关工作的事情已经在公司总结过一次了,总结一下其他方面吧。  一个项目的1.0要考虑的事情还是比较多的,首先要考虑到项目的搭建,基于不同的产品形式,需求,技术环境,要准备的东西是不一样的。首先说的就是项目大小,根据业务线分散与否,如果业务线比较多,相互之间依赖程度低,使用组件化是一个好的方...

2018-05-27 21:11:05 192

原创 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 347

原创 备忘和总结

一些总结  android:configChanges=”orientation|keyboard|keyboardHidden|screenSize”使屏幕固定,一般视频播放用的比较多,在2.3之后,onConfigurationChanged()横竖屏只会重新调用一次,并没有出现那种横屏一次,竖屏两次的情况,可能和手机有关,我碰到的好几个都是这样。  在Android library中不能使用s

2017-12-02 21:31:57 176

原创 RESTful的一些总结

关于RESTful  RESTful架构,是当下比较流行的一种架构。稍微总结一下我用到的地方  首先是API与用户的通信协议,总是使用https协议。不推荐所有的网络请求都使用https,据说和http比会慢2-100倍,也浪费了资源,比较敏感的地方使用即可。  将API的版本号放入URL中。我也见过将版本号放入header的用法,都能实现升级API版本的需求,不过放到URL中更加直观一些。  网址

2017-12-02 21:17:57 172

原创 关于Charles的用法总结

关于Charles的用法总结工作中经常用到抓包,我Fiddler用的比较少,基本都在用Charles,不光可以简单的查看往来数据这么简单,这里就记录一些Charles的常用用法  首先是Charles的安装,最新版本的破解JAR包出的有点慢,现在4.x的版本也就刚出,替换还是挺方便的。  其次是断点修改request/response,Break Points选项可以拦截住当前的请求,改包之后,ex

2017-12-02 21:05:41 536

原创 Android MaterialDesign(二)

Android MaterialDesign  继续上一次的内容,这一次的控件更加的常用,而且效果也不错。  RecyclerView:这个相对已经不是很新鲜了,替代了ListView,GridView,内置了viewholder,看似更加麻烦了,实际上是使得开发更加灵活,达到了解耦的效果。常用的方法:setAdapter:设置adapter setItemAnimator:默认就有一个很炫的渐变

2016-08-08 21:45:01 303

原创 Android MaterialDesign(一)

MaterialDesign  好久没更新了,最近一直在充电,复习整理了以前的一些资料,业余时间学习做饭,今天切洋葱好辣眼睛~~~  言归正传,谷歌14年就开始发布MaterialDesign(中文可以翻译成原质化设计),并且还在不断更新,可以理解为一种设计的指导,具体包括扁平化,鲜明的形象,有意义的动画效果,更流畅的交互体验,对于交互和UI有一些设计指导的作用,相对于程序开发者来说,主要是有一些官

2016-08-05 20:55:52 345

原创 GSView

GSView  用了一下午和一晚上写完了一个小DEMO,还顺便研究了一下如何用手机录GIF,手机不想root,花了点时间。  这几天晚上玩手机的时候,突然有一个想法,app上的title和按钮在单手操作的时候,尤其是大屏手机,一直手按左上角返回的时候不方便,晚上躺着玩手机,尤其是侧卧的时候,很不愿意用另一只手,这几天晚上还有蚊子,只露出一直手玩手机就好了(-_-)。有什么解决办法呢,安卓不是内置了重

2016-07-18 23:32:58 1254

原创 Android中的线程池

Android中的线程池  今天讲讲线程池,Android中的线程池可以分为四类,他们分别是FixedThreadPool,CachedThredPool,ScheduledThreadPool,SingleThreadExecutor.  FixedThreadPool只有核心线程,因此就算处于空闲状态,也不会被回收,任务队列也没有大小限制,没有超时机制,如果有特别重要的任务,可以考虑使用。  C

2016-07-13 22:19:41 209

原创 聊聊Android里的多线程

聊聊Android里的多线程  今天讲讲Android里的多线程,在java中多线程有两种实现方法,继承Thread类和实现Runnable接口(继承Thread本质上也是实现Runnable接口),线程里重写Run方法,通过start方法启动线程,两者的区别是实现了Runnable接口后需要将自己的Thread作为参数传入到实例化的Thread中。  在Android中除了可以使用java提供的T

2016-07-11 22:18:26 318

原创 vitamio5.x的简单使用(二)

vitamio5.x的简单使用(二)  进一步解析,播放单一的视频很简单,只需初始化控件,然后配置好路径即可播放,vitamio的videoview虽然有start()方法,但是手动不start()仍然可以播放视频,我们看看源码的start()方法时如何写的呢? public void start() { if (isInPlaybackState()) { mMediaPl

2016-07-04 17:12:49 1918

原创 vitamio5.x的简单使用

vitamio5.x的简单使用  这几天有个需求需要播放视频,Android的VideoView虽然用起来方便,但是支持的格式比较少,而且可拓展性差一些,遂想到了vitamio。  vitamio官网的文档写的比较随意,嗯,随意到比X萌,X信,XX宝的文档还随意,于是乎,还是自己研究一下DEMO吧。  首先在官网下载一个vitamio5.x的zip,官网说4.x的版本有一些不可描述的隐患(-_-),

2016-07-02 21:40:18 2364 4

原创 重新认识View(三)

重新认识View(三)  View事件分发:传递MotionEvent,还是和前端相似的机制,是否消费了事件,主要有是由三个过程完成,分发,拦截,调用。简单的理解为:点击后最先分发给Activity->PhoneWindow->DecorView。  一个事件一般只被一个View拦截并消耗。ViewGroup默认不拦截任何事件,一个View默认会消耗事件并返回true,除非clickable和lon

2016-06-29 22:26:20 220

原创 重新认识View(二)

重新认识View(二)  GestureDetector代表手势检测,辅助检测用户的手势。onGestureLintener中又有好多和前端相似的方法,顾名思义:1.onDown(触摸屏幕), 2.onShowPress(触摸屏幕,并没有做任何动作), 3.onSingleTapUp(点击松开), 4.onScroll(点击并拖动), 5.onLongPress(长按不松开), 6.onF

2016-06-29 21:54:24 199

原创 重新认识View(一)

重新认识View(一)  以前学习Android的时候,只认为view是所有控件的父类,知道有这么个事即可,通过最近的学习,又让我对View有了重新的认识。  View是Android中所有控件的基类,包括ViewGroup,和前端的DOM是一个地位的,View继承子Object。  View的位置由两个点表示:左上角(left,top),右下角(right,bottom),有何前端有点相似,要注意

2016-06-29 21:38:03 207

原创 近期小结

小结  最近经历了好多事情,终于从学校毕业了,虽然毕业没什么难度,但是还是经历并学到了很多事情。感谢老师们的帮助(这是真的-_-),在学校的时候还是遇到了一些师德很高的老师,当然也有一些老师就hehe了,还记得当初有人说过,你在大学吃亏就是赚了,当时很不理解,现在经历了一些事情后,觉得不无道理。总之,大学教会了我很多东西。  经过一个月的修整(大概),终于又回来了,和去年此时的我相比,已经判若两人了

2016-06-29 20:54:36 202

原创 java GC的误区

java GC的误区  多年以前,我在看java面试题的时候,仍记得有关javaGC的一段资料,大致上简单讲了一下java的回收机制,当java语言创建一个对象的时候,每当这个对象被引用后,就会加一计数索引到该对象上,当引用失效时,计数索引减一,当对象计数为0的时候,对象便很有可能被java虚拟机回收掉。(引用计数算法)  然而,这几天看了有关java虚拟机的书时,才知道,这种回收方式确实存在,不过

2016-05-14 23:49:05 226

原创 Android中的序列化

Android中的序列化  今天看书看到binder,果然发现自己还是有很多一知半解的地方,binder果然很深奥,虽然对binder的认识还是比较肤浅的,但是还是有所收获的。  今天讲讲序列,Android序列化有两种标准的方法,实现Parcelable接口或者实现Serializable接口。  Serializable接口是java提供的,简单易用,但是开销相对较大。具体说一下实现过程:类实现

2016-05-04 23:56:09 249

原创 Android的四种启动模式

Android的四种启动模式  这几天看书收获不少,算是查缺补漏了,结合以前的写的代码,记录一点心得。  四种启动模式standard,singleTop,sinTask,singleInstance。activity生成都是放在一个任务栈里面,先进后出。  默认是standard,每次都要新创建一个activity放入任务栈里面。  singleTop可以叫做栈顶复用,如果activiy正好是栈顶

2016-05-03 23:33:42 254

原创 Zxing3.x的简单使用(二)

Zxing3.x的使用  上一篇简单讲解了生成二维码,现在接着讲扫描二维码,扫描稍微复杂一些,需要自己用到SurfaceView,还好源码上来就用这个了,不用太封装,直接拿过来用即可,解析成功后用SurfaceHolder传递信息,源码实现比较复杂,调用起来不是很复杂。 cameraManager = new CameraManager(getApplication());

2016-05-01 23:02:48 1969

原创 Zxing3.x的简单使用(一)

Zxing3.x的使用  这几天是小假期,本来想去出去转转,放假之前突然发现了一本书,试读了两页,发现受益匪浅,果断不出去了,在家研读,可惜是适度版的,只能看前几十页,今天上午就看完了,下午下了订单,希望明天能到,下午没啥事,整理了一下以前的资料,分享一下Zxing吧。  Zxing相信大家都很熟悉了,又是google出的,实现二维码的生成,解析。当初提需求的时候,领导让用最新的版本,网上的资料基本

2016-05-01 22:15:02 3412

原创 geohash的简单分享

geohash算法的简单分享  昨天和今天都在研究定位的问题,查找附近的地理点,需要用到一个比较好的算法,于是就想起了以前同事分享过的算法,geohash算法。  昨天本来已经基本实现了,不过写完都已经到第二天了,就没更新了,今天继续调试,完成了优化,更新一下。  geohash是什么呢?简单讲一下,你现在有个需求,要做定位,获取了一个经纬度,然后要找出附近的符合条件的点,然而数据库里只有这些点的经

2016-04-29 00:03:08 762

原创 EventBus的使用

EventBus的简单讲解  今天讲讲EventBus,这是个好东西,它没有华丽的效果,却简单使用,尤其是减少了组件之间通讯的麻烦,缺点就是你没法很好控制它的通信速度,适合异步通知,如果你想要在异步更新动画之类的,还是别用它了。  其他人已经把原理和一些细节说的很好了,我就简单讲讲用法吧。EventBus其实就是帮你实现了观察者模式,而且使用起来还是很舒服的,先上代码: @Override pr

2016-04-26 23:52:37 254

原创 网络框架的封装(二)

Volley的使用(二)  刚说完夜深了,狗都睡了,邻居的小狗又开始狺狺狂吠了,都这个点了,洗洗睡吧,接着上文详解。  HttpProcessManager,一般的网络框架都可以封装到这个类里面,先声明一个单例,接着放写StringRequest的请求函数。public class HttpProcessManager { public static HttpProcessManager

2016-04-26 00:11:47 260

原创 网络框架的封装(一)

Volley的使用(一)  开头先扯会淡,最近晚上回家都在做毕设,奈何自己的本子编译速度感人,只能边看书边build,小说都看完一章了,代码终于编译好了,然后电脑死机了,喜闻乐见。  夜深了,邻居的狗也不叫了,总结一下有关网络框架使用的心得,公司的项目用的是一个模仿android-async-http的自定义框架,大致看了一下源码,感觉上简化了android-async-http,不过速度没问题,就

2016-04-25 23:38:19 480

原创 Gson的简单使用(二)

Gson的使用(二)  接着上一篇详谈一下Gson,Gson其实不仅仅可以用于解析Json字符串,它可以很方便的将对象转化为String,或将String转换为对象,我们可以好好的利用这一点。  在两个Activity之间使用Intent传值时,我们一般会使用Bundle将数据传来传去,简单的举个例子: Intent intent = new Intent(context, DetailActi

2016-04-24 11:59:57 384

原创 Gson的简单使用(一)

Gson的使用(一)  Gson是google出品的一款,用于处理Json的工具框架,使用Gson之后可以简化开发,不必像以前那样jsonObject,JsonArray,传来出去。  那么一般怎么用比较方便呢?可以将Gson的解析放在Model层去处理,一般会将需要解析的data封装一层,这里举个一个简单的例子:public class RespLoginInfoModel { publ

2016-04-24 11:23:44 319

原创 聊聊Android的缓存(四)

Android缓存(四)  上一篇文章,我们已经基本上实现了缓存的工具类,那我们开始使用它吧  我们什么时候使用它呢?这个问题问的好,举个最简单的例子,如何判断用户是否登录,如果每次用户进应用之后,都要重新登录,作为开发的你是省事了,用户不乐意了,用户体验不好了,产品就不会放过你……(此处省略三百字),当然缓存不光可以提高用户体验,还可以提高应用的效率。  简单说一下流程,当用户第一次打开应用的时候

2016-04-23 12:10:22 327

原创 聊聊的Android缓存(三)

继续书接上文,封装了一层SharedPreferences之后,我们的代码就会简洁很多,面向对象的好处之一就是把一个臃肿的大段代码分解成多段小代码,虽然整体上代码量会有所提升,但是清晰度提升了很多,达到一目了然的效果。  我们继续详谈第一篇省略掉的代码,完整的get方法如下:public synchronized LoginData getLoginData() {{ if (n

2016-04-23 11:46:58 337

原创 聊聊Android的缓存(二)

Android缓存(二)  接着上一篇文章,我们要存储数据,选择SharedPreferences,放到这个LoginDataHelper里面封装,仍然有些冗余,没关系,在引入一个新的ServiceConfigManager.java去封装即可。  ServiceConfigManager也写成单例,之后声明一个私有的存储信息tag,书写get,set,方法,SharedPreferences就被封

2016-04-23 11:07:54 288

原创 聊聊Android的缓存(一)

Android缓存(一)  很久之前就想写博客了,但是苦于没什么内容可以写,最近终于处理了一些事情,大概,抽出时间跟大家分享一些心得。  当初到公司的第一件事就是看项目代码,看的头晕眼花,然后还是各种看不懂,其实主要是上几位同事写的代码太过于“友好“了,有到只要他们自己能看懂,嗯,就是这样,现在熟悉项目了,又经过了一次重构(其实是重写项目,当初连UI都大改了)基本上算是捋顺了。  先说说工具类,An

2016-04-22 23:49:31 412

空空如也

空空如也

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

TA关注的人

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