- 博客(13)
- 资源 (5)
- 收藏
- 关注
原创 Android高能下载库FileDownloader
我们的App中可能会提供给用户下载文件或者图片的场景,然后你可能就会考虑以下名词了 多任务下载 多线程下载 断点续传 高并发没错,如果你自己手写下载库的话需要考虑这四个名词,接下来我们学习一下FileDownloader库,该库的作者对这四点已经封装的很好了,5000人Star的开源库你怎可错过呢?老规矩,引用别人的库的时候一定要放别人的github地址 FileDownl
2017-08-29 21:01:16 16963 6
原创 Android Studio中的TODO和FIXME
人是容易健忘的,所以我们会使用很多备忘录软件避免错过一些重要的事情与之类似,当我们在敲代码的时候如果遇到下面这些情况1 UI妹妹还没有给我图,这个A界面暂时先写逻辑等有了图再继续写2 B界面这块的代码太混乱了,我一定要找时间修复一下那么问题来了,你怎么记录下来AB两个界面都需要待完善的操作呢? 写在笔记本里? 记录在App备忘录里?即使你记在了备忘录中,那么你重新打开IDE的时候还是得重新找到A
2017-08-29 17:07:54 1787 1
原创 SmartRefreshLayout+CommonAdapter打造上拉加载下拉刷新界面
2018年1月9日更新我之前的文章提及过万能适配器万能适配器(一)万能适配器(二)我们当时提及过这个万能适配器要是能搭配刷新库一起使用就更好了,现在最热的刷新库要属SmartRefreshLayout了,附上SmartRefreshLayout的github地址SmartRefreshLayout github前期准备已经做完了,现在要看下我们的效果1 导入三方库
2017-08-26 11:42:11 1419
原创 TabLayout+ViewPager使用
直接上效果图首先看布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientatio
2017-08-19 10:12:16 470
原创 Plugin Error: Android ButterKnife Zelezny threw an uncaught ArrayIndexOutOfBoundsException. Disable
因为布局文件命名id的时候使用了两个下划线: android:id="@+id/week_book_date" //这是错误的 android:id="@+id/week_bookdate" //这是正确的
2017-08-15 09:41:00 1140 1
原创 Android判断是否安装某App
当我们的app需要使用第三方应用时,需要判断是否安装(比如你想分享到微信朋友圈,需要判断是否安装了微信) public static final String PACK_NAME = "com.tencent.mm";//微信包名public static boolean isInstallApp(Context context) { final PackageMana...
2017-08-13 17:50:53 5340
原创 Android 中 %s %d %f占位符使用
我们在写布局的时候常常会遇到下面的TextView里面包含人名,游戏名和时间,假如这三个属性是固定死的,那么这个很好写,如果这三个属性是从后台取出来的,而且还有可能随时变化,怎么做?首先你可能会想把“我叫”写成一个tv,把 “贼6”和“不信可以”“一起玩!”再写成三个tv,抛去写布局要求对齐方式这个恶心的地方不说,假如这里面的变量不是三个而是十个二十个,那你得写到吐,所以这个时候就需要占位符登场了1
2017-08-13 14:25:26 21136 3
原创 ViewPager+Fragment(二)装修房
上节课我们使用VF(ViewPager+Fragment)搭配使用做出了底部导航栏的效果,既然效果已经出来了为什么还需要写这篇文章呢?1 毛坯房缺点我们在每个Fragment中打上如下的log,然后点击导航菜单栏切换Fragment @Override public View onCreateView(LayoutInflater inflater, ViewGroup container
2017-08-10 22:02:34 400
原创 ViewPager+Fragment(一)毛坯房
(先放代码,之后再完善文字) MyAdapter类public class MyAdapter extends FragmentStatePagerAdapter { private List<Fragment> list; public MyAdapter(FragmentManager fm,List<Fragment> list) { super(fm);
2017-08-08 16:29:00 413
原创 本地仓库上传到github
我们在本地是可以使用git命令的,但是只能在本地使用,换一个机器就不能看到代码了,想要在其他机器上也能看到代码就必须要将代码传到云服务器上(也就是这里的github)git remote add origin your_urlgit push -u origin master
2017-08-06 21:39:19 490
原创 实时更新UI
众所周知,Android子线程无法修改UI界面,但是一些耗时操作又必须放到子线程中进行,所以有一个概念叫做“异步更新UI”,什么意思呢? 耗时操作放在子线程去做,当耗时操作做完之后我把结果传给主线程,然后让主线程修改UI界面关于如何进行异步更新,下面这篇博客写的很详细也很好android进行异步更新UI的四种方式在我们项目中,有时候会遇到这种需求:异步实时更新UI异步更新: 一般是指开线程处
2017-08-06 14:17:02 944
原创 LayoutInflater
自我开始学习安卓,这个LayoutInflater就一直困惑着我,Inflate翻译成中文是膨胀的意思,但是翻译成布局膨胀器倒不合理,而我一直叫它“布局解析器”,今天就要揭开这个LayoutInflater的神秘面纱,在揭开面纱之前希望大家先看下这篇文章,了解一下基础知识LayoutInflater-使用1 LayoutInflater源码说明Instantiates a layout XML fi
2017-08-06 00:02:35 1131
原创 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo
写demo的时候遇到了这个运行时异常,一般遇到这种情况都是包名或者Activity名字写错了,参照了这篇博客写错名字出的问题尝试了这几种方法都不解决问题,苦寻良久,其实是因为文件缓存解决办法Clean一下项目,重新buid一次就好了。
2017-08-05 11:29:45 449
channelApk.zip
2019-08-13
Android实现快速发送电子邮件
2018-10-31
android扫码登录
2018-10-27
通讯录字母列表索引
2018-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人