- 博客(36)
- 资源 (31)
- 收藏
- 关注
原创 Android学习之Json解析库Moshi
又懒了一段时间没更新博客了,自认虽然水平不高,但是还是能帮到不少新手的。说到Json解析库,网上可以说一找一大堆,Json解析库确实是大部分程序员都会使用的一类库,虽然自己完全可以一步步去解析,但是其实真的没必要自己去写,不会偷懒的程序员不是好程序员。
2016-08-07 20:44:17
5974
7
原创 Android学习之图片加载库Glide
最近跳槽,新公司的项目催得非常紧,天天加班,导致很久没更新博客了,现在才闲下来。今天来讲下跟Square的网络图片加载库Picasso同样强大的图片加载库Glide的简单使用。
2016-05-29 10:59:15
756
原创 Android Studio学习之安装插件
今天来写下Android Studio中怎么安装插件。首先,肯定要知道要安装什么插件,这里用安装GsonFormat插件来举例。
2016-04-15 14:34:20
628
原创 Android学习之图片加载库Fresco
平时开发中肯定会有种需求,就是图片加载时显示正在加载的图片,图片加载失败时显示加载失败的图片,需要重新加载时显示需要重新加载的图片。以上功能使用Fresco,几行代码就可以搞定。
2016-04-14 22:02:14
602
原创 Android Studio使用之Missing Styles.Is the correct theme chosen for this layout?
Andorid Studio有时打开布局文件时,手机预览界面会提示Missing Styles.Is the correct theme chosen for this layout?的错误,解决方式其实很简单,原因是手机界面预览默认使用了最新的Android预览版本,去除默认勾选,并选择非预览版本即可。如图:
2016-04-10 10:46:44
5912
2
原创 Android学习之设计模式之单例模式
Java据说有23种设计模式,Android的设计模式肯定是由Java来引申出来的。这里不讨论有多少人全会,有多少种设计模式会使用到,我们来讲下其中用得最多的也就是人人都知道的单例模式。
2016-03-31 22:04:10
484
原创 Android学习之使用Comparable或Comparator比较和排序元素
Comparable和Comparator都是用来实现集合中元素的比较、排序的。Comparable是在集合内部定义的方法实现的排序,而Comparator是在集合外部实现的排序,如果想实现排序,就需要在集合外定义Comparator接口的方法或在集合内实现Comparable接口的方法。
2016-03-30 13:29:12
12024
原创 Android学习之使用正则表达式Pattern与Matcher来判断字符串格式
如果判断一个手机号码是否是手机号码呢?如何判断邮箱的格式是否正确呢?这个时候我们可以使用正则表达式来判断。
2016-03-29 10:54:24
5040
原创 Android学习之定时执行后台任务
今天讲下如何定时执行后台任务。当然还是那句话,方法有好几种,这里就讲下我认为最好用的。主要使用到TimerTask和Service,相信大家都接触过,大家可以看下TimerTask的源码。
2016-03-28 14:30:47
2620
原创 Android学习之解决多次点击导致Toast不断弹出的问题
当点击某个控件会弹出Toast时,如果直接使用Toast.makeText()的方式的话,会发现在我们多次点击的情况下,Toast会延迟地不断地出现,直接点击的次数的Toast出现完毕为止,这种情况对用户来说是十分不友好的。解决这个问题很简单,Toast.makeText()会不断的实例Toast这个对象,我们只要在Toast不为空的情况下不再去实例就行了。
2016-03-24 13:37:12
6137
1
原创 Android学习之网络请求库Retrofit2
网络请求库有很多种,例如使用HttpUrlConnection,使用HttpClient,或者使用Volley,使用OKHttp,而现在的主流是使用OKHttp + Retrofit,往细了讲本人也不是很清楚其中的区别,今天也不讲它们的区别。Retrofit是个十分强大的网络请求库,熟悉了以后,使用起来也是十分方便的。
2016-03-23 14:22:28
2072
1
原创 Android学习之微博SDK集成及实现分享到微博
分享自己的APP内容到微博或者其他平台是个很常用的需求,也有很多种方式可以实现微博的分享,官方当然肯定是有提供方式来实现微博的分享的,很多第三方服务也可以帮助我们实现微博的分享,当然逼格最高的肯定是使用官方的方式来实现,这毋庸置疑是我们的首选,因为第三方的服务不一定比官方的好用和靠谱。
2016-03-22 16:41:11
5918
原创 Android学习之自定义进度条ProgressBar
ProgressBar是Android中很常用的一个控件,也就是进度条,但是系统的进度条实在是...哎,大家懂的,本人处女座,这么丑陋的东西怎么能活在我的世界中?这里以圆形的进度条为例讲一下自定义ProgressBar的过程。
2016-03-22 10:56:05
1995
原创 Android学习之自定义TextWatcher来监听文本最大输入字数
开发中有种很可能会遇到的需求就是限制EditText的文本输入字数,例如微博就限制140字,如果只是限制输入的字数的话很简单,EditText有个属性叫android:maxLength,设置140就行了,但是当达到最大输入字数时还要提示用户达到了呢?这时候就需要自定义TextWatcher了,TextWatcher字如其意,就是文本观察器,用来观察文本的变化的,一般用在EditText中。
2016-03-22 09:42:23
2953
原创 Android学习之轻量级数据库SQLite
Android中对数据的存储有很多种方式,Google为Andriod中较大的数据处理提供了SQLite数据库,SQLite是一款轻型的数据库,它在管理、使用和维护上非常强大。当然最主要的特点还是它的轻量级,适合在移动设备上使用。
2016-03-21 20:46:50
2670
原创 Android学习之解决ScrollView嵌套ListView显示的错误
Android开发中会遇到各种控件嵌套而产生的问题,其中ListView嵌套在ScrollView中会产生尽管ListView有很多Item,但是只能显示1个Item的情况,但实际上这个ListView还是能滑动的,我们可以滑动到下一Item,但是显示的效果就是只有1个Item。网上有很多解决方案,我看了后感觉其中一个方法比较靠谱,当然经过本人实验也是能完美解决问题的,那就是重写ListView以
2016-03-21 15:18:08
584
原创 Android学习之数字选择器NumberPicker之修改字色字号分割线颜色
今天讲下NumberPicker,其实NumberPicker是个很不完善的控件,许多我们认为谷歌肯定会提供的属性居然都没有,比如居然没有修改字体大小和字体颜色的属性,更别提修改分割线颜色了,关键系统提供的NumberPicker确实有点丑,所以大家都会想办法去修改NumverPicker,要么去自定义,要么去想办法修改那些不能修改的属性。
2016-03-17 21:24:51
7813
原创 Android Studio学习之签名打包APK
Android Studio中有两种方式可以签名打包APK第一种:Build/Build APK,这样能直接签名打包APK,但是版本是debug版本的APK,貌似没有Keystore,路径是app/build/outputs/apk这里可以选择release和debug版本
2016-03-17 20:24:15
1154
原创 Android学习之使用startActivityForResult()和onActivityResult()进行跳转并返回数据
大家都知道Activity间的跳转可以使用startActivity(),然后传入1个Intent,指定组件即可,然后跳转的那个Activity要返回时,需要再使用一次startActivity(),如果需要传递数据回来,肯定需要用Intent,但是不断地调用startActivity(),每次跳转系统都会在task中生成一个新的Activity实例,并且放于栈结构的顶部。
2016-03-15 16:12:55
7358
原创 Android学习之跨进程通信安卓接口定义语言AIDL(二)
接着刚刚的一篇讲下使用AIDL传递对象的过程,AIDL在不导入其他包的情况下支持如下几种数据类型:1. 基本数据类型(boolean、char、byte、int、long、float、double),注意:不支持short2. String和CharSequence3. List和Map4. Parcelable
2016-03-14 14:43:17
488
原创 Android学习之跨进程通信安卓接口定义语言AIDL(一)
今天来写下安卓接口定义语言,也就是大家听了都头疼的AIDL,今天有幸看到慕课网的AIDL视频学习了一下,在此感谢慕课网,是个很不错的网站。进入正题,Android中跨进程是如何传递数据的?如果是Service方面的当然是AIDL。Android中2个进程无法直接通信,必须通过Android系统底层间接通信,而跨进程通信有4种方式,分别对应4大组件,其中Service对应的就叫AIDL。
2016-03-13 20:35:32
901
原创 Android学习之自定义控件之图片带文字的View
实际项目开发中肯定会遇到Android提供的原生的控件不能满足我们实际使用需求的情况,这时候就需要自定义控件啦,自定义控件有很多种方式,有的只需要重写某个控件,有的则需要完全自己写个控件,前者比较简单,后者比较复杂,当然我对Android的理解也不是很深入,这里就讲下自己对后者的使用。
2016-03-12 16:17:07
1501
原创 Android学习之自定义AlertDialog
今天写下自定义弹出对话框AlertDialog,自定义AlertDialog有很多种,也有很多实现的方式,系统自带的AlertDialog往往功能单一,主要是样式比较丑,对于处女座简直是不能忍啊,于是就想到了自定义样式的AlertDialog。
2016-03-08 20:19:02
810
原创 Android学习之解决多个Fragment切换时重新实例化的问题
多个Fragment切换时如果直接使用replace()方法来切换Fragment的内容,会导致要切换的Fragment重新实例化,也就是会重新调用onCreateView()方法,之前也想过用show()和hide()方法来显示和隐藏Fragment,当然用下来就会发现如果存在多个Fragment时还是会有一些别的问题,之后查了很多网上的答案,发现很多大神用了一个方法来切换Fragment。
2016-03-06 19:39:42
2480
原创 Android学习之Json解析库Gson
接着上一篇Volley,在使用Volley加载好数据之后,我们肯定不能直接使用这个数据,一般获取的数据都会是Json格式,所以自然而然我们要处理下Json,网络上有很多Json解析库,这里我使用Gson来解析Json,Gson有个特点,就是要将数据的键作为变量封装到一个个实体中,如果值为数组的,变量的类型还必须是集合,然后通过Gson.fromJson来传入数据和实体类。
2016-03-05 09:59:22
660
原创 Android学习之网络请求库Volley
今天学习使用了网络请求库Volley。在这里以聚合数据的天气预报API为例子来看看Volley库是怎么获取数据的,大家首先要获取相应API的Key,聚合数据都有文档。
2016-03-04 15:23:15
535
原创 Android学习之接口Interface
今天写下接口的使用,说实话接口想通过一个小Demo来演示还挺难的,不过还是写了一个小Demo,希望能给大家一点帮助,大家举一反三,理解接口的使用场景。
2016-03-03 21:09:43
11570
原创 Android学习之异步任务Handler
今天来讲下Handler,为什么要使用Handler呢?主要有两个原因:一是线程安全问题,假如同时有两个线程对一个UI控件进行调整,那么控件自然就没法正常的工作。而Handler永远都是在UI主线程,这就意味着对一个控件的修改永远只会有一个线程,不会存在多个线程同时修改一个控件。二是方便统一管理,通过Handler可以统一进行对UI的管理,因为Handler采用消息处理的机制。
2016-03-02 13:29:36
745
原创 Android学习之异步任务AsyncTask
Android中有几种实现异步任务的方式,比如Handler,比如AsyncTask,Handler比较复杂,今天就不写了,相信不少童鞋都使用过AsyncTask,当然也有不少童鞋还不知道怎么用AsyncTask,今天就写下AsyncTask。AsyncTask和Handler有一些区别,简单来说就是单个异步任务时使用AsyncTask比较简单,多个异步任务时使用Handler比较方便。
2016-02-29 15:58:56
841
原创 Android学习之四大组件之广播接收器BroadcastReceiver
BroadcastReceiver顾名思义也就是说"广播接收器"的意思,它用来接收系统和应用中的广播。作为四大组件之一想必大家肯定比我更熟悉。
2016-02-28 10:41:04
1068
原创 Android学习之适配器BaseAdapter
Android开发中肯定会接触到Adapter,Adapter也有很多种,大部分工作都是使用BaseAdapter,理由很简单,就是可以自定义啦。今天就写下个人对BaseAdapter的理解。
2016-02-26 16:07:15
461
原创 Android学习之计算2个日期之间有多少年月日
最近项目遇到一个需求,就是计算照片上传的日期减去用户的生日来得到用户的年龄有多少年月日。听起来这个需求似乎挺简单的,但是查了很久也没有一个比较好的答案,最后东拼西凑总算勉强得到一个能用的算法。
2016-02-24 15:48:00
3174
原创 Android学习之自定义基类BaseApplication和BaseActivity
Android开发中相信大家一定会使用到许多重复的类似的方法,对于这些重复的工作,我们可以将其提取到一个Util工具类当中来提高开发效率,当然也可以直接新建一个基类来提取这些重复的方法,我个人比较偏向于后者,感觉逼格比较高点。
2016-02-23 14:32:26
10497
1
原创 Android学习之系统默认路径
相信很多新手对于Android的一些系统默认路径不太了解,在这里以5.1的Nexus5为例来介绍一下,希望对新手有点帮助,当然我也是新手啦。
2016-02-06 08:54:56
9749
原创 Android Studio学习之实用快捷键
咳咳,第一篇文章,不知道写点什么好,就写点这个吧。不用怀疑了,对于不会使用Android Studio(以下简称AS)或者没有使用过Android Studio的朋友来说还是有点帮助的。备注:标红的为本人认为比较重要的快捷键。
2015-12-21 15:08:14
667
Android MoshiDemo
2016-08-07
Android GlideDemo
2016-05-29
Android ProxyPatternDemo
2016-04-15
Android FrescoDemo
2016-04-14
Android ObserverPatternDemo
2016-04-13
Android FactoryPatternDemo
2016-04-05
Android SingletonPatternDemo
2016-03-31
Android ComparatorDemo
2016-03-30
Android ComparableDemo
2016-03-30
Android PatternDemo
2016-03-29
Android TimerTaskDemo
2016-03-28
Android Toast Demo
2016-03-26
Android ShapeDemo
2016-03-25
Android ToastDemo
2016-03-24
Android OverridePendingTransitionDemo
2016-03-23
Android RetrofitDemo
2016-03-23
Android WeiboShareDemo
2016-03-22
Android CustomProgressDialogDemo
2016-03-22
Android CustomTextWatcherDemo
2016-03-22
Android SQLiteDemo
2016-03-21
Android Volley Demo
2016-03-20
Android VolleyDemo
2016-03-20
Android ServiceDemo
2016-03-20
Android OnActivityResultDemo
2016-03-20
Android MVPDemo
2016-03-20
Android InterfaceDemo
2016-03-20
Android ImageWithTextViewDemo
2016-03-20
Android HandlerDemo
2016-03-20
Android GsonDemo
2016-03-20
Android CustomAlertDialogDemo
2016-03-20
Android AIDLDemo
2016-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人