
Android技术探索
文章平均质量分 69
Android技术相关
Elven_Shi
这个作者很懒,什么都没留下…
展开
-
利用RxJava实现的事件总线(Event Bus)
概述RxJava 在Android的APP开发中使用越来越广泛,其实不只是Android项目,java web方向的使用也越来越广泛。好多公司现在都开始引入RxJava和RxAndroid。RxJava对于开发效率,降低维护成本具有很大的作用。RxJava采用的设计模式是典型的观察者模式,是一种响应式编程,支持链式操作。RxJava到底是什么?RxJava(RxJava在GitHub上的托管地址 )原创 2016-11-11 10:14:02 · 1848 阅读 · 0 评论 -
Android之Sqlite开发中可能被你忽视的细节
概述 Sqlite是在Android日常开发中使用的还是比较频繁的。有的同学可能会说:“我平时用的就不多”。一种情况是你用的第三方的开源库比如realm,或者是ORM型的GreenDao等,甚至有的还用了key-value形式的Snappy DB。另一种情况确实是开发中数据库用的少,但是这种情况很少。我们用Sqlite可能很熟练,但是对于一些细节,可能做了很长时间开发的同学有好多细节的地方还是不原创 2016-10-28 17:21:05 · 1011 阅读 · 0 评论 -
Android性能优化
Android性能优化方案布局优化尽量减少layout层级,减少界面绘制的工作量。 采用,标签自定义View的绘制onDraw中不要创建大量的局部对象。因为onDraw方法会被频繁调用,这样就会在一瞬间产生大量的临时对象,不仅会占用过多内存还会导致系统频繁GC,降低程序执行效率。 onDraw中不要做太多耗时才操作。内存优化静态变量导致的内存泄露 示例:一个外部的静态Context变量引用了原创 2016-10-28 17:28:55 · 637 阅读 · 0 评论 -
Android之Bitmap
加载Bitmap BitmapFactory类提供了四类方法用来加载Bitmap:1、decodeFile(...) 通过图片路径加载,同时可以选择是否设置options,不设置则采用默认options。 例子: Bitmap bm = BitmapFactory.decodeFile(sd_path)采用默认options Bitmap bm = BitmapFactory.decod原创 2016-10-28 16:59:23 · 649 阅读 · 0 评论 -
ViewPager + GridView实现GridView分页
概述 通过ViewPager实现GridView的分页实现 ViewPager通过设置PagerAdapter实现分页。每一页的布局是一个GridView。GridView通过设置自己adapter渲染GridView。 ViewPager:分页器。 GridViewPageAdapter:继承自PagerAdapter。ViewPager的适配器。 GridView原创 2016-11-04 14:37:07 · 3619 阅读 · 4 评论 -
Android资源文件目录assets和raw
assets 资源目录或者叫资产目录,里面存放的是无法直接访问的原生资源。与res属于同级目录。应用程序需要通过AssetsManager以二进制流的形式读取文件。应用程序编译的时候不会在R类中为assets目录下的文件创建索引。raw在res目录下(res/raw)也是用于存放一些资源文件的。应用程序编译的时候raw目录下的资源文件会在R类中生成索引res/raw与assets的比较相同点:都是原创 2016-11-07 10:14:17 · 1647 阅读 · 0 评论 -
禁止ViewPager的左右滑动事件
Android开发中ViewPager用到的频率还是比较频繁的,我们知道ViewPager有左右滑动的监听事件。有时候我们不想使用它的左右滑动监听,想要去掉,我们该怎么办?这时候我们布局的时候不要直接用v4包下面的ViewPager,而是实现新建自己的ViewPager继承v4下面的ViewPager,复写onTouchEvent和onInterceptTouchEvent方法。这两个方法主要是用原创 2016-07-12 15:53:16 · 6555 阅读 · 1 评论 -
Android四大组件之Service详解
一、Service简介Service和Activity一样都是Android的四大组件之一,不同的是Activity显示图形用户界面,而Service的运行是不可见的。如执行Intent查找、处理数据,更新ContentProvider、激活Intent和触发Notification。Activity在它的生命周期内定期启动、停止和重新创建,而Service则被设计为长生命周期的。用来执行一些原创 2016-06-17 17:38:34 · 1369 阅读 · 0 评论 -
Android引导页设计
转载请注明出处: 现在有几乎所有的APP在首次使用的时候都会有引导页,引导页的内容也都是和App相关的内容。如何去简单去设计扩展性好的引导页是很重要的。今天就为大家提供一种结合ViewPager引导页的设计方式,很简单。首先创建引导页布局文件activity_guide.xml<RelativeLayout xmlns:android="http://schemas.android.c原创 2016-04-20 17:58:42 · 2408 阅读 · 0 评论 -
Android之本地相册图片选取和拍照以及图片剪辑
转载请注明出处:相信有很多Android开发人员在日常开发中,由于项目需求,需要我们的APP能够从相册中选取图片并剪辑,以及拍照剪辑后上传的功能。如果之前你没有做过这个功能,刚开始做的时候可能会遇到一些列的问题,这些问题大多是细节上的问题。今天,就根据自己的开发经验,给大家提供一套完成的相册图片选取剪辑和拍照剪辑的代码事例。可能我提供的代码可能还会存在依稀问题,大家可以相互交流学习。原创 2016-04-15 16:26:21 · 6871 阅读 · 2 评论 -
Activity开发之Activity的启动模式(二)
Android中Activity的启动模式有四种,分别是standard、singleTop、singleTask和singleInstance。1、standard:标准模式。这也是Activity默认的启动模式。每次启动一个Activity都会重新创建新的Activity实例。不管这个Activity实例在任务栈中是否已经存在。被创建的Activity实例的生命周期符合典型情况下的Acti原创 2016-03-01 15:14:37 · 741 阅读 · 0 评论 -
Android开发之Activity的生命周期(一)
一直想写一点关于Android方面的博客,但是由于工作特别忙,抽不出时间。最后想想,还是要挤出点时间写一点。这样不仅能够巩固自己的知识,说不定也能帮助有需要的人。博客中可能会存在技术错误,如果有还请大家指出,一起交流学习。首先从Activity的生命周期讲起。这是一张关于Activity生命周期的图正常情况下Activity会经历如下生命周期:1.onCreate(原创 2016-02-29 22:07:38 · 748 阅读 · 0 评论 -
Android开发之Fragment
Fragment的生命周期和其父Activity的生命周期相关联。下面介绍Fragment的各个生命周期方法的作用以及每个方法中该做那些事情package com.example.androidtest;import android.app.Activity;import android.os.Bundle;import android.support.annotation.Nulla原创 2016-04-06 17:43:41 · 935 阅读 · 0 评论 -
Android开发之ListView
在Android日常开发中经常会使用到LisView。ListView是一种用来创建并管理一组垂直方向的上的View的View Group,它可以用来显示一个列表的条目。下面介绍一下关于ListView的简单使用。第一步添加ListView布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2016-04-07 14:51:22 · 1141 阅读 · 0 评论 -
Android开发之非Activity类型的Context启动一个目标Activity
我们在日常开发中有时会遇到启动一个目标Activity的时候,我利用一个非Activity类型的Context去启动。Intent intent = new Intent(context,TargetActivity.class); context.startActivity(intent);但是这样直接去启动一个目标Activity是不可以的。常常会报如下异常: Caused原创 2016-04-06 21:24:28 · 4713 阅读 · 0 评论 -
Android开发之Pending Intent
一、Pending Intent简介PendingIntent类提供了一种创建可由其他应用程序在稍晚的时间触发的Intent的机制。PendingIntent通常用于包装在响应将来的事件时触发的Intent,例如单击Widget或Notification。Tip:在使用时,PendingIntent会执行那些包装好的Intent,同时拥有与你在自己的应用程序中执行他们时候相同的权限和身份。原创 2016-04-11 16:23:29 · 1548 阅读 · 0 评论 -
Android开发之Intent
1.概述:Intent是一种消息传递机制,可以在应用程序内使用,也可以在应用程序间使用。Intent可以用于:1)使用类名显式启动一个Service或者Activity2)启动一个Activity或者Service来执行一个动作的Intent,通常需要特定的数据,或者对特定的数据执行动作。3)广播某个已发生事件2.Intent用途Intent最常见的用途是绑定应用程原创 2016-04-08 11:55:26 · 1093 阅读 · 0 评论 -
Android开发之Intent和BroadcastReceiver
Broadcast Receiver(广播接收者)可以用来监听Broadcast Intent。要使Broadcast Receiver能接收广播,就需要对其进行注册,既可以使用代码,也可以在应用程序的manifest文件中注册。无论怎么注册,都需要使用一个Intent Filter来自定它需要监听哪些Intent和数据。要创建一个新的Broadcast Receiver,需要扩展Broadc原创 2016-04-11 15:58:36 · 1120 阅读 · 0 评论 -
Android之RadioGroup+ViewPager制作的底部导航栏
在日常开发中我们常常会用到类似微信或者QQ的底部导航。实现这样的效果有多种,今天就为大家介绍一种实现简单,可控性好的底部导航的实现方法。首先创建activity_main.xml布局文件,里面主要由ViewPager和RadioGroup构成。ViewPager用来存放Fragment,RadioGroup布局底部导航。<LinearLayout xmlns:android="http:/原创 2016-04-14 10:54:33 · 20295 阅读 · 5 评论 -
Android开发之Android自带的下拉刷新控件SwipeRefreshLayout
相信各位在Android日常开发中常常会用到下拉刷新的控件,然后Android API中好像没后自带的下拉刷新控件。每次要么是自己写一个自定义的下拉刷新控件,要么采用第三方的控件。其实都很麻烦。Google的Android工程师们也意识到了这一点,所以在Android API 19后就把SwipeRefreshLayout放到了v4包里面。今天就介绍一下这个控件的用法。首先创建一个布局:<原创 2016-04-12 11:55:33 · 1197 阅读 · 0 评论