- 博客(108)
- 资源 (6)
- 收藏
- 关注
转载 详解MVC,MVP,MVVM
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010321471/article/details/51176120 mvc结构: 视图(View):用户界面。 控制器(Controller):业务逻辑 模型(Model):数据保存mvc各部分的通信方式mvc互动模式通过 View 接受指令,传递给 Contro...
2018-09-28 16:04:28
295
转载 Android高精战争(MVC、MVP、MVVM)
和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于App的架构如何设计:我的App需要应用这些设计架构吗?MVC,MVP等架构讲的是什么?区别是什么?本文就来带你分析一下这几个架构的特性,优缺点,以及App架构设计中应该注意的问题。1.架构设计的目的通过设计使程序模块...
2018-09-28 15:57:14
244
转载 Android 常用框架大全
转自:https://segmentfault.com/a/1190000005073746 1. 缓存名称描述DiskLruCacheJava实现基于LRU的磁盘缓存2.图片加载名称描述Android Universal Image Loader一个强大的加载,缓存,展示图片的库Picasso一个强大的图片下载与缓存的库Fr...
2018-09-28 15:45:59
648
原创 Android开发常用框架汇总(转)
*****响应式编程*****RxJavahttps://github.com/ReactiveX/RxJavaRxAndroidhttps://github.com/ReactiveX/RxAndroid*****消息通信*****EventBus -- 组件间的消息通信https://github.com/greenrobot/EventBus*****注解框架*****b...
2018-09-28 15:32:19
247
转载 Establishing a Build Environment
Version:0.9StartHTML:0000000163EndHTML:0000126869StartFragment:0000000199EndFragment:0000126833SourceURL:https://source.android.com/source/initializingThis section describes how to set up your l
2017-08-23 22:36:38
494
转载 AddressSanitizer
Version:0.9StartHTML:0000000167EndHTML:0000040239StartFragment:0000000203EndFragment:0000040203SourceURL:https://source.android.com/devices/tech/debug/asanAddressSanitizerAddressSanitizer (A
2017-08-22 23:39:11
1734
1
原创 在android framework中添加自定义系统服务
添加系统服务需要添加aidl,service,manager文件,需要修改SystemServer,Context,ContextImpl下面举例进行说明,主要添加一个服务,用于获取系统时间和版本号1.在frameworks/base/core/java/android/app/下添加aidl文件frameworks/base/core/java/android/a
2017-01-11 16:20:32
8770
5
转载 Ubuntu软件下载源
软件下载源Linux下绝大部分软件需要通过软件下载源下载,但是由于原生系统下载源较慢,请将下载源更新至国内源,推荐如下: deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-u
2016-10-06 15:11:16
1043
原创 将eclipse快捷方式添加到左侧快捷栏
本文将讲述如何将eclipse快捷方式添加到左侧快捷栏 1. sudo vim /usr/share/applications/eclipse.desktop 2.添加如下内容到eclipse.desktop中[Desktop Entry]Encoding=UTF-8Name=EclipseComment=Eclipse IDE Exec=/home/h
2016-07-13 20:43:16
1919
转载 Establishing a Build Environment
Establishing a Build EnvironmentThis section describes how to set up your local work environment to build the Android source files. You will need to use Linux or Mac OS. Building under Windows is
2016-06-30 10:55:35
783
原创 Android Settings模块架构浅析<1>
概述Android Settings模块说简单也简单,说难也难,里面涉及到的知识点也挺多的。我们知道Settings主要是用于配置一些系统选项或属性值,通过修改设置项就能达到修改系统配置的作用。那么问题来了,Settings是如何实现修改后能改变系统配置的呢?Settings又是采用怎样的架构实现的呢?里面又涉及到哪些知识点呢?让我们一起来揭开她的神秘面纱吧!原理分析
2016-03-30 10:51:12
4867
1
原创 UML建模之 - 类图&amp;amp;时序图
简介简介UML是面向对象开发中一种通用的图形化建模语言UML建模技术就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联、类的实例相互配合实现系统的动态行为等UML建模工具Rational Rose : 是直接从UML发展而诞生的设计工具,常用建模工具Power Designer : 是对数据库建模而发展起来的一种数据库建模工具Micr
2016-03-25 13:26:02
5623
1
原创 Android四大组件之Broadcast使用及运行机制
广播介绍1.安卓四大组件之一2.广播使用了观察者模式3.进程间通信广播发送广播分类1.普通广播(Broadcast).发送一个广播,所有监听该广播的广播接收者都可以监听到改广播.完全异步的,接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播2.有序广播(OrderedBroadcast).按照接收者的优先级顺序接收广播,优先级别在in
2016-03-24 23:18:22
780
2
原创 应用获取Power Key/Home Key按键事件(framework层)
背景有时候我们在开发的时候需要在应用中获取Power Key,Home Key等按键事件,但是我们知道这些按键属于特殊的按键,应用中并不能获取到。这些按键在framework层已经被处理掉了,因此我们需要通过一些方法来让应用能获取到。原理对于Home Key, Power key这些特殊的按键,应用是不应该获取到的,因为这些按键需要处理一些特殊的事情。应用获取到后可能会造成
2016-03-23 10:49:15
6121
2
原创 JAVA基础之IO操作
文件 - File类File对象1、用来将文件或者文件夹封装成对象2、方便对文件与文件夹的属性信息进行操作3、File对象可以作为参数传递给流的构造函数public class Test { public static void main(String[] args) { File f = new File("e:\\"); Syste
2016-03-09 23:07:46
618
原创 JAVA基础之泛型
概念什么是泛型?1.Jdk 1.5出现的安全机制2.泛型实现了参数化类型的概念,使代码可以应用于多种类型3.使用泛型可以在编译期防止将错误类型的对象放入容器中好处1.将运行时期的问题ClassCastException转到了编译时期2.避免了强制转换麻烦使用场景 - 符号:当操作的引用数据类型不确定的时候,就使用<>,将要操作的引用数据类型传入即可。
2016-02-15 21:39:42
963
原创 JAVA基础之集合框架
集合框架体系集合类的由来1、对象用于封装持有对象,对象多了需要存储,如果对象的个数不确定,就使用集合容器进行存储。2、集合容器因为内部的数据结构不同,有多种具体容器,不断向上抽取,就形成了集合框架。3、Java容器类类库的用途是“保存对象”集合特点1、用于存储对象的容器2、集合的长度是可变的3、集合不可以存储基本数据类型值集合框架结构Col
2016-01-18 09:51:01
756
原创 Android四大组件之Content Provider
Content Provider简介1.ContentProvider是android四大组件之一,需要在AndroidManifest.xml中进行配置.2.为了在应用程序之间交换数据,android提供了ContentProvider,是不同应用程序之间进行数据交换的标准API.3.当应用程序需要把自己数据暴露给其他程序时,就可以通过提供的ContentProvider来实现.4.其
2015-12-24 22:34:43
834
原创 JAVA设计模式之工厂模式
什么是工厂模式工厂模式是我们最常用的实例化对象模式了工厂模式用来创建对象设计方法1.简单工厂 - 算不上真正意义上的工厂模式2.工厂方法3.抽象工厂简单工厂由一个工厂类根据传入的参数决定创建哪一种的产品类实例class Pizza {void cut(){}}class CheesePizza extends Pizza {}class Cl
2015-10-08 21:36:20
444
原创 JAVA设计模式之单例模式
什么是单例模式单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。单例模式使用场景有一些对象我们只需要一个,如:线程池、缓存、对话框、处理偏好设置、注册表的对象、日志对象
2015-10-08 11:01:36
500
原创 JAVA基础之内部类
创建内部类内部类将一个类的定义放在另一个类的定义内部如果想要创建某个内部类的对象需要指明这个对象的类型:OuterClassName.InnerClassName内部类的对象只能在与其外围类的对象相关联的情况下才能被创建public class Test { public static void main(String[] args) { Ou
2015-09-17 23:47:32
440
原创 JAVA基础之接口
抽象类和抽象方法抽象方法仅有声明没有方法体抽象类包含抽象方法的类如果一个类包含一个或多个抽象方法,那么该类必定是抽象类如果继承一个抽象类,必须重写所有抽象方法,否则该子类也必须是抽象类抽象类中可以包含非抽象方法可以创建不包含任何抽象方法的抽象类public class Test { public static void main(St
2015-09-14 11:49:21
635
1
原创 JAVA基础之多态
向上转型对象既可以作为它本身类型使用,也可以作为它的基类型使用把对某个对象的引用视为对其基类型的引用的做法称作向上转型转机方法调用绑定将一个方法调用同一个方法主体关联起来被称作绑定前期绑定:若在程序执行前进行绑定,叫做前期绑定 static和final方法属于前期绑定后期绑定:在运行时根据对象的类型进行绑定,后期绑定又叫做动态绑定或运行
2015-09-09 23:54:04
427
原创 JAVA基础之复用类
组合语法在新类中产生现有类的对象继承语法按照现有类的类型来创建新类继承会自动得到基类中所有域和方法在继承的过程中,并不一定非得使用父类的方法,也可以在子类中添加新方法对于子类对象来说,除了调用子类的可用方法外,还可以调用父类中所有可用方法关键字:extendsclass B extends A {}关键字:super重写的方法中调用对
2015-09-07 23:33:45
407
原创 JAVA基础之访问控制权限(封装)
包:库单元1.当编写一个Java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元)。2.每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类名称必须和文件的名称相同。3.每个编译单元只能有一个public类,否则编译器就不会接受。4.如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,因为它们不是public类。
2015-08-20 13:23:06
1223
原创 JAVA基础之初始化与清理
用构造器确保初始化[edit]构造器与类名称相同;是一种特殊类型的方法,因为它没有返回值。在创建对象时,会为对象分配存储空间,并调用相应的构造器。不包含任何参数的构造器叫做默认构造器方法重载[edit]class Person { public Person() {} public Person(String name){} public Pe
2015-08-18 09:39:49
1707
原创 JAVA基础之控制执行流程
条件语句仅仅包含ifif(Boolean-expression) statement包含if-elseif(Boolean-expression) statementelse statement包含else if多个条件等自由组合方式if(Boolean-expression) statementelse if(Boole
2015-07-30 23:09:17
646
原创 JAVA基础之操作符
JAVA操作符使用java操作符几乎所有的操作符都只能操作“基本类型”“=”、“= =”和“!=”,它们能操作所有对象String类支持“+”和“+=”基本类型整型:int,short,byte,long 浮点型:float,double 字符:char 布尔:boolean类型字节boolean1/8byte
2015-07-28 22:11:30
1796
原创 JAVA设计模式之观察者模式
什么是观察者模式?观察者模式定义了对象之间的一对多依赖,当一个对象改变状态,其他依赖者都会收到通知并自动更新。角色抽象主题(Subject)角色主题角色把所有对观察考对象的引用保存在一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可以增加和删除观察者对象,主题角色又叫做抽象被观察者(Observable)角色,一般用一个抽象类或者一个接口实现。
2015-07-26 19:27:26
785
1
原创 JAVA设计模式之策略模式
什么是策略模式?定义算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。策略模式有什么好处?可以动态的改变对象的行为。设计原则1.封装变化(找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起)2.多用组合,少用继承3.针对接口编程,不针对实现编程把一个类中经常改变或者将来可能改变的部分提取出来,
2015-07-26 19:12:53
743
1
原创 使用TestNG进行模块自动化压力测试
前言由于最近忙于mirage项目,在分析客户的一个问题时,客户提到了使用TestNG来进行一些压力测试,比如连续拍照500次以上,不断的进入设置、滑动、退出200次。当时咨询了下项目里的测试同僚,发现我司在压力测试方面做得比较少,性能测试方面主要使用的monkey测试。无奈,只有自己学习琢磨了。本文一来用于记录学过的东西,二来也可以给会用到这个工具的测试或开发同事借鉴。通过这个工
2015-06-17 17:54:23
3632
原创 adb 命令大全
ADB 常用命令查看连接设备adb devices //显示设备列表adb get-serialno //获取设备序列号重启adb serviceadb kill-serveradb start-serveradb 获取root控制adb rootadb remount //将system分区重新挂载为可读写分区
2015-05-27 19:53:21
2304
原创 Fragment
Activity源码位置:frameworks/base/core/java/android/app/Activity.javapublic class Activity extends ContextThemeWrapper implements LayoutInflater.Factory2, Window.Callback, KeyEvent.Call
2015-05-16 23:10:43
590
原创 Android四大组件之Activity
Activity源码位置:frameworks/base/core/java/android/app/Activity.javapublic class Activity extends ContextThemeWrapper implements LayoutInflater.Factory2, Window.Callback, KeyEvent.Call
2015-04-27 14:12:11
648
转载 Android 权限一览
From http://developer.android.com/reference/android/Manifest.permission.htmlSummaryConstantsStringACCESS_CHECKIN_PROPERTIESAllows read/write access to the "properties"
2015-04-22 16:31:46
1212
转载 Change-Id自动生成脚本
#!/bin/sh# From Gerrit Code Review 2.9.4## Part of Gerrit Code Review (http://code.google.com/p/gerrit/)## Copyright (C) 2009 The Android Open Source Project## Licensed under the Apache License
2015-04-22 11:01:49
3340
原创 搭建Android L开发编译环境
下载,安装ubuntu 12.04http://releases.ubuntu.com/12.04/安装JDKAndroid L版本需要openjdk 7.0以上版本,KK版本需要oracle jdk 1.6.26以上版本$ sudo apt-get update$ sudo apt-get install openjdk-7-jdk配置默认运行的
2015-04-22 10:57:40
1347
转载 Initializing a Build Environment
From https://source.android.com/source/initializing.htmlInitializing a Build EnvironmentThis section describes how to set up your local work environment to build the Android source fil
2015-04-22 08:45:37
771
原创 Android事件处理
基于监听事件处理1.内部类作为事件监听器类2.外部类作为事件监听器类较少见,不利于提高程序内聚性,外部类也不能自由访问activity中的组件3.Activity本身作为事件监听器实现事件监听器接口4.匿名内部类作为事件监听器5.直接绑定到标签onClick属性基于回调事件处理为了实现回调机制的事件处理,An
2015-04-21 20:26:13
628
原创 ubuntu 共享出现nobody/nogroup问题
当我们在开发时会将虚拟机里的ubuntu映射到windows中来,想必这个大家都知道怎么做1.在ubuntu中选择要共享到windows中的文件夹右键->Sharing Options->[如果提示需要安装samb的就点install,安装完成后,重新右键]勾选所以选择框->Create Share->Add the permissisons automatically2.查看ubuntu
2015-04-04 09:12:14
8758
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人