
Android知识点
changhaiSmile
这个作者很懒,什么都没留下…
展开
-
Activity知识总结
Activity生命周期运行状态:可见,并且可操作(onCreate--onStart---onResume)(onRestart--onStart---onResume)暂停状态:可见,但是不可操作 onPause 停止状态:不可见,并且也不可操作 onStop 销毁状态:该Activity结束,或Activity所在的Dalivik进程被结束 onDestory回调函数原创 2016-09-09 14:55:01 · 323 阅读 · 0 评论 -
仿 QQ 底部 tab 导航
仿 QQ 底部 tab 导航原文链接:http://www.jianshu.com/p/826d730bd841本篇博客主要实现以下效果: 使用 FragmentTabHost 实现 qq 底部 Tab 切换 使用 RadioGroup 和 RadioButton 实现仿 qq 底部切换 使用 RadioGroup 和 ViewPager 实现可以滑动切换的仿 qq 底部 Tab转载 2016-11-07 10:33:02 · 1313 阅读 · 0 评论 -
SQLite和MySQL数据库的区别与应用
简单来说,SQLITE功能简约,小型化,追求最大磁盘效率;MYSQL功能全面,综合化,追求最大并发效率。如果只是单机上用的,数据量不是很大,需要方便移植或者需要频繁读/写磁盘文件的话,就用SQLite比较合适;如果是要满足多用户同时访问,或者是网站访问量比较大是使用MYSQL比较合适。下面详细介绍两者的区别和应用:SQLiteSQLite是非凡的数据转载 2016-10-18 15:32:04 · 581 阅读 · 0 评论 -
android 主线程和子线程之间的消息传递
从主线程发送消息到子线程(准确地说应该是非UI线程)public class LooperThreadActivity extends Activity{ /** Called when the activity is first created. */ private final int MSG_HELLO = 0; private Handler mHandl原创 2016-10-18 16:39:50 · 841 阅读 · 0 评论 -
Java BigDecimal详解
1.引言 借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。 2.转载 2016-10-19 14:14:33 · 388 阅读 · 0 评论 -
onBackPressed() 使用
onBackPressed() : 当手机按下back键时,执行此方法。 用此方法时 :有super.onBackPressed() 时 不能把在此方法中设置的 intent 传回上一个Activity , 因此 去掉super.onBackPressed() 在末尾加上finish();转载 2016-11-11 14:14:29 · 6527 阅读 · 0 评论 -
仿淘宝首页的淘宝头条View垂直滚动
之前本来是打算做TextView垂直向上滚动的,后来发现一位大神做得很好,https://github.com/sfsheng0322/MarqueeView 孙福生大神,然后自己要用到多个View向上滚动,也就是类似淘宝首页头条的那种滚动,所以就按照那个思路想了系啊,可以把View拿来滚动,这样可以自己随意的修改View里面的内容,还比较简单一些。所以这个整个思路就是把View就行循环滚动。转载 2016-11-16 09:19:10 · 849 阅读 · 0 评论 -
RxJava练习(1)--timer代替Handler
最近项目需要引入RxJava,需要转换代码思路。 先在项目中看看哪里能使用这些api,发现有个handler可以被替换,迅速使用。 原来的代码是这样:private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handl原创 2016-11-16 14:14:38 · 521 阅读 · 0 评论 -
android RecyclerView获得单个Item的ViewHolder
我们在使用RecyclerView时,有时候还需要获取某个Item的viewHolder,具体如下:int firstItemPosition = layoutManager.findFirstVisibleItemPosition(); if (position - firstItemPosition >= 0) { //得到要更新的item的vi转载 2016-11-14 13:51:46 · 1029 阅读 · 0 评论 -
android应用程序中获取view的位置
获取View类界面控件的位置,有助于添加新的控件。获取在parent里的相对坐标位置 这个比较简单,不用多说,直接调用View的方法:getLeft , getTop, getBottom, getRight 获得。获取在屏幕中的绝对位置 getLocalVisibleRectgetGlobalVisibleRectgetLocationOnScre转载 2016-11-23 09:28:29 · 407 阅读 · 0 评论 -
FragmentTabHost切换Fragment时避免UI重新加载
FragmentTabHost切换Fragment时避免UI重新加载每次FragmentTabHost切换fragment时会调用onCreateView()重绘UI。 解决方法,在fragment onCreateView 里缓存View: private View rootView;// 缓存Fragment view @Override public View转载 2016-11-07 09:58:18 · 641 阅读 · 0 评论 -
android RecyclerView获得单个Item的ViewHolder
我们在使用RecyclerView时,有时候还需要获取某个Item的viewHolder,具体如下:[java] view plain copy int firstItemPosition = layoutManager.findFirstVisibleItemPosition(); if (position - fir原创 2016-10-13 10:05:59 · 1318 阅读 · 0 评论 -
RecyclerView添加多个样式不同的Item布局
RecyclerView加载一种Item显示,往往不能满足我们在项目中开发的需要,下面我来给大家演示一下RecyclerView如何给它添加多个布局文件那么现在问题来了,这样实现的方式有很多种,1、通过RecyclerView中的Adapter中的getItemType();进行判断加载不的布局属于哪一种样式,通过样式来加载,但是这儿就会写很多的代码,比如每一个viewHolder原创 2016-10-12 13:47:16 · 4901 阅读 · 0 评论 -
安卓实战中防止Button的频繁点击多次执行点击事件和点击切换文字
情况一:用户非常快的双击按钮 按钮事件相当于二次 怎么控制一个Button俩次点击的时间大于2s每次点击事件执行之前 先判断俩次点击间隔是否大于2000毫秒public abstract class OnClickEvent implements View.OnClickListener { private static long lastTime; pub原创 2016-09-12 11:26:21 · 709 阅读 · 0 评论 -
使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中<meta-data>变量的值
前言在项目中,我们有时会需要根据不同的项目环境,使用不同的项目变量,举例:在测试环境中需要app访问的服务器地址是测试服务器正式发布下的app需要访问正式服务器。可以使用下面三种技术来满足要求:使用 gradle 在编译时动态设置 Android resValue修改 res value 的方式,比如修改 strings.xml 文件中的 AppNa原创 2016-09-18 09:24:37 · 1906 阅读 · 0 评论 -
RecyclerView控件列表项布局match_parent属性失效的根本原理
之前用RecyclerView为了达到自己想要的结果,把item的根布局(最外层Layout)的大小设为match_parent,一开始却发现一个很大的问题!咦?为什么我的item一加载就成了wrap_content的效果?我的match_parent为什么效果显示不出来…在尝试了很多很多方法觉得应该不是我写错了之后,我才意识到我根本不知道LayoutInflater的inflate这个函数的参数转载 2016-09-23 17:49:36 · 777 阅读 · 0 评论 -
Recyclerview.getLayoutPosition()问题
使用Recyclerview 时,如果要添加item的点击监听等功能,可以在Recyclerview.Adapter的onBindViewHolder中设置例如:@Overridepublic void onBindViewHolder(final MyViewHolder holder, int position) { holder.tv.setHeight(150原创 2016-09-25 11:28:15 · 2009 阅读 · 0 评论 -
Android基础---值得记住的小地方
string.xml中数组的创建 string-array name="transitions"> item>Fadeitem> item>Slideitem> item>Explodeitem> string-array>1234512345Activity中的调用 String[] Array = getResour原创 2016-09-25 11:36:39 · 787 阅读 · 0 评论 -
java格式化输出 printf 例子
import java.util.Date;public class Printf {public static void main(String[] args) { // %s表示输出字符串,也就是将后面的字符串替换模式中的%sSystem.out.printf("%s", new Integer(1212));// %n表示换行S转载 2016-09-25 17:42:43 · 485 阅读 · 0 评论 -
Html类支持的HTML标签
Html类位于Android.text.Html中,该类主要用来格式html格式的文本,像浏览器一样对html标签进行解析并渲染输出,但并不是所有的标签都被支持;不过我们可以实现Html.TagHandler这个接口来自我解析;内部类:interface Html.ImageGetter用于检索HTML中的标签,如果实现了这个接口,当解析到标签时会回调Imag原创 2016-09-26 13:52:35 · 355 阅读 · 0 评论 -
Android TextView中显示图片的4种方式
我们知道,TextView控件一般是用来显示文本的,而图片一般是用ImageView控件来显示。那TextView能否显示图片呢?答案是肯定的!下面列出常见的4种方式。 XML文件中指定属性值这种方式应该是最常用的了,在TextView的左上右下显示图片,可用 Android:drawableLeft android:drawableTop andr原创 2016-09-26 13:58:46 · 4261 阅读 · 1 评论 -
CoordinatorLayout +RecyclerView+加载不同布局的item
最近在做一个仿海词词典的demo,首页主要用到了CoordinatorLayout 折叠标题,并加载下方不同布局的数据。海词词典的的首页是非常漂亮的,先让我们看下它的首页吧。直接上图片 这里我们可以看到,首页向上滑动的过程中,只有上部分滑出了屏幕,而搜索框并没有,而是滑到了屏幕的上方看上去非常漂亮转载 2016-10-12 10:57:45 · 1053 阅读 · 0 评论 -
onWindowFocusChanged重要作用 and Activity生命周期
onWindowFocusChanged重要作用Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。译注:从onWindowFocusChanged被执行起,用户可以与应用进行交互了,而这之前,对用户的操作需要做一点限制。比如我们转载 2016-11-23 09:42:36 · 483 阅读 · 0 评论