
2016-学习总结
天才哆啦梦
我在前进的路上
展开
-
Android平台MVP开发模式实战入门
上一篇文章,我们使用android开源框架LitePal新建了一个android端数据库userinf.db,本篇我们在已建立的数据库上写一个简单的mvp模式的demo。第一步, 了解一下mvp模式我想从我们了解的mvc模式进行比较解说会好一点,mvp模式:M-Model-模型、V-View-视图、C-Controller-控制器,MVP作为MVC的进化,那么MVP所对应的意义:M-Model-模型原创 2016-06-14 21:10:50 · 1703 阅读 · 0 评论 -
Android数据库(SQLite)框架——LitePal实战入门
首先,引用一下百度百科对LitePal的定义:LitePal是GitHub上一款开源的Android数据库框架。LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表、増删改查的操作。并且LitePal很“轻”,jar包大小不到100k,而且近乎零配置,这一点和Hiber原创 2016-06-13 19:36:53 · 8830 阅读 · 1 评论 -
NumberPicker、DatePicker和DatePickerDialog中分割颜色的修改
前言: 开发中,为了应用整体美观,需要保持控件的色调和主题色保持一致,例如:NumberPicker、DatePicker和DatePickerDialog的分割线颜色一、NumberPicker的分割线颜色我把对NumberPicker分割线颜色的方法写在一个工具类中,便于全局调用,代码如下:public static void setNumberPickerDividerColor(Contex原创 2017-01-06 14:49:24 · 2041 阅读 · 0 评论 -
AndroidStudio更新新版本后,之前的项目一直处于Refreshing 'xxx' Gradle Project状态
前言开发项目之前,我用的是AndroidStuio2.1.0版本,项目开发完后,按耐不住就更新编译环境了。编译环境更新至AndroidStuio2.2.2. 更新完后,激动的打开AndroidStudio,原来的项目就处于如下状态: 本来以为这是更新后的正常情况,结果一直处于这种状态。然后搜索了一下网上,总结到一个简单方便的解决方法: 第一步: 关闭项目,进入AndroidStudio安装目原创 2016-11-03 16:58:23 · 14827 阅读 · 2 评论 -
解决Android首次启动APP时,显示空白页或者黑屏时间长的问题
问题描述: 第一次启动app(冷启动,如果不明白冷启动和热启动的话,可以百度一下),会出现白屏或者黑屏,而且当代码量增多的时候,出现的时间很长。这样的用户体验多不好。下面我写了一个小例子,先模拟一下该问题的效果图,以及解决问题后的效果图。处理前有空白页如图1,解决后效果如图2: 写的例子很简单,打开app,显示欢迎页面,两秒后进入主页。上面可以明显看到在启动app后,出现一个白屏后才显示欢迎页原创 2016-09-06 15:30:50 · 13224 阅读 · 7 评论 -
关于Android4.4及以下版本,TextView中使用矢量图时报错的问题
问题描述:在新项目的“我的”模块部分,每个条目左边是图片,图片右边是文字,然后条目末端是个向右的箭头,这个很常见,我是使用一个TextView来时实现的,由于UI那边没有切好左边的图,所以我这边在AndroidStudio里面新建了一个矢量图来代替了。在android5.0及以上版本的机子上运行,没有任何异常,但是在android4.4及下版本时,只要进入“我的”页面就崩溃。分析问题: 首先,先看一原创 2017-08-03 11:32:35 · 2354 阅读 · 0 评论 -
AndroidStudio中项目无法运行,报告Cant migrate project to Gradle in Android Studio错误
错误描述: 打开项目,AS右上角红色提示框:Migrate Project to Gradle? This project does not use the Gradle build system. We recommend that you migrate to using the Gradle build system. More Information about migrating to G原创 2016-12-29 17:16:00 · 12749 阅读 · 1 评论 -
修改FloatingActionButton的title的文字颜色及背景颜色
首先看一张图片 我是在一个不错的开源的FloatingActionButton库基础上实现的,链接github开源库 参考图片的标记和代码里的注释。代码如下:<com.getbase.floatingactionbutton.FloatingActionsMenu android:id="@+id/fab_meau" android:layout_原创 2016-10-28 18:44:54 · 10993 阅读 · 0 评论 -
AndroidApk混淆编译时,报告java.io.IOException: The same input jar[xxx/xxx.jar]is specified twice.
在混淆编译之前,我的程序可以正常运行,混淆编译时,报告如下错误: Error:Execution failed for task ‘:gviews:transformClassesAndResourcesWithProguardForRelease’. java.io.IOException: The same input jar [E:\Android\myProgram\angel\lib原创 2016-09-29 15:36:23 · 2080 阅读 · 0 评论 -
更新AndroidStudio后,运行原来可以运行的程序时,出现 Error running app: Instant Run requires 'Tools | Android | Enable A
错误描述如下图所示:解决方法如下: 在菜单栏中选择:Tools -> Adnroid -> Enable ADB integration ,勾选之后,再运行程序就可以了。原创 2016-05-04 12:07:50 · 3495 阅读 · 0 评论 -
当使用BottomNavigationView菜单项多于3个时,去除动画效果,显示菜单项文字
问题描述: 我们使用BottomNavigationView作为底部菜单时,当菜单项多于3个时,效果和3个及以下的效果已经完全不一样了,只有选中的菜单项才会显示出文字,未选中的菜单项只显示图标。动画效果看着很炫酷,但是APP设计要求的效果是与菜单项是3个的一致。下面我介绍一种解决的方案,首先看一下未做处理的4个菜单项效果图(图1)和做过处理的效果图(图2): —–》第一步:我之前写过一片文章简单原创 2017-08-17 18:36:43 · 9314 阅读 · 12 评论 -
RecyclerView+CardView使用总结(带小例子)
前言: 使用RecyclerView和CardView已经好久了,写一个小程序来回顾和梳理一下知识点。RecyclerView和CardView的介绍和优势,我这里就不再赘述了,网上有很多好的文章,例如:我刚开始学习的时候,是看着鸿洋大神写的Android RecyclerView 使用完全解析 体验艺术般的控件 学习的。小程序主要包括(1)无数据情况处理,(2)列表中存在两种布局,(3)点击处理。原创 2017-03-09 17:23:20 · 5384 阅读 · 3 评论 -
RecyclerView实现滑动和拖拽功能(带小例子)
前言: RecyclerView相对于ListView实现拖拽和滑动的效果要容易很多,今天写一个小程序,在上一篇文章 RecyclerView+CardView使用总结(带小例子) 基础上实现RecyclerView条目的上下拖拽和滑动删除,效果图如下: 第一步:设置拖动和滑动的回掉,让recyclerView和回调处理关联起来 主要代码如下:mRecyclerView = (RecyclerVi原创 2017-03-10 16:31:28 · 2254 阅读 · 0 评论 -
位图转化为矢量图
前言: 上一篇文章BottomNavigationView+ViewPager实现底部导航栏 中的底部菜单项使用的图片是矢量图,AndroidStudio本身带了一些矢量图,但是有时候并不符合我们的需求。所以我们需要自己画矢量图,但是简单的矢量图还可以,path少pathData数据简单,稍微复杂一些的图就不那么容易弄了。我们希望把UI给的位图使用工具转化为矢量图,这样就简单多了。下面我演示一下把p原创 2017-03-22 10:37:05 · 8564 阅读 · 0 评论 -
关于android使用design:25.1.0及以上包后,使用自定义behavivor(上拉隐藏,下拉显示)的view隐藏后不再显示的问题
问题描述:我的项目中主页有个右下脚有个悬浮按钮FloatingActionButton,悬浮按钮有个自定义的behavior,效果是下拉隐藏,上拉显示。本来项目用的design包版本是compile ‘com.android.support:design:23.4.0’,后来更新了AndroidStudio,顺便也把design包改为compile ‘com.android.support:desi原创 2017-03-22 20:23:41 · 2349 阅读 · 3 评论 -
FragmentTabHost+FrameLayout实现底部导航栏
app经常用到底部导航栏,早前使用过RadioGroup+FrameLayout实现或者RadioGroup+ViewPager实现,现在基本使用FragmentTabHost+FrameLayout来实现,因为使用起来简单易用。下面写一个小例子简要地总结一下这个组合。首先,看一下例子的最终运行效果图—》 这5个图标的效果其实都是一样的,只要做出来一个,以此类推就可以写出其他几个 第一步, Fr原创 2017-03-02 11:40:11 · 3421 阅读 · 0 评论 -
解决AndroidStudio的logcat显示超长字符串的问题
问题描述: 使用Log打印服务器返回的json数据时,有时候数据过长,在AndroidStudio的logcat只显示了一部分。没有完整的json体,首先最尴尬的是没法使用AndroidStudio的插件一键生成对应的数据实体了,哈哈。为了使用插件“偷懒”,我目标把数据源全部打印在logcat上。解决思路: 首先,要知道LogCat中的每次打印的message是有上限的,原来logcat在实现上对于原创 2017-04-24 18:44:58 · 9010 阅读 · 0 评论 -
BottomNavigationView+ViewPager实现底部导航栏
前言: 前面写过一篇FragmentTabHost+FrameLayout实现底部导航栏 公司原来一直这个套路来处理底部导航栏和显示页面的切换,真的很好用。但是自从发现BottomNavigationView这个控件之后,感觉BottomNavigationView+ViewPager实现底部导航栏这个模式更简单而且效果更酷。写个小demo展示一下,下面先看一下效果图: —>首先: 来看一下整体布原创 2017-03-21 21:52:17 · 10934 阅读 · 13 评论 -
重写FragmentTabHost,避免导航栏切换过程中再次创建内容页面Fragment
问题描述: 上一篇文章我们在导航栏对应的每个Fragment的onActivityCreated(…)方法中打印一个toast,在反复切换页面页面时,都显示了toast对话框。这说明,切换的时候,每个内容页面fragment再次重新创建了。预期是,第一次进入创建,随后切换进入不再创建。解决方案: 如果之前使用radioGroup+FrameLayout实现导航栏的,想必当时也遇到过上述情况,当时我的原创 2017-03-02 14:39:22 · 1914 阅读 · 0 评论