- 博客(32)
- 资源 (2)
- 收藏
- 关注
原创 Bugly热修复使用及多渠道打包
Bugly热修复使用及多渠道打包头身一、为什么要用Bugly二、Bugly热更新接入流程第一步:添加依赖插件第二步:添加依赖插件gradle配置tinker-support.gradle的配置第三步:初始化SDK自定义Application,当enableProxyApplication为false的情况自定义Application,当enableProxyApplication为true的情况第...
2018-09-26 20:05:14
703
原创 Android开发者编写自己的API接口(下)
前言在上一篇Android开发者编写自己的API接口(上)中,已经介绍了如何搭建一个基本的开发环境,以及接口的编写,最后是能够成功运行的。这一篇将更进一步,主要解决下面两个问题:①:如何让后台项目运行在TomCat上②:如何在云服务器上部署自己的项目Start一、本地Tomcat的使用1.1、安装Tomcat使用TomCat,自然是要TomCat的安装包咯...
2018-08-14 20:23:30
5937
2
原创 Android开发者编写自己的API接口(上)
序作为一名Android开发人员,想要实现对一些数据的操作和展示,可以通过一些提供Api接口的网站去获取,虽然Api市场上种类繁多,不过别人提供的接口未必就是自己想要的,到最后,还是得自己去实现Api接口。毕竟,最了解自己需求的人,还得是自己。准备很多小伙伴应该都会有着类似的需求,不过想去做的时候,常常无从下手。所以这里做了一个整合,关于如何搭建开发环境,以及所需工具的下载...
2018-08-14 20:22:25
23443
13
原创 使用ViewDragHelper实现Activity侧滑退出
日常使用app的过程中,可以发现很多app都具备侧滑退出当前界面的功能,就像微信、贴吧极速版之类的。这种操作对于提升使用体验还是有一些效果的,下面就来看一下,怎么通过ViewDragHelper去实现这样的效果。关于ViewDragHelper,这里不做太多介绍,简单来说它是由V4包提供的用来帮助你更轻松的处理复杂的手势。好了,下面是具体的实现,首先,创建一个View继承一个布局:...
2018-07-01 21:39:34
951
原创 二维码框架Zxing的使用及自定义
项目需要一个二维码扫描功能关于二维码的扫描,我之前就听说过ZXing了(虽然从来没用过)所以既然这次要用它了,自然是得搜索一番资料咯。在开始介绍之前,我先说一下我的使用情况吧,网上的博客里面基本上都把Zxing框架自己封装了,或者在教程中需要添加library然后修改源文件。否则你就无法自定义ZXing,并且你还会遇到某些问题——比如二维码扫描图片是横屏的。幸运的是这些问题我都...
2018-06-19 21:58:04
24497
13
原创 Android开发之MQTT的使用
首先MQTT是啥子东西?新的项目要用到这个,不过我之前从来没有听说过啊。没办法,许多事情是不能等你准备就绪才可以去做的,生活就是这样。好了,接下来通过上网查阅资料,关于MQTT的初步认识已经形成了,下面是摘录的一些介绍:原文地址Android端实现消息推送的几种方式轮询:客户端定时向服务器请求数据。伪推送。缺点:费电,费流量。拦截短信消息。服务器需要向客户端发通...
2018-06-16 17:42:33
75818
98
原创 关于RxJava2.x的学习笔记
花了一段时间学习rxJava,有关于1.x版本的和2.x版本的,主要看的还是2.x版本。下面将我主要看的两篇文章进行了整合,除了相当于为自己整合一下,也可以让我更加熟悉里面一些操作的用法。两篇文章的原地址分别是:1、这可能是最好的RxJava 2.x 入门教程系列(主要讲的RxJava2.x)2、给 Android 开发者的 RxJava 详解(主要讲的RxJava1.x)有兴...
2018-04-14 20:28:18
266
原创 《算法》——第三章:查找
在第三章里面,并不是一开始就讲的查找,第一节中首先介绍的是 符号表 。3.1 符号表 符号表,其实就是存储了键值对的一种数据结构,键值对用于将一个键和一个值联系起来。符号表支持两种操作: 插入(put),即将一组新的键值对存入表中;查找(get),即根据给定的键得到对应的值。下面看一下书中关于符号表的应用以及API书中对于符号表的要求就不贴了,基本上就是set集合对于...
2018-03-06 14:31:03
703
原创 Retrofit2的简单使用
关于Retrofit2我也是闻名已久了,一直想去用这个库,但就之前的水平来说,我是看不懂的…在我阅读能力随着技术一步步提升之后,我发现我终于看得懂了,于是赶快使用一下凑个热闹。首先还是老样子,我看的博客地址是 http://blog.csdn.net/carson_ho/article/details/73732076写的非常详细,感谢这些大佬们!关于Retrofit2的详细使用在上面的博客中已经
2017-11-25 15:47:41
443
原创 《算法》——第二章:排序
终于来到了第二章,排序也是算法中非常重要的一环。2.1 初级排序算法 我们主要关注的对象是重新排列数组元素的算法,其中每个元素都有一个 主键 。排序算法的目标就是将所有元素的主键按某种方式排列(通常是按照大小或者字母的顺序)。排序后索引较大的主键大于等于索引较小的主键。我们会将排序算法放在类的sort()方法中,该类还包含辅助函数less()和exch(),分别用于比较元素大小和交换元素位置。
2017-11-21 19:20:50
390
3
原创 《算法》——第一章:基础
看《算法》真的是需要数学基础的,像我这样小学时候数学经常100分的人,但是在大学四年没怎么碰过数学之后,连等比数列求和公式都会忘了的人,再看《算法》,真是有一种要死要活的感觉。不过好在相较于广袤到你找不到方向的大学物理,细小到你摸不着头脑的电路,算法还算比较人性化的知识了,作为一名准程序猿,学习算法还是不可或缺的要求吧。现在就是不求学精,但求学懂。好记性不如烂笔头,不过在计算机这方面,我觉得烂笔头不
2017-11-17 23:31:28
559
原创 使用LitePal做一个收藏新闻的功能 + SwipeBackLayout滑出活动
由于想做一个收藏功能,于是想到了用数据库的方法去实现,顺其自然地我想到了以前看过的《第二行代码》中讲过这方面的知识,后来把书拿出来翻了翻,也去郭神的博客上看了看,收获还是不少滴。关于LitePal的github地址在这里: https://github.com/LitePalFramework/LitePal接下来就是怎么去用LitePal了。首先添加依赖:dependencies { co
2017-11-10 22:52:03
374
原创 SearchView的简单使用
关于SearchView这个控件还是想要使用搜索功能的时候知道的,之前准备自定义做一个,但是每次自定义控件的时候就头疼的要死,何况还不一定成功,所以直接拿V7库里面的SearchView来用啦。首先是在网上查阅的资料,看到一盘写的非常好的教学文章,可以说是该怎么用基本上一目了然了,下面是文章地址: http://www.jianshu.com/p/7c1e78e91506好了,接下来准备使用这个控
2017-11-10 14:00:34
519
原创 使用RecyclerView结合jiaozivideoplayer去加载不同类型的布局
想做一个能够实现多种类型布局放在一个RecyclerView中的页面,Demo最终的效果是下面这个样子:可以看到,整个列表中,有视频布局,纯文本的笑话布局,长图片布局,动态图片布局;最后两个可以合并在一个布局里去展示。所以首先,要显示上面的东西需要用到下面这些控件:1.节操播放器(大概是很久以前的名字了,这个控件经常改名字)使用方法是添加依赖:compile 'cn.jzvd:jiaozivideo
2017-11-09 14:19:42
3741
2
原创 PhotoView结合ViewPager的简单使用
之前已经学过了ExpandableListView的基本用法,这次就在上面的基础上来结合PhotoView实现真正的浏览图片的做法。使用PhotoView前需要添加依赖:compile 'com.github.chrisbanes.photoview:library:1.2.4'然后创建WatchPicturesActivity活动,它的布局是:<?xml version="1.0" encodin
2017-11-07 16:19:26
473
原创 ExpandableListView的使用
最近使用一个图片API的时候想要弄一个像QQ好友列表那样的效果,然后给图片列表分类,在网上查找资料的时候就发现了ExpandableListView这个控件,然后就顺带发现了这些大佬们的文章,也是看了一下他们怎么使用这个控件的,然后自己实践了一下,下面是文章的地址。①:Android中ExpandableListView的使用 http://blog.csdn.net/gyflyx/article
2017-11-05 10:55:09
448
原创 从本地读取视频以及播放(3)——学习笔记
首先是如何让其他软件能调起自己写的播放器可以参照系统源代码 将下面这些代码拷贝到SystemVideoPlayer的Activity配置清单处: <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:n
2017-11-04 11:24:26
1347
原创 从本地读取视频以及播放(2)——学习笔记
注册广播有两种方式:动态注册和静态注册静态注册:在功能清单文件注册,只要软件安装在手机上,就算软件不启动,也能收到对应的广播; 但是不是所有的广播都可以静态注册,比如电量的变化,亮屏息屏是不可以使用静态注册的。动态注册:只有注册的代码被执行后,才能收到对应的广播接下来动态注册一个对电池电量变化监听的广播。private MyReceiver receiver;private void initD
2017-11-03 11:23:31
654
原创 从本地读取视频以及播放——学习笔记
①:首先,写好布局 相对布局 : ListView和TextView和ProgressBar 然后是video_pager.xml的布局,顺便初始化:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2017-11-02 17:40:55
1373
原创 折叠式标题栏的使用——复习笔记
之前看过《第二行代码》里面第十二章讲到过CoordinatorLayout、AppBarLayout、CollapsingToolbarLayout、NestedScrollView的使用,现在再复习一下,把原来的代码放在现在的项目中,首先创建布局activity_news_detail.xml:<?xml version="1.0" encoding="utf-8"?><android.supp
2017-11-01 23:58:20
263
转载 图片的三级缓存——学习笔记
三级缓存的好处是:可以尽量避免内存溢出,提高程序执行效率,省流量,提供用户体验 - 内存缓存: 最快 - 本地缓存: 其次 - 网络缓存: 速度最慢三级缓存设计步骤: * 从内存中取图片 * 从本地文件中取图片 向内存中保持一份 * 请求网络图片,获取图片,显示到控件上 * 向内存存一份 * 向本地文
2017-10-31 09:17:35
262
原创 WebView的简单使用——学习笔记
之前的新闻列表都只能看看标题什么的,现在如果想看详情的新闻信息,就需要进入新闻页面,一般来说都可以通过WebView配合地址的方式实现,接下来就为之前的ListView添加点击事件,让它能够进入一个新的页面,然后把新闻详情页面就放在这个新的页面中: listView.setOnItemClickListener(new MyListViewOnItemClickListener());
2017-10-30 09:43:22
391
原创 自定义下拉刷新的ListView——学习笔记
一般来说下拉刷新有这么几个状态,就拿QQ的下拉刷新来说吧 首先是往下拉的时候: 然后是下拉超过一定距离的时候: 然后是手指释放的时候刷新: 最后就是刷新成功或者失败的时候: 大概就是以上效果所以自定义一个下拉刷新控件需要结合onTouchEvent来实现。 首先,自定义下拉刷新控件的布局文件refresh_header.xml:<?xml version="1.0" en
2017-10-28 11:00:03
349
原创 设置图片轮流滑动播放的效果——学习笔记
上一篇已经说道了怎么通过请求网络获得的数据来更新ListView的UI,这次是在上一次的基础上给ListView顶部加上一个轮播图的效果,同时完善更多的布局。 首先是关于ListView的设置,上次的ListView只在一个页面中,现在可以先创建多页ListView,然后把这些页面放入一个ViewPager中,然后结合TabLayout,这样就做成一个基本的左右滑动切换浏览新闻列表的效果。上次Ok
2017-10-27 14:30:30
865
原创 联网请求数据+更新ListView的UI——学习笔记
联网的框架有很多,我试着分别用了两个,一个是Volley,一个是Okhttp。在使用过程中,有大大小小的坑,把我这两天的时间都浪费光了,不过解决这些问题后我确实又明白了很多知识,虽然这些知识在之前看书的时候都学过,但是理解不够,用的时候自然无从下手,现在明白一些了,就把这些都记录一下。首先说一下使用过程中的坑吧,第一个坑,我在用volley去请求网络后,然后在volley请求成功的回调方法里面打印了
2017-10-26 12:52:32
534
原创 使用NaviGationView来配置SlidingMenu的左侧菜单——学习笔记
大概实现下面这样的效果吧,不过这个布局是之前用过的DrawerLayout的左侧菜单,现在把它实现在SlidingMenu的左侧菜单上, 相当于承接了前几篇的布局: 使用NaviGationView之前呢,需要添加Design Support库,因为这个控件是由这个库提供的,之后还会用到一个圆形化图片的控件,所以也需要添加这个控件的依赖,虽然之前已经添加过了,不过这里再声明一下compile
2017-10-22 20:13:36
2567
原创 网络请求与json数据解析——学习笔记
坑啊,无法保存到草稿箱,还得重新写一遍还好没有一次性写完。——————正文———————Volley非常合数据量小,通信频繁的网络操作,如果是数据量大的,像音频,视频等的传输,还是不要使用Volley的为好。使用Volley前,先添加依赖:compile 'com.mcxiaoke.volley:library:1.0.19'然后是网络请求权限:<uses-permission android:na
2017-10-22 13:58:53
634
原创 RadioGroup的RadioButton简单用法——学习笔记
关于RadioButton,它的具体例子嘛,就好像是QQ啊、微信之类的app底部那几个按钮,不过他们是不是用RadioButton来实现的我不太清楚,但是RadioButton基本上就是这样的效果接下来就接着上一篇来实现一下RadioButton吧,使用RadioButton必须在RadioGroup组件中。首先,上一篇将MainActiviy主界面替换成ContentFragment后,现在要把C
2017-10-20 23:07:59
27876
1
原创 使用SlidingMenu创建左侧滑动菜单+Fragment的简单用法——学习笔记
一、导入SlidingMenu库关联库。 首先在github上下载压缩包。 下载地址是:https://github.com/jfeinstein10/SlidingMenu 下载得到SlidingMenu-master.zip文件,解压后进入library文件夹,然后复制它的路径(比如F:\AndroidStudioProjects\Library\SlidingMenu-m
2017-10-20 15:38:16
617
原创 ViewPager切换页面——学习笔记
大部分应用在安装后刚打开都有个引导页面,一般需要把这些引导页面滑到最后才能进入主界面。 同时引导页面上一般都有几个点,分别对应每个ViewPager,接下来就是关于如何实现这一功能的学习笔记。 这张是网上随便找的一个图片,差不多就是实现这样的界面。整体思路:这个页面的布局由几个部分组成 ①:ViewPager组成滑动的每一页。 ②:一个按钮
2017-10-12 21:52:37
1311
原创 三种动画的简单用法——学习笔记
AlphaAnimation——透明度渐变动画 ScaleAnimation ——缩放动画 RotateAnimation——旋转动画①ScaleAnimation动画相关方法的参数: ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivo
2017-10-11 21:19:26
404
原创 Material Design —— TabLayout学习笔记
一、使用Material Design控件前要先添加依赖在Gradle的dependencies{ }中添加compile 'com.android.support:design:25.3.1'在design后面的数字要求和support:appcompat-v7后面的一致。二、定义布局文件使用TabLayout时,常与ViewPager + Fragment一起关联使用,TabLayout是界面上
2017-10-09 13:35:13
373
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人