android开发
view-man
Github:https://github.com/view-man
展开
-
设计模式之(工厂模式)3种
设计模式之(工厂模式)3种今天学习一下最常见也是最常用的一种设计模式,就是工厂模式。工厂模式一般分为3种:简单工厂模式工厂方法模式抽象工厂模式简单工厂模式简单工厂模式其实不是一种设计模式,反而比较像一种编程习惯。由于经常被使用,有些开发人员把这个误认为是“工厂模式”...如下以Pizza为例Pizza 种类很多,创建一个Pizza(抽原创 2016-12-01 19:35:41 · 310 阅读 · 0 评论 -
EditText获取光标位置
1.获取光标位置[java] view plaincopyint index = editText.getSelectionStart(); 2.在光标处插入字符[java] view plaincopyint index = editText.getSelectionStart(); Editable editable =原创 2016-01-05 22:49:48 · 729 阅读 · 0 评论 -
获取android手机基本信息
/** * 获取android当前可用内存大小 */ private String getAvailMemory() {// 获取android当前可用内存大小 ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);转载 2016-01-05 17:26:40 · 329 阅读 · 0 评论 -
Service服务的基本用法
定义一个服务在项目中定义一个服务,新建一个ServiceTest项目,然后在这个项目中新增一个名为MyService的类,并让它继承自Service,完成后的代码如下所示: ?123456789101112131415package com.jack.servicetest;原创 2016-01-05 11:50:29 · 466 阅读 · 0 评论 -
Qt Quick 图像处理实例之美图秀秀(附源码下载)
在《Qt Quick 之 QML 与 C++ 混合编程详解》一文中我们讲解了 QML 与 C++ 混合编程的方方面面的内容,这次我们通过一个图像处理应用,再来看一下 QML 与 C++ 混合编程的威力,同时也为诸君揭开美图秀秀、魔拍之类的相片美化应用的底层原理。 项目的创建过程请参考《Qt Quick 之 Hello World 图文详解》,项目名称为 imageProcesso转载 2015-10-30 00:57:07 · 1035 阅读 · 0 评论 -
图片上传、压缩
/** * 将bitmap转换成base64字符串 * * @param bitmap * @return base64 字符串 */ public String bitmaptoString(Bitmap bitmap, int bitmapQuality) { // 将Bitmap转换成字符串 String string = null; B转载 2015-09-20 23:58:41 · 279 阅读 · 0 评论 -
android图片的上传、下载和一些缩放操作
做android客户端应用的,难免会和网络图片打交道,那么关于图片的下载和上传,以及图片的显示就会比较重要了,我刚结束了一个客户端项目,里面的主要涉及到的就是图片的处理,为此,找了很多资料,对图片的处理也有一点点经验的积累了,今天贴出来大家看看。首先是从网络读取图片,这个还是比较简单的,网上有大量的例子可供参考,我贴出我自己写的一个方法例子出来[java] view plain转载 2015-09-21 00:01:23 · 336 阅读 · 0 评论 -
Android三种播放视频的方式(全屏模式的切换)
1、使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型。2、使用VideoView来播放。在布局文件中使用VideoView结合MediaController来实现对其控制。3、使用MediaPlayer类和SurfaceView来实现,这种方式很灵活。 1、调用其自带的播放器:[html转载 2015-09-20 23:49:43 · 570 阅读 · 0 评论 -
Android中程序与Service的交互
1. 广播交互 提到Activity与Service的交互,可能狠多人首先想到的就是BroadCast——广播。在Android中,广播是系统提供的一种很好的交互方式。比如:在电池电量过低,开机完成等情况下,系统都会发出相应的系统广播,我们的应用程序只需要注册相应的广播接收器,就可以接收到这些系统的广播。同时,我们也可以定义自己的广播,这样在不同的Activity、Servic转载 2016-01-05 23:36:40 · 645 阅读 · 0 评论 -
Android中程序与Service交互(简单)
什么是Service? Service翻译过来就是服务的意思,当我们的应用程序需要做一个长耗时的操作,还有可能需要和别的程序交互的时候,我们就需要使用Service。 1. Service不是一个单独的进程,除非单独声明,否则它不会运行在单独的进程中,而是和启动它的程序运行在同一个进程中。 2. Service不是线程,这意味著它将在主线程里运转载 2016-01-05 23:44:33 · 320 阅读 · 0 评论 -
设计模式之(命令模式)
设计模式之(命令模式)在这一节中,我们将学习如何将方法调用封装起来,通过封装方法调用,把运算块包装成形,所以调用对象不需要关心事情是如何进行的,只要知道如何使用包装起来的方法即可。定义:命令模式就是将“请求”封装成对象,以便使用不同的请求、队列等参数化其他对象,也支持撤销功能。今天就以灯的开关为例,详细了解一下命令模式。经分析(程序员思维),首先我们需要一个原创 2016-12-01 14:40:57 · 235 阅读 · 0 评论 -
设计模式之(装饰者模式)
设计模式之(装饰者模式)设计原则之一:开闭原则对扩展开放,对修改关闭定义:装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。在周末,单身狗常常会和朋友们聚在一起,少不了装X来瓶冰镇啤酒;对于要急着脱单的同志们,偶然约女神去喝杯咖啡也是很不错的哦!接下来我们就以日常生活为例,学习装饰者模式:原创 2016-11-30 21:19:45 · 243 阅读 · 0 评论 -
设计模式之(单例模式)
设计模式之(单例模式)原创 2016-11-30 16:55:03 · 203 阅读 · 0 评论 -
android 拍照+裁剪(解决部分相机拍照角度问题)
android 拍照+裁剪(解决部分相机拍照角度旋转问题)最近有人问拍照、裁剪、相片角度问题,网上的坑太多,于是自己来填一下。废话不多说,直接上代码相关权限android:name="android.permission.CAMERA" />android:name="android.permission.WRITE_EXTERNAL_STORAGE" />原创 2016-07-06 11:33:22 · 583 阅读 · 0 评论 -
android 管理类Manager
android 管理类Manager(最近在总结这个,不全,待续)1、PowerManager:主要是用来控制电源状态,设置屏幕状态,和电池待机状态 PowerManager pm = ((PowerManager)getSystemService(POWER_SERVICE)); 这里我需要保持屏幕长期唤醒,不被锁屏,所以我调用WakeL原创 2016-07-04 10:10:24 · 349 阅读 · 0 评论 -
关于android IPC(AIDL、Binder、Messenger)通信
关于android IPC通信原创 2016-06-27 11:51:56 · 291 阅读 · 0 评论 -
Android最佳性能实践(四)——布局优化技巧
在前面几篇文章当中,我们学习了如何通过合理管理内存,以及高性能编码技巧的方式来提升应用程序的性能。然而实际上界面布局也会对应用程序的性能产生比较大的影响,如果布局写得糟糕的话,那么程序加载UI的速度就会非常慢,从而造成不好的用户体验。那么本篇文章我们就来学习一下,如何通过优化布局来提供应用程序的性能。还没有看过前面前面一篇文章的朋友建议可以先去阅读Android最佳性能实践(三)——高性能转载 2016-03-23 11:09:07 · 209 阅读 · 0 评论 -
Android最佳性能实践(三)——高性能编码优化
在前两篇文章当中,我们主要学习了Android内存方面的相关知识,包括如何合理地使用内存,以及当发生内存泄露时如何定位出问题的原因。那么关于内存的知识就讨论到这里,今天开始我们将学习一些性能编码优化的技巧。这里先事先提醒大家一句,本篇文章中讨论的编码优化技巧都是属于一些“微优化”,也就是说即使我们都按照本篇文章的技巧来优化代码,在性能方面也是看不出有什么显著的提升的。使用合适的算法与数据结构将转载 2016-03-23 11:07:46 · 248 阅读 · 0 评论 -
Android最佳性能实践(二)——分析内存的使用情况
由于Android是为移动设备开发的操作系统,我们在开发应用程序的时候应当始终把内存问题充分考虑在内。虽然Android系统拥有垃圾自动回收机制,但这并不意味着我们就可以完全忽略何时去分配或释放内存。即使我们全部按照上一篇文章中给出的编程建议来去编写程序,还是会很有可能出现内存泄露或其它类型的内存问题。所以,唯一能够解决问题的办法,就是尝试去分析应用程序的内存使用情况,那么本篇文章就会教大家如何进转载 2016-03-23 11:06:30 · 254 阅读 · 0 评论 -
Android最佳性能实践(一)——合理管理内存
有不少朋友都问过我,怎样才能写出高性能的应用程序,如何避免程序出现OOM,或者当程序内存占用过高的时候该怎么样去排查。确实,一个优秀的应用程序,不仅仅要功能完成得好,性能问题也应该处理得恰到好处。为此,我也是阅读了不少Android官方给出的高性能编程建议,那么从本篇文章开始,我就准备开始写一个全新系列的博文,来把这些建议进行整理和分析,帮助大家能够写出更加出色的应用程序。注意本系列文章的内容转载 2016-03-23 11:05:22 · 235 阅读 · 0 评论 -
fragmentManager中的回退栈
下部tab标签,实现fragment页面切换。遇到的问题:通过FragmentTransaction的replace方法会导致,每次都会重新调用fragment的onCreateView()方法,浪费时间。解决方法:通过FragmentTransaction的hide和show方法来实现fragment的显示和隐藏,这样就不会重复调用onCreateView函数了。转载 2015-07-13 16:09:52 · 315 阅读 · 0 评论 -
Fragment管理
上图的布局,大神立马就能看出来,最外面一个Activity,底下首页,分类,购物车..是第一层一个FragmentTabHost,而首页里面的类别01,02....是用的开源库TabPageIndicator管理的ViewPager,管理这第二层的n个Fragment。1.当遇到这种嵌套多层的Fragment的时候第一个主要点就是第一层的FragmentManager,可以通过getSuppo转载 2015-07-13 16:35:47 · 254 阅读 · 0 评论 -
RelativeLayout用到的一些重要的属性
第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素原创 2015-07-12 23:51:54 · 298 阅读 · 0 评论 -
TextView属性
android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web /email/phone/map/all)android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。android:bufferType指定getText()方式取得的文本类别。选项editab原创 2015-07-12 23:53:55 · 257 阅读 · 0 评论 -
RelativeLayout用到的一些重要的属性
第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素原创 2015-07-12 23:55:25 · 226 阅读 · 0 评论 -
以不规则图片为边框,切割另外的图片
最近工作上遇到了一个将一个图片按照相框进行裁剪的问题,花了一个下午研究了下,在此整理一下,以便后用。 + = (相片) (相框) (结果图)转载 2015-06-25 23:56:34 · 1104 阅读 · 0 评论 -
android图片处理方法
//压缩图片大小 public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质转载 2015-06-23 22:30:43 · 275 阅读 · 0 评论 -
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 · 319 阅读 · 0 评论 -
Android ListView工作原理完全解析
在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到成百上千条甚至更多,Li转载 2015-08-02 10:10:42 · 305 阅读 · 0 评论 -
框架总结
Android开源库自己一直很喜欢Android开发,就如博客签名一样,我是程序猿,我为自己代言。在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者,而且我会不定期的更新这篇文章。Android下的优秀开发库数不胜数,在本文中,我列举的多是开发流程中最常用的一些。如果你还想了解更多的Android开源库,可以关注我的博客,每一个转载 2015-08-26 10:22:52 · 358 阅读 · 0 评论 -
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 · 233 阅读 · 0 评论 -
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 · 449 阅读 · 1 评论 -
Android中使用Post请求
一、需要用到的场景在jQuery中使用$.post()就可以方便的发起一个post请求,在android程序中有时也要从服务器获取一些数据,就也必须得使用post请求了。 二、需要用到的主要类在android中使用post请求主要要用到的类是HttpPost、HttpResponse、EntityUtils 三、主要思路1、创建HttpPost实例,设置需要请求服务器的转载 2015-07-17 00:08:53 · 331 阅读 · 0 评论