自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Android App 内存泄露之Handler

一:为啥出现这样的问题呢1.在Java中,非静态(匿名)内部类会默认隐性引用外部类对象。而静态内部类不会引用外部类对象。 如果外部类是Activity,则会引起Activity泄露 。当Activity finish后,延时消息会继续存在主线程消息队列中1分钟,然后处理消息。而该消息引用了Activity的Handler对象,然后这个Handler又引用了这个Activity。这些引用对象会保持到

2017-03-20 20:53:24 524

原创 Android蓝牙自动配对工具类,亲测好使!!!

蓝牙自动配对,即搜索到其它蓝牙设备之后直接进行配对,不需要弹出配对确认框或者密钥输入框。 经过最近一段时间得研究,针对网上给出的案例。总结了一个亲测好使的Demo。 说明如下: 1、本Demo用来连接蓝牙设备HC-05,如果你要连接其他蓝牙设备,注意修改相关名字以及修改设备初试pin值。 2、将Demo安装在Android手机上,点击按钮,可以实现与目标蓝牙设备的自动配对。 3、若目标蓝牙

2016-12-30 10:28:33 3076 1

原创 android httpClient 支持HTTPS的处理方式

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-12-27 18:34:49 619

原创 android中图片的处理(绘制圆形,圆角||缩略图)

