- 博客(23)
- 资源 (14)
- 问答 (2)
- 收藏
- 关注
原创 Android时间选择器和日期选择器的使用注意
本文就时间和日期选择器做一个简单的使用时间选择器一般设置时间我们都会选择TimePicker或者TimePickerDialog,因为TimePickerDialog直接就是对话框使用方便,所以很多初学的就会更多选择TimePickerDialog,不说他会有什么不想要的效果,先看看它的使用方法new TimePickerDialog(MainActivity.this, n
2016-03-30 10:05:08 1974
原创 android之Futuretask、Timer、AsyncTask的使用及原理解析
之前用写过这么一篇文章,但是写的很简单(那时候想的只是给自己做个笔记),但是后来想想还是有必要写的详细些,所以就把这前那篇删了,重写整理除了这篇文章。 还是先给出参考的博文地址: Java 并发专题 :FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等 Java并发编程:Callable、Future和FutureTask Java 并发专题 : Timer的缺陷
2016-03-28 11:34:37 2724
原创 java 软引用、弱引用、强引用、虚引用的解析
写了那么多篇文章第一次使用MarkDown编辑器。。。 在这里要分成一下两块来说一说软引用:软引用与强引用、弱引用、虚引用的对比软引用的应用软引用与强引用、弱引用、虚引用的对比强引用弱引用虚引用软引用强引用强引用也就是我们一般使用的引用,如若一个对象有强引用,那么即使内存不足的情况出现,强引用对象也不会被轻易的回收String s = new String();创建了一个Strin
2016-03-25 11:37:57 1103
原创 android的一些比较有用的方法
一:判断某个activity是否在最上层显示boolean isFront(Activity context){try{ActivityManager act = (ActivityManager ) context.getSystemService(Context.ACTIVITY_SERVICE);List taskInfo = act.getRunningTask(1);
2016-03-23 17:06:01 505
原创 Android RecyclerView的使用
RecyclerView是在android5.0加入的,android有提供向下兼容的包,而这个包在对于用eclipse(而且没有更新最新的sdk)开发的人来说的确是比较麻烦的事,如果有朋友属于我上面说的情况-------用eclipse,而且还不是最新的sdk,那就需要导入两个包:一个是android.support.v7.widget.RecyclerView,还有一个就是对应版本的andro
2016-03-23 09:14:27 414
转载 Android任务和返回栈
任务是一个Activity的集合,它使用栈的方式来管理其中的Activity,这个栈又被称为返回栈(back stack),栈中Activity的顺序就是按照它们被打开的顺序依次存放的。当你点击一个应用的图标的时候,这个应用的任务会被带到前台,假如这个应用没有在后台的则创建一个任务,并将主activity的加入到返回栈中,返回栈是先进后出的数据结构。比如主activity A启动了activi
2016-03-22 09:09:12 698
原创 android Bitmap的内存管理
我们在显示图片的时候总是会用到Bitmap,但是Bitmap如果没有恰当的使用的话效率会很低也很容易会出现oom错误。下面是一段摘自官网的话:在Android 2.2 (API level 8)以及之前,当垃圾回收发生时,应用的线程是会被暂停的,这会导致一个延迟滞后,并降低系统效率。 从Android 2.3开始,添加了并发垃圾回收的机制, 这意味着在一个Bitmap不再被引用之后,它
2016-03-18 14:49:42 539
原创 java设计模式之建造者模式
建造者模式是创建型模式的一种,有人将建造者模式解释为抽象工厂模式和最后的main方法结合起来得到的,这个解释过于简单这里举个例子说明,首先一个model模型public abstract class model { public ArrayList sequence =new ArrayList(); protected abstract void start(); prote
2016-03-14 21:07:59 231
原创 android GridLayout。。。
仅作为记录。。。在使用GridLayout使用时需要注意首先要指定行数和列数,需要注意的是加入你指定了GridLayout的宽度和高度,然后你指定这个GridLayout为4行4列,这个GridLayout不会被平分为等大的16块,API level 21 时使用指定weight可以解决android:layout_columnWeight="1"android:layout_rowW
2016-03-14 17:17:00 579
转载 动态加载apk
原文出处:http://blog.csdn.net/singwhatiwanna/article/details/22597587动态加载apk,也就是已经安装的apk去加载未安装的apk中的资源以及activty,去执行其中的逻辑。这样可以给我们的应用瘦身以及去动态更新应用(其实还有很多其他的用处,我还没有理解到位所以就只列了自己理解了的用处)。实现的方式就是在已经安装的apk中的某个a
2016-03-12 10:46:15 303
原创 android定时回到主页面
在项目中遇到的一个要求:一段时间没有对屏幕进行操作就回到主页面(其实可以是任意页面)。我的做法是首先在app一进来的时候就启动一个服务,在服务中计数,根据这和计数值判断是否跳转回主页面其次需要写一个baseActivity配合这个服务,所有需要定时跳回到主页面的都继承这个baseActivity,在baseActivity中重写onTouchEvent事件,在其中改变服务中的计数值。
2016-03-11 15:49:37 1383 8
转载 android 换肤功能的实现
参考:http://www.open-open.com/lib/view/open1443511421408.html以及:http://blog.csdn.net/singwhatiwanna/article/details/23387079 此文的作者还在其他文章中做了很多解析可以好好看看。在网上看到很多做法就是直接在代码中做判断然后动态设置
2016-03-11 09:29:44 272
原创 android手势解锁-------后台恢复到前台就启动手势解锁
我们在用使用支付宝的时候会发现,每次我们按下返回键键或者home键回到桌面之后,再次打开此app时就会要求我们输入手势,正确输入后会回到我们退出app时的activity
2016-03-10 11:58:25 3800 1
转载 android 手势解锁的实现
基本思路,继承一个view,重写其ondraw方法,在其中9个圆(也可以自己自定义属性,让使用者控制圆的个数,但是过多或者过少都会影响美观而且太复杂的话用户不容易记住自己设置的手势,所以基本可以不用考虑自定义这个属性),每个圆都有一个相当于下标的属性,用于唯一确定一个圆,最后手势的比较也是通过这个坐标点,也就是说你画的手势它只记录了下标值(比如你的手势是一个z,它记录下来的是下标的位置顺序(012
2016-03-09 14:40:00 897
原创 对话框从下往上弹出---模仿微信退出
本文是基于AlertDialog实现的效果,主要的实现代码就是dialog.getWindow(),然后在得到的Window中setWindowAnimations.在这里就可以设置dialog的显示动画,具体实现代码如下AlertDialog d =new AlertDialog.Builder(this).create();d.show();Window window = d.getW
2016-03-09 09:12:51 1838
原创 Popupwindow边缘半透明的实现及一些其他解析
首先Popupwindow和alertDialog是经常拿来比较的,其区别在于Popupwindow是阻塞的,alertDialog是不阻塞的,看情况适时的选用。首先说怎么实现Popupwindow弹出时和alertDialog一样的边缘背景半透明的效果,实现方法如下:在Popupwindow要显示之前设置窗体透明度WindowManager.LayoutParams lp = get
2016-03-08 15:41:14 1679
原创 关于listview重写onintercepttouchevent不响应move和up事件
view事件分发机制一般步骤如下:首先执行diapatchtouch,在diapatchtouch中调用onintercepttouchevent,在其中判断有没有拦截,如果拦截了就不调用子view的diapatchtouch,调用自身的touch事件,如果不拦截就调用子view 的diapatchtouch,重复上面的步骤。而对于listview,测试中重写onintercepttouc
2016-03-07 16:29:05 3527
原创 android 卸载应用、打开应用、获得系统中已安装应用列表
首先:1 、获得所有已经安装的应用的列表:List mApp = getPackageManager().getInstalledApplications(0)2、删除指定的应用Intent intent = new Intent(Intent.ACTION_DELETE);intent.setData(Uri.fromParts("package",mApp.get(i),nu
2016-03-04 14:43:22 1564
原创 java设计模式之访问者模式二
接着上一篇文章,上一篇讲了访问者模式的技术要领(暂且这么说好了),这一篇文章就来说说什么时候比较适合使用访问者模式,统计功能:实现这个功能可以照样使用上一篇实现的工作,只需要在访问者上进行一些修改。这里模拟的是计算所有同学的平均分:public interface IVisitor { public void visit(Fstudent fs); public void
2016-03-03 20:21:42 282
原创 java设计模式之访问者模式一
访问者模式是行为性模式的一种,可以方便我们遍历不同的类型,执行不同的操作,下面要演示的程序循环打印学生的信息public abstract class Student { /** * 考试分数 */ private int score; private String name; private int sex; public int getScore() { retur
2016-03-02 21:53:57 274
原创 Viewbadger消息提醒的实现
Viewbadger项目的下载地址https://github.com/jgilfelt/android-viewbadger首先是使用方法BadgeView badgeView = new BadgeView(this, iv1); new一个 BadgeView对象,参数的第一个为context对象,第二个参数是要挂钩的view对象(就是要显示消息提示的那个view),创建了Bad
2016-03-02 10:45:44 418
原创 android 自定义Alertdialog对话框用于耗时加载
http://blog.csdn.net/duanyanrui/article/details/8494767android的AlertDialog对话框是非阻塞的,如果要使用阻塞的对话框需要popupwindow,
2016-03-01 14:27:15 2072
仿iosswitchbutton
2016-03-04
自定义AlertDialog对话框用于加载等耗时任务提示
2016-03-01
android官网demo之animations。zip
2016-02-23
android官网demo之缩放view
2016-02-19
根据http协议实现了本地缓存,导致数据更新不及时怎么办
2016-05-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人