自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式之(工厂模式)3种

设计模式之(工厂模式)3种今天学习一下最常见也是最常用的一种设计模式,就是工厂模式。工厂模式一般分为3种:简单工厂模式工厂方法模式抽象工厂模式简单工厂模式简单工厂模式其实不是一种设计模式,反而比较像一种编程习惯。由于经常被使用,有些开发人员把这个误认为是“工厂模式”...如下以Pizza为例Pizza 种类很多,创建一个Pizza(抽

2016-12-01 19:35:41 294

原创 设计模式之(命令模式)

设计模式之(命令模式)在这一节中,我们将学习如何将方法调用封装起来,通过封装方法调用,把运算块包装成形,所以调用对象不需要关心事情是如何进行的,只要知道如何使用包装起来的方法即可。定义:命令模式就是将“请求”封装成对象,以便使用不同的请求、队列等参数化其他对象,也支持撤销功能。今天就以灯的开关为例,详细了解一下命令模式。经分析(程序员思维),首先我们需要一个

2016-12-01 14:40:57 219

原创 设计模式之(装饰者模式)

设计模式之(装饰者模式)设计原则之一:开闭原则对扩展开放,对修改关闭定义:装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。在周末,单身狗常常会和朋友们聚在一起,少不了装X来瓶冰镇啤酒;对于要急着脱单的同志们,偶然约女神去喝杯咖啡也是很不错的哦!接下来我们就以日常生活为例,学习装饰者模式:

2016-11-30 21:19:45 228

原创 设计模式之(单例模式)

设计模式之(单例模式)

2016-11-30 16:55:03 187

原创 android 拍照+裁剪(解决部分相机拍照角度问题)

android 拍照+裁剪(解决部分相机拍照角度旋转问题)最近有人问拍照、裁剪、相片角度问题,网上的坑太多,于是自己来填一下。废话不多说,直接上代码相关权限android:name="android.permission.CAMERA" />android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2016-07-06 11:33:22 566

原创 android 管理类Manager

android 管理类Manager(最近在总结这个,不全,待续)1、PowerManager:主要是用来控制电源状态,设置屏幕状态,和电池待机状态           PowerManager  pm = ((PowerManager)getSystemService(POWER_SERVICE));           这里我需要保持屏幕长期唤醒,不被锁屏,所以我调用WakeL

2016-07-04 10:10:24 326

原创 关于android IPC(AIDL、Binder、Messenger)通信

关于android IPC通信

2016-06-27 11:51:56 278

转载 Android最佳性能实践(四)——布局优化技巧

在前面几篇文章当中,我们学习了如何通过合理管理内存,以及高性能编码技巧的方式来提升应用程序的性能。然而实际上界面布局也会对应用程序的性能产生比较大的影响,如果布局写得糟糕的话,那么程序加载UI的速度就会非常慢,从而造成不好的用户体验。那么本篇文章我们就来学习一下,如何通过优化布局来提供应用程序的性能。还没有看过前面前面一篇文章的朋友建议可以先去阅读Android最佳性能实践(三)——高性能

2016-03-23 11:09:07 196

转载 Android最佳性能实践(三)——高性能编码优化

在前两篇文章当中,我们主要学习了Android内存方面的相关知识,包括如何合理地使用内存,以及当发生内存泄露时如何定位出问题的原因。那么关于内存的知识就讨论到这里,今天开始我们将学习一些性能编码优化的技巧。这里先事先提醒大家一句,本篇文章中讨论的编码优化技巧都是属于一些“微优化”,也就是说即使我们都按照本篇文章的技巧来优化代码,在性能方面也是看不出有什么显著的提升的。使用合适的算法与数据结构将

2016-03-23 11:07:46 235

转载 Android最佳性能实践(二)——分析内存的使用情况

由于Android是为移动设备开发的操作系统,我们在开发应用程序的时候应当始终把内存问题充分考虑在内。虽然Android系统拥有垃圾自动回收机制,但这并不意味着我们就可以完全忽略何时去分配或释放内存。即使我们全部按照上一篇文章中给出的编程建议来去编写程序,还是会很有可能出现内存泄露或其它类型的内存问题。所以,唯一能够解决问题的办法,就是尝试去分析应用程序的内存使用情况,那么本篇文章就会教大家如何进

2016-03-23 11:06:30 235

转载 Android最佳性能实践(一)——合理管理内存

有不少朋友都问过我,怎样才能写出高性能的应用程序,如何避免程序出现OOM,或者当程序内存占用过高的时候该怎么样去排查。确实,一个优秀的应用程序,不仅仅要功能完成得好,性能问题也应该处理得恰到好处。为此,我也是阅读了不少Android官方给出的高性能编程建议,那么从本篇文章开始,我就准备开始写一个全新系列的博文,来把这些建议进行整理和分析,帮助大家能够写出更加出色的应用程序。注意本系列文章的内容

2016-03-23 11:05:22 219

转载 Android中程序与Service交互(简单)

什么是Service?      Service翻译过来就是服务的意思,当我们的应用程序需要做一个长耗时的操作,还有可能需要和别的程序交互的时候,我们就需要使用Service。      1.    Service不是一个单独的进程,除非单独声明,否则它不会运行在单独的进程中,而是和启动它的程序运行在同一个进程中。      2.    Service不是线程,这意味著它将在主线程里运

2016-01-05 23:44:33 305

转载 Android中程序与Service的交互

1. 广播交互       提到Activity与Service的交互,可能狠多人首先想到的就是BroadCast——广播。在Android中,广播是系统提供的一种很好的交互方式。比如:在电池电量过低,开机完成等情况下,系统都会发出相应的系统广播,我们的应用程序只需要注册相应的广播接收器,就可以接收到这些系统的广播。同时,我们也可以定义自己的广播,这样在不同的Activity、Servic

2016-01-05 23:36:40 632

原创 EditText获取光标位置

1.获取光标位置[java] view plaincopyint index = editText.getSelectionStart();  2.在光标处插入字符[java] view plaincopyint index = editText.getSelectionStart();  Editable editable = 

2016-01-05 22:49:48 707

转载 获取android手机基本信息

/**  * 获取android当前可用内存大小   */   private String getAvailMemory() {// 获取android当前可用内存大小                     ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);            

2016-01-05 17:26:40 311

原创 Service服务的基本用法

定义一个服务在项目中定义一个服务,新建一个ServiceTest项目,然后在这个项目中新增一个名为MyService的类,并让它继承自Service,完成后的代码如下所示: ?123456789101112131415package com.jack.servicetest;

2016-01-05 11:50:29 448

转载 Qt Quick 图像处理实例之美图秀秀(附源码下载)

在《Qt Quick 之 QML 与 C++ 混合编程详解》一文中我们讲解了 QML 与 C++ 混合编程的方方面面的内容,这次我们通过一个图像处理应用,再来看一下 QML 与 C++ 混合编程的威力,同时也为诸君揭开美图秀秀、魔拍之类的相片美化应用的底层原理。    项目的创建过程请参考《Qt Quick 之 Hello World 图文详解》,项目名称为 imageProcesso

2015-10-30 00:57:07 1011

转载 android图片的上传、下载和一些缩放操作

做android客户端应用的,难免会和网络图片打交道,那么关于图片的下载和上传,以及图片的显示就会比较重要了,我刚结束了一个客户端项目,里面的主要涉及到的就是图片的处理,为此,找了很多资料,对图片的处理也有一点点经验的积累了,今天贴出来大家看看。首先是从网络读取图片,这个还是比较简单的,网上有大量的例子可供参考,我贴出我自己写的一个方法例子出来[java] view plain

2015-09-21 00:01:23 321

转载 图片上传、压缩

/**  * 将bitmap转换成base64字符串  *  * @param bitmap  * @return base64 字符串  */  public String bitmaptoString(Bitmap bitmap, int bitmapQuality) {  // 将Bitmap转换成字符串  String string = null;  B

2015-09-20 23:58:41 262

转载 Android三种播放视频的方式(全屏模式的切换)

1、使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型。2、使用VideoView来播放。在布局文件中使用VideoView结合MediaController来实现对其控制。3、使用MediaPlayer类和SurfaceView来实现,这种方式很灵活。 1、调用其自带的播放器:[html

2015-09-20 23:49:43 544

转载 框架总结

Android开源库自己一直很喜欢Android开发,就如博客签名一样,我是程序猿,我为自己代言。在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者,而且我会不定期的更新这篇文章。Android下的优秀开发库数不胜数,在本文中,我列举的多是开发流程中最常用的一些。如果你还想了解更多的Android开源库,可以关注我的博客,每一个

2015-08-26 10:22:52 343

转载 Android ListView工作原理完全解析

在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到成百上千条甚至更多,Li

2015-08-02 10:10:42 290

转载 android 模拟器 hosts文件修改

android模拟器中需要更改hosts文件的话,笔者将自己的经验写给大众,分享分享。1.adb root  root运行2.adb remount 可更改用户账户3.adb pull /system/etc/hosts e:/hosts 将hosts文件放到e盘的hosts下4.adb push e:/hosts /system/etc/hosts 将修改完成的hosts文件放到

2015-07-29 10:28:58 425 1

原创 drawable state各个属性详解

android:drawable 放一个drawable资源android:state_pressed 是否按下,如一个按钮触摸或者点击。android:state_focused 是否取得焦点,比如用户选择了一个文本框。android:state_hovered 光标是否悬停,通常与focused state相同,它是4.0的新特性android:state_selected 被

2015-07-28 14:54:06 305

转载 Android中使用Post请求

一、需要用到的场景在jQuery中使用$.post()就可以方便的发起一个post请求,在android程序中有时也要从服务器获取一些数据,就也必须得使用post请求了。 二、需要用到的主要类在android中使用post请求主要要用到的类是HttpPost、HttpResponse、EntityUtils 三、主要思路1、创建HttpPost实例,设置需要请求服务器的

2015-07-17 00:08:53 313

转载 Android 网络通信框架Volley简介

Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded1. 什么是Volley在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于Async

2015-07-17 00:07:54 216

转载 Fragment管理

上图的布局,大神立马就能看出来,最外面一个Activity,底下首页,分类,购物车..是第一层一个FragmentTabHost,而首页里面的类别01,02....是用的开源库TabPageIndicator管理的ViewPager,管理这第二层的n个Fragment。1.当遇到这种嵌套多层的Fragment的时候第一个主要点就是第一层的FragmentManager,可以通过getSuppo

2015-07-13 16:35:47 238

转载 fragmentManager中的回退栈

下部tab标签,实现fragment页面切换。遇到的问题:通过FragmentTransaction的replace方法会导致,每次都会重新调用fragment的onCreateView()方法,浪费时间。解决方法:通过FragmentTransaction的hide和show方法来实现fragment的显示和隐藏,这样就不会重复调用onCreateView函数了。

2015-07-13 16:09:52 295

原创 RelativeLayout用到的一些重要的属性

第一类:属性值为true或false     android:layout_centerHrizontal  水平居中      android:layout_centerVertical   垂直居中     android:layout_centerInparent    相对于父元素完全居中     android:layout_alignParentBottom 贴紧父元素

2015-07-12 23:55:25 211

原创 TextView属性

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

2015-07-12 23:53:55 240

原创 RelativeLayout用到的一些重要的属性

第一类:属性值为true或false     android:layout_centerHrizontal  水平居中      android:layout_centerVertical   垂直居中     android:layout_centerInparent    相对于父元素完全居中     android:layout_alignParentBottom 贴紧父元素

2015-07-12 23:51:54 282

转载 以不规则图片为边框,切割另外的图片

最近工作上遇到了一个将一个图片按照相框进行裁剪的问题,花了一个下午研究了下,在此整理一下,以便后用。          +            =        (相片)                                              (相框)                                             (结果图)

2015-06-25 23:56:34 1084

转载 android图片处理方法

//压缩图片大小      public static Bitmap compressImage(Bitmap image) {            ByteArrayOutputStream baos = new ByteArrayOutputStream();          image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质

2015-06-23 22:30:43 258

原创 关于String的getBytes(),getBytes(encoding)和new String(bytes, encoding)这三个方法的学习总结

关于String的getBytes(),getBytes(encoding)和new String(bytes, encoding)这三个方法,非常值得注意:A.getBytes():使用平台默认的编码方式(通过file.encoding属性获取)方式来将字符串转换成byte[]。得到的是字符串最原始的字节编码值。 B.getBytes(NAME_OF_CHARSET):使用指定的编码

2015-01-13 22:25:35 3860

原创 字符串的处理方法总结

String类和StringBuffer类1、String处理一些小的文本StringBuffer处理大型文本原因:用String处理大型文本,会消耗大量系统资源。2、String类一旦产生字符串,某对象不可变。虽通过各种系统方法操作字符串,但不改变对象本身,而产生新的字符串。StringBuffer类处理可变字符串。不产生新的字符串。(两种对字符串的操作方法不同)

2015-01-11 19:48:11 499

空空如也

空空如也

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

TA关注的人

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