/** * 圆角处理 * * @param bitmap * 原图 * @param roundPx * 角度 * @return */ public static Bitmap getCornerBitmap(Bitmap bitmap, float roundPx

2016-10-11 17:33:45 879

原创 生产者消费者模式

注:一个生产者,一个消费者。1.测试类/** * 生产者消费者模式 * 有两个角色,生产者和消费者 * 生产者负责生产,消费者负责消费 * 生产者生产的商品,交给消费者来消费,商品数据在生产者和消费者之间共享 * 商品数量不能为负数,商品需要有地方来保存(比如仓库),所以商品数量还应该有上限(商品数量最多不能超过某个数) * 当商品数量为0时,消费者不能继续消费 * 当商品数量达到上限

2016-10-07 17:54:50 437

原创 阻塞双端消息队列 BlockingDeque(先进先出的原则管理)

既是一个队列的生产者又是这个队列的消费者的时候可以使用到 BlockingDeque。 看图我们之后秒懂了吧,当我们需要把数据发送的对方时,又想有规律均速一条一条的发送,我们就可以这么干了。直接上菜啦: 1. 现在onCreate中启动消息处理器 new HandleMess().start();2 获得BlockingDeque对象 BlockingDeque<byte[]

2016-09-23 15:00:47 1303

原创 关于性能监控

一.性能监控的作用: 能通过压缩平均恢复时间来减少应用程序的停机时间,或者记录某个应用程序从发生问题到恢复正常,一共花费了多久,并且能够通过检查识别性能瓶颈来提高应用程序性能。IT专家们需要方法来记录分析和改善数据中心性能以及应用程序性能。 二 . 性能监控软件可以从多个来源获得: ①系统厂商工具。许多大型服务器厂商都提供监控工具来支持其产品,同样也包括第三方产品。 ② 第三方工

2016-07-03 23:19:42 1034

原创 框架模式MVC与MVP的区别

MVC和MVP到底有什么区别呢? MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。 从这幅图可以看到,我们可以看到在MVC里,View是可以直接

2016-07-03 21:18:25 1241

原创 Android消息传递之EventBus 3.0使用详解

EventBus产生需求背景:在做项目的时候往往需要应用程序内各组件间、组件与后台线程间的通信。比如耗时操作,等耗时操作完成后通过Handler或Broadcast将结果通知给UI,N个Activity之间需要通过Listener通信,之前的实现方式我们在Android消息传递之组件间传递消息(二)中已经介绍过了,其实这些都可以通过EventBus轻松实现,EventBus通过发布/订阅(publi

2016-07-03 12:20:23 455

原创 利用DrawerLayout和触摸事件分发来实现抽屉侧滑业务

效果展示 还是看代码实在,直接上菜了。 1.MainActivity的代码:public class MainActivity extends AppCompatActivity implements MyDraweLayout.GetPositionCallback { private List<ImageView> imageList; private

2016-06-17 13:11:19 521

原创 Activity七大生命周期详解

首先,流程图来一张: 介绍生命周期之前,先提一下任务的概念: 任务其实就是activity 的栈,换句话说任务就是” 应用程序” 。 栈底的是启动整个任务的Activity,栈顶的是当前运行的用户可以交互的Activity,当一个activity 启动另外一个的时候,新的activity 就被压入栈,并成为当前运行的activity。而前一个activity 仍保持在栈之中。当用户按下BACK

2016-06-11 14:59:57 1794

原创 实现打开Android系统相册、照相机并实现照相,录像功能。

通过本篇博客,你将学到以下知识点: 1.学会如何打开Android系统中相册的图片,视频,并使用这些图片,视频。 2.学会如何打Android开照相机进行照相,录像,并使用这样图片和视频。 下面我将展示两种方法来实现这些需求,注意,以下代码要用真机测试才行。 效果展示先:一. 第一种方法: ①.想顺利的打开Android中的相册和照相机,首先我们要在清单中注册一些权限: <!--使用相机硬

2016-06-08 20:13:21 5404 6

原创 当ListView遇上RecyclerView, ListView将甘拜下风

1.RecyclerView是什么? RecylerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字recylerview即回收view也可以看出。看到这也许有人会问,不是已经有ListView了吗,为什么还要RecylerView呢?这就牵扯到第二个问题了。2.RecyclerView的优点是什么?

2016-06-07 20:29:09 637

原创 使用SurfaceView播放视频,调节进度,滑动屏幕调节音量并显示音量。

效果展示: 首先在清单文件中注册: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />java代码:public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback{ priv

2016-06-06 20:54:01 4888

原创 SurfaceView与Canvas的结合实现气泡动态壁纸

效果展示: 其实每个View中都有Canvas可以用来绘制动画,只需要在这个View中重载onDraw()方法就可以,但是SurfaceView类是一个专门用来制动动画的类。Canvas(中文叫做”画布”)就和HTML5中的canvas标签一样可以在一定区域内自由绘制图形。Canvas+SurfaceView制作的动画与View Animation和Property Animation这类动画

2016-06-06 19:34:35 1175

原创 使用Handler中postDelayed方法实现广告页面无限循环轮播效果

效果展示: 直接上代码: 1.MainActivity的代码:public class MainActivity extends Activity{ private ViewPager viewPager; private ImageView[] imageViews; private int COUNT = 4; private Handler mHandler;

2016-06-06 13:24:16 1528

原创 自定义书签导航

效果展示: 切换后: 实现思路: 1.三个书签其实就是三个TextView,先用shape画出TextView的两种状态,然后用选择器selector去切换TextView的状态。 2.创建三个Fragment,然后使用FragmentPagerAdapter进行适配。 3.三个TextView设置监听方法,当切换TextView时,Fragment也会相应的改变,也可以给三个View

2016-06-05 16:48:14 1570

原创 点击图片产生水波的动画效果代码展示

效果展示先: XMl布局中的代码 <com.example.administrator.gamehleper.widget.ScaleView android:layout_margin="5dp" android:layout_width="0dp" android:layout_weight="1"

2016-06-02 17:57:24 735

原创 自定义Android标题栏TitleBar布局

效果展示: 自定义Android标题栏TitleBar布局,右边的图片可实现动画效果。代码展示: 1.MainActivity中的布局: <com.example.administrator.gamehleper.widget.TitleBar android:id="@+id/title_bar" android:layout_width="match_pa

2016-06-02 17:21:14 824

原创 TextView属性大全+单行显示长文本

android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。 android:bufferType指定getText()方式取得的文本类别。选项editable

2016-06-02 09:32:12 764

原创 使用AsyncTask异步任务下载数据

1.使用异步任务的原因: ①.android 4.0开始主线程不能执行耗时任务(网络连接,数据库访问,文件的读取)。 不能在主线程执行的原因: android的主线程也叫UI线程,专门响应用户的点击事件等,必须能够快速的响应。 网络连接容易堵塞,UI线程超过5s没有响应用户请求,会弹出无响应关闭对话框提醒用户终止应用程序。 ②子线程不能修改UI,所以就有了异步任务来处理数据。2.同步与异步

2016-05-21 17:01:26 1167

原创 使用Handler下载数据

思路: 1.在子线程中处理耗时操作,再通过Handler对象发送消息。 2 通过Handler的handleMessage方法接收其他线程发送过来的数据代码展示:public class Fragment_A extends Fragment { private Handler handler ; private String urlString = "http://www.5

2016-05-21 16:49:58 759

原创 使用Handler中postDelayed方法实现广告页面轮播效果

效果展示: 概况: 1.使用handler进行线程之间的通讯 2 Handler的post方法作用: 将run方法里面的代码推到handler实例化的那个线程(主线程)中运行 3. postDelayed方法作用: 该继承post方法的特点,并且可以根据第二个参数进行延时执行。可以做广告轮播的效果。实现思路:1.初步构建ViewPager。2.初始化数据。3.适配数据,把适

2016-05-21 16:30:10 943

原创 利用Fragment + FragmentTabHost实现书签导航

效果展示: FragmentTabHost与RadioGroup的区别: * 1. FragmentTabHost的代码来说要少。 * 2. FragmentTabHost可扩展性要强。 * 缺点:Fragment界面只能通过书签切换,没有ViewPager不对说,直接上代码: 1.MainActiviry的代码:public class Fragment_FragmentTabHo

2016-05-21 16:24:53 680

原创 利用RadioGroup + ViewPager + Fragment实现书签导航

效果展示: 实现思路:1.底部有多少个书签,就创建多少个Feagment。在drawable中绘制选择器selector,也就是底部的书签。 2.初始化数据:找到Fragment对象,Fragment fragmentA = new Fragment_A();把对象加入集合。 3.适配数据:创建一个类,继承FragmentPagerAdapter适配器,把Fragment管理器:g

2016-05-21 15:09:58 1249 1

原创 利用TabLayout(5.0新技术)+ViewPager+Fragment方法实现书签导航

效果展示: 实现书签导航思路: Fragment + ViewPager + TabLayout(5.0新技术) 效果:顶部有书签Tablayout,点击书签或滑动Fragment, 通过ViewPager可以切换UI界面。比如网易新闻。 1.有多少个书签,就创建多少个Fragment。 2.初始化数据: 找出Fagment的对象,存进集合。 3.适配数据

2016-05-20 20:45:12 1032 1

原创 利用ViewPager实现广告栏广告页面轮播效果

效果展示: 不废话,直接上代码: 1.MainActivity类的代码:public class MainActivity extends AppCompatActivity { private List<View> viewList; private ViewPager viewPager; //4定时器:广告页面轮播功能 private Timer tim

2016-05-20 18:59:40 703

原创 Fragment和Viewpager相结合使用.

Fragment和Viewpager相结合使用的作用: ①ViewPager有复用机制,可以把不看的fragment销毁,优化内存。 ② 如果把所有的fragment都展示在页面上,用户体验不佳,相结合体验效果更佳。 思路: ①在布局文件中添加viewpager标签,v4包。 ②创建fragment类和布局文件 ③初始化fragment数据集合,并把数据加入集合 ④创建一个类继承Fra

2016-05-20 18:25:26 974 2

原创 ViewPager的基本使用

ViewPager:可以用来实现屏幕界面切换的一个类。ViewPager在屏幕上图片切换实现步骤: ①在布局文件中添加ViewPager标签。注意:写这个控件的时候要写全称(包名+类名) ②初始化imageviewList中的数据 ③创建一个类,该类继承 PagerAdapter。在类中自定义构造方法,把List加载过来。 该类类中要实现4个方法:重写抽象方法a和b a. getCoun

2016-05-20 17:45:16 488

原创 静态,动态使用Fragment的讲解。

Fragment:是一种可以嵌入在Activity中的 UI 片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板和目前的大屏手机上应用的非常广泛(只要屏幕大,都会用到Fragment)。 下面我们就来看看Fragment静态和动态动态的使用。 一.静态使用Fragment: 把Fragment当成普通的控件,直接写在Activity的布局文件中。 思路: 1:在MainAciti

2016-05-20 16:55:30 3860

原创 HttpURLConnection下载数据,JSON解析数据, BaseAdapter 适配数据。

实现思路: 1.得到一个获取数据的网络接口,通过接口下载到数据。 2.通过JSON解析得到我们想要的数据。 3.通过 BaseAdapter 适配到界面进行展示。 实现效果展示: 不多说,直接上代码代码展示。 主页面代码:public class MainActivity extends Activity { List<Newz> newzList = new ArrayLi

2016-05-20 15:32:18 932

原创 ListView的优化 +BaseAdapter适配器

文章为原创,请尊重原创!

2016-04-30 11:52:53 521

原创 博主写博客的初衷

博主也看了几年的博客,但一直只在看那些it大神写的博客,然而自己却不曾写过博客。今天突然有个朋友发微信说要请教我一些技术难题,于是我很乐意的就帮忙了。我想我可以帮助我的朋友,那我为何不加入C博客这个大家庭呢?然而今天星期天,不用上班,就一怒之下就有种写博客的冲动了,然而说做就做,绝不拖延!  本博客是关于Android开发的系列文章,是本人一点点积累的学习总结。里面的所有文章都是博主最

2016-04-24 20:48:55 427

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除