![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 79
菜鸟闯天下zxl
这个作者很懒,什么都没留下…
展开
-
Android开发之MVP架构详解
Android开发之MVP架构详解一、MVP和MVC的一点感悟 MVP模式估计每个人都了解一点,是从MVC演变而来,随着项目的逐渐变大考虑到产品的维护以及扩展性,MVC的短处逐渐暴露出来,从而让耦合性更低的MVP就得到了人们的青睐。 对于两则的优缺点以及特性介绍网上有一大堆的博客,此处我也不想再去重复,只是简单记录一下自己的感觉和认识。 我们在用MVC写项目的时候,随着项目的原创 2016-12-02 23:42:01 · 4618 阅读 · 2 评论 -
面试心得与总结
转载LZ写的太棒了,转过来,抽时间好好看看。之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇诚意之作,希望能给未来找工作的人一点指引和总结, 也希望能使大家少走点弯路 , 如果能耐心读完,相信对你会找到你需要的东西。先说一下LZ的基本情况,LZ是四川某985学校通信专业的研究生(非计算机),大学阶段也就学转载 2015-09-22 20:24:50 · 1762 阅读 · 0 评论 -
强引用、软引用、弱引用、虚引用详解
强引用、软引用、弱引用、虚引用详解先说一下垃圾回收机制GabageCollection: GC是垃圾收集的意思(GabageCollection)。和JAVA一样,ANDROID系统也是由GC来自动回收内存的。android中一个应用的启动,android系统都会为这个应用分配一个dalivk虚拟机,以便这个应用运行在这个独立的虚拟机上,可是一个虚拟机内存大小一般也是限制的(原创 2015-05-08 21:18:50 · 2054 阅读 · 0 评论 -
AsyncTask异步加载
AsyncTask异步加载 Android默认约定当UI线程阻塞超过20秒将会引发ANR(Application Not Responding)异常。所以在UI线程中不要执行耗时操作。 AsyncTask后台运行有五个状态:1、 准备状态2、 正在运行状态3、 进度更新4、 完成后台任务5、 取消任务 对应五个状态有五个回调函数:1、 准备状态原创 2015-04-10 18:45:50 · 779 阅读 · 0 评论 -
HTTPS那些事(一)HTTPS原理
HTTPS那些事(一)HTTPS原理原博客谣言粉碎机前些日子发布的《用公共WiFi上网会危害银行账户安全吗?》,文中介绍了在使用HTTPS进行网络加密传输的一些情况,从回复来看,争议还是有的。随着网络越来越普及,应用越来越广泛,一些网络安全问题也会越来越引起网民的关注,在这里和大家一起聊聊TLS/SSL也就是我们常说的HTTPS,从原理到实际应用看清它到底是怎么一回事,以及在使用HTTPS转载 2015-09-11 22:32:15 · 388 阅读 · 0 评论 -
Android网络编程之Volley开发笔记
Android网络编程之Volley开发笔记Android网络编程几乎是每个APP必不可少的功能,Android系统对应网络编程提供了两种http通信方式,HttpURLConnection和HttpClient,这两个的使用率非常高,但是,这两种方式的开发相对比较复杂。于是,谷歌开发团队也意识到了有必要对Http通信操作做一些简化,在2013年的Google I/O大会上发布了一个新的网络通原创 2015-09-05 22:51:45 · 570 阅读 · 0 评论 -
常见的http状态响应码和判断手机网络是否连接以及连接类型
常见的http状态响应码和判断手机网络是否连接以及连接类型200 OK:客户端请求成功400 Bad Request:客户端请求有语法错误,不能被服务器所理解401 Unauthorized:请求未经授权,这个状态代码必须和www-Authenticate报头域一起使用403 Forbidden:服务器收到请求,但是拒绝提供服务404 Not Found:请求资源不存在,例如:原创 2015-09-03 15:31:40 · 1297 阅读 · 0 评论 -
Android开发自定义UI组件
Android开发自定义UI组件一些复用的UI组件,可以通过设置模板复用,接口回调等方法提高开发效率,降低代码耦合度。自定义组件大概分为3步: 1、自定义标签属性 2、定义组件类 3、在XML界面布局使用自定义标签下面举例实现一个TopBar和一个GridItem的自定义组件。这是项目目录结构一、自定义标签属性 //TopBar标原创 2015-09-01 23:19:41 · 2105 阅读 · 0 评论 -
安卓手机的APP图标尺寸规范和图标命名规范
android图标包括:程序启动图标、底部菜单图标、弹出对话框顶部图标、长列表内部列表项图标、底部和底部tab标签图标。1、安卓程序启动图标尺寸:ldpi(120dpi) 小屏幕mdpi(160dpi)原创 2015-08-11 13:47:22 · 30484 阅读 · 0 评论 -
一个让TextView的文本中制定关键字高亮显示的工具类
一个让TextView的文本中制定关键字高亮显示的工具类 在项目开发中很多地方需要让文本中某些关键字高亮显示,这样来说写个工具类是不是很好呢,嘿嘿是的。package com.example.textkeyword;import java.util.regex.Matcher;import java.util.regex.Pattern;import android.text.原创 2015-11-25 20:36:10 · 823 阅读 · 0 评论 -
防止多次快速点击打开多个activity的问题
防止多次快速点击打开多个activity的问题 在Android开发中存在这样一个问题,如果一个按钮是打开一个activity界面的,如果用户在1秒钟之内快速点击这个按钮,那么就会打开多个相同的activity,这个是相当浪费资源的,下面介绍一种解决方法。 /** 判断是否是快速点击 */ private static long lastClickTime; public st原创 2015-11-27 09:09:06 · 8353 阅读 · 0 评论 -
Xutils3网络框架的二次封装
Xutils3网络框架的二次封装 Android的网络请求框架真是太多了,不管使用哪个,我感觉做个二次封装比较好,不管需求用哪个改起来方便。这是Xutils3的封装,下次出个OkHttp3的,道理都是一样的。代码亲测了异步get获取数据是OK的,文件上传没有亲测,如有问题咱们一起沟通交流,谢谢。OkHttp的配置1、在gradle中添加compile 'org.xut原创 2016-11-01 14:30:04 · 4954 阅读 · 5 评论 -
LayoutInflater.inflater()方法及参数源码分析
LayoutInflater.inflater()方法及参数源码分析 inflate加载布局的时候有四个方法提供,分别如下平常主要用到的还是前两个。下面从源码角度分析一下这四个方法的区别和用法。1、方法1public View inflate(@LayoutResint resource, @Nullable ViewGroup root) { retu原创 2016-10-10 16:49:50 · 631 阅读 · 0 评论 -
RxAndroid响应式开发(一)
RxAndroid响应式开发(一) 学习:给 Android 开发者的 RxJava 详解 http://www.jianshu.com/p/51a8d2ff8697 Rx含义是响应式编程,其本质就是观察者模式,以观察者(Observer)和订阅者(Subscriber)为基础的异步响应方式。 Observables发出一系列事件,Subscribers处理这原创 2016-10-31 17:56:57 · 1800 阅读 · 0 评论 -
IPC通信基础介绍之Serializable和Parcelable详解
IPC通信基础介绍之Serializable和Parcelable详解都是用来序列化的,什么时候用到序列化呢?1、把对象持久化到存储设备上,保存对象的字节序列到本地文件中。2、通过网络传输给其他客户端。3、通过Intent和Binder传输数据。Serializable接口 serializable是java提供的一个序列化接口,它是一个空接口,使用特别简单,只需原创 2016-10-18 23:42:40 · 672 阅读 · 0 评论 -
图片加载框架之Glide详解记录
图片加载框架之Glide详解记录学习:http://blog.csdn.net/xx326664162/article/details/50373676 http://blog.csdn.net/fandong12388/article/details/46372255 http://www.cnblogs.com/whoislcj/原创 2016-10-28 11:02:47 · 463 阅读 · 0 评论 -
Android应用坐标系统全面详解
Android应用坐标系统全面详解转载1、背景 自定义控件有一个核心知识点--坐标系。 很多人不屑一顾Android的坐标系,但是如果你想彻底学会自定义控件,我想说了解Android各种坐标系及一些API的坐标含义绝对算一个小而不可忽视的技能,所谓Android自定义view那几大主要onXXX()方法的重写实质其实大多数都是在处理坐标逻辑运算,所以我们就来重点谈一下And原创 2016-02-26 10:00:44 · 527 阅读 · 1 评论 -
service介绍之IntentService与Notification前台通知
service介绍之IntentService与Notification前台通知 注明转载 前面介绍了service的一般使用,在文章最后提到一般要在service里面启动线程去执行具体操作,这种情况下我们要调用stopService方法才能关闭Service,或者在线程中调用stopSelf()方法,但是程序员往往会忘了做这两件事情,从而导致service没有关闭或者主线程阻塞a转载 2015-12-05 23:36:20 · 1847 阅读 · 0 评论 -
service介绍之service的使用与本地通信
service介绍之service的使用与本地通信 注明转载 这篇文章主要介绍android中的service. 首先我们要弄清楚service到底是什么东西,它是android用于提供后台服务的,注意service(IntentService)不是进程,也不是线程,是依赖于应用程序的主线程的。Android的后台就是指,它的运行是完全不依赖UI的。即使Activity被销毁,转载 2015-12-05 23:22:35 · 826 阅读 · 0 评论 -
Android学习进阶和IoC
成为Android高手一般分为六个阶段: 第一阶段:熟练掌握Java SE,尤其是对其内部类、线程、并发、网络编程等需要深入研究;熟练掌握基于HTTP协议的编程,清楚POST和GET等请求方式流程和细节;能够进行基本的Java Web编程,如果能够使用Java EE则更好; 第二阶段:精通Android的核心API的使用,例如四大组件所涉及的API、Co转载 2015-07-29 15:03:03 · 508 阅读 · 0 评论 -
Android四大基本组件介绍与生命周期
【新提醒】Android四大基本组件介绍与生命周期 - Android实例教程 - Android开发论坛 - 安卓开发论坛 - Android开发 - 安卓论坛 - 移动互联网门户 - Powered by Discuz! http://www.apkbus.com/forum.php?mod=viewthread&tid=243255原创 2015-06-16 17:54:25 · 813 阅读 · 0 评论 -
反射机制学习总结
反射机制学习总结反射在底层的框架用到的比较多,每个公司的业务的框架的维护,都会用到反射来加载。 一、先来说一下Class类1、 注意C是大写,它是一个类(1):Class可以看成某一个对象照镜子之后看到的信息,它可以看到这个对象的成员变量,成员方法,构造方法,实现了哪些接口等信息。(2):Class是一个类,是一个描述类的一个类(3): 一个类在 JVM 中只会原创 2015-01-16 08:53:47 · 538 阅读 · 0 评论 -
Android的事件处理
Android的事件处理Android有两种方式的事件处理: 1、基于回调的事件处理 2、基于监听器的事件处理一、先来大概说明一下监听器的事件处理的实现原理(学过AWT 、Swing的同学对监听器基本有一点了解。) ===》》》 监听事件是一种“面向对象”的事件处理 《《《===涉及三类对象:Ø Event Source(事件源): 也就是按钮,菜单,窗口等原创 2015-01-16 08:35:43 · 891 阅读 · 0 评论 -
apk反编译
原作者地址: http://blog.csdn.net/ithomer/article/details/6727581 这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。转载 2015-03-03 19:43:46 · 432 阅读 · 0 评论 -
Java编程规范
Java编程规范1、(1)类名首字母大写,一般使用名词。ThisIsAClassName(2)字段、方法、以及对象(句柄,Object obj= new Object()。这里的obj就是句柄)的首字母应该小写。(3)变量:,如果由多个单词组成,所有单词应该紧靠在一起,并且从第二个开始每个单词都应该首字母大写, :thisIsMethodOrFieldName, (4)常量:,原创 2015-03-03 19:54:01 · 819 阅读 · 0 评论 -
Activity之间的数据传递
Activity之间的数据传递Activity之间的数据传递需要用到Bundle这个对象,而Activity之间的跳转和带数据跳转是不一样的,所以先说一下在两种不同情况下的启动和关闭Activity。Activity启动其他Activity有两种方法:Ø StartActivity(Intent intent); 启动其他ActivityØ startActivityForR原创 2015-01-16 09:01:03 · 1209 阅读 · 0 评论 -
Activity的生命周期与加载模式(一)
Activity的生命周期与加载模式(一)Activity是android应用最重要的组成单元之一(另外三个是Service、BroadcaseReceiver、ContentProvider),Activity的功能是向用户呈现不同的操作界面。一个android应用通常有多个activity组成activity栈,当前活动的activity位于栈顶。 当Activity处于Andro原创 2015-01-16 08:57:15 · 785 阅读 · 0 评论 -
Android获取上下文Context
Android获取上下文ContextContext字面意思上下文,位于frameworkpackage的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄,很多方法需要通过Context才能识别调用者的实例,比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity原创 2015-01-16 08:40:48 · 1608 阅读 · 0 评论 -
android学习Wifi笔记
Wifi详解Wi-Fi ,中文名无线保真,是一种可以将个人电脑、手持设备(如PAD、手机)等终端以无线方式互相连接的技术,事实上它是一个高频无线电信号WiFi是一种无线联网技术,比较常见的就是通过无线路由器来连接网络。在无线路由器的信号能够覆盖到的区域内,我们都可以通过WiFi连接网络。而如果无线路由器连接了ADSL线路或其他的联网线路,则它还被称作“热点”。 Android为Wi原创 2015-01-16 09:03:30 · 1094 阅读 · 0 评论 -
android平时编码的一些小知识点
1、 为保证整个系统只有一个某个对象时,它的构造方法定义为private类型,然后定义一个此类的静态变量:Private static XXXName INSTANCE;再定义一个获取此类的静态方法:Public static getXXXName(Context context){ If(INSTANCE==null){ INSTANCE原创 2015-01-16 09:05:24 · 809 阅读 · 0 评论 -
打开android系统设置,连接wifi
打开android系统设置,连接wifiwifi信号强度:得到的值是一个0到-100的区间值,是一个int型数据,其中0到-50表示信号最好,-50到-70表示信号偏差,小于-70表示最差,有可能连接不上或者掉线。 package com.example.android_flycontrol; import android.content.Context;imp原创 2015-01-22 17:16:31 · 1457 阅读 · 0 评论 -
android通知栏通知的开发笔记
一、ToastNotifications(自定义吐司)(1) 先自定义一个xml布局,xml布局里可以有imageview图片,textview文本等。(2) 在activity中用inflater获取布局,实例化imageview和textview。View view= getLayoutInflater().inflate(R.layout.toast,原创 2015-01-16 09:02:19 · 529 阅读 · 0 评论 -
大数相乘
大数相乘大整数乘法,就是乘法的两个乘数比较大,最后结果超过了整形甚至长整形的最大范围,此时如果需要得到精确地结果,常规的乘法就不能得到正确的结果了。此时需要算法思想了,对,就是分治算法,将乘数“分割“,将大整数计算转换为小整数计算。咱先来个小点的数乘法,然后逐步找出大数乘法的解法:1、 一位乘法就是乘法口诀,没什么可说的。2、 说说2位乘法 12*23 = 408 分割成一位原创 2015-03-03 19:40:47 · 1263 阅读 · 0 评论 -
Android四大组件之Service(二)
在Android四大组件之Service中介绍了Service的两种启动方式,,下面说一下两种方式同时使用的情况。我们先用非绑定的方式startService()启动Service,再调用bindService()来绑定Service,接着再unbindServie()解除绑定,然后再次bindService()来绑定。这个过程的生命周期会发生如下变化: onCreate()原创 2015-05-05 16:41:14 · 1023 阅读 · 0 评论 -
Android四大组件之Service
在Android四大组件中,Service和Activity两个比较相似,区别是Activity用于前台,Service用于后台。当你的程序不需要用组件呈现界面时,这时候用Service。典型范例就是播放音乐,界面退出后仍需播放音乐,这时需要的就是Service后台运行了。Service创建1、定义一个继承Service的子类2、在AndroidMainifest.xml文原创 2015-05-05 15:28:58 · 787 阅读 · 0 评论 -
横竖屏切换时候Activity的生命周期变化
横竖屏切换时候Activity的生命周期变化对于横竖屏幕的切换,Activity的不同生命周期的变化,自己亲自用真机调试测试了一下,总结如下:Activity类:package com.example.screenorientationchange;import android.support.v7.app.ActionBarActivity;import android原创 2015-05-10 14:11:17 · 1153 阅读 · 0 评论 -
Android开发布局简单介绍
Android开发布局介绍1、线性布局 LinearLayout 布局中的组件会一个挨着一个排列起来,android:orientation属性可以控制排列方向,horizontal-水平、vertical-垂直 线性布局不会自动换行,当超出屏幕范围时,剩下的组件不会显示出来。2、表格布局 TableLayout 继承自LinearLayout,其本质依原创 2015-05-10 16:35:14 · 532 阅读 · 0 评论 -
JVM和Dalvik区别
JVM和Dalvik区别 1、Dalvik 基于寄存器,寄存器是CPU内部的一块内存空间,访问速度快,而 JVM 基于栈,栈是内存中的一块连续的存储空间,访问速度比寄存器要 慢。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。 2、Dalvik主要是完成对象生命周期管理,堆栈管理,线程管理,安全和异常管理,以及垃圾回收等等重原创 2015-05-08 22:21:02 · 1732 阅读 · 0 评论 -
Android的内存泄露问题
避免Android的内存泄露转载自http://www.cnblogs.com/xirihanlin/archive/2010/04/09/1707986.htmlAndroid应用程序被限制在16MB的堆上运行,至少在T-Mobile G1上是这样。对于手机来说,这是很大的内存了;但对于一些开发人员来说,这算是较小的了。即使你不打算使用掉所有的内存,但是,你也应该尽可能少地使原创 2015-05-07 15:20:12 · 994 阅读 · 0 评论 -
用Texture代替SurfaceView显示视频
纠结SurfaceView和TextureView,想用Texture代替SurfaceView显示视频。 TextureView在Android4.0之后推出,是为了弥补SurfaceView的不足。TextureView可以用来显示内容流,这样一个内容流可以是视频,OpenGL场景。内容流可以来自本应用以及其他进程TextureView必须在硬件加速开启的窗口中。与Surf原创 2015-04-10 18:44:32 · 2478 阅读 · 0 评论