- 博客(103)
- 资源 (17)
- 问答 (4)
- 收藏
- 关注
原创 23种设计模式----模板方法模式
模板方法模式1.来个抽象的模板方法runpublic abstract class AbstractMethod { abstract void start(); abstract void stop(); public void run() { this.start(); this.stop(); }}2.具体实现模板里面的方法public class TemplateMethod extends AbstractM
2020-05-14 22:45:12
287
原创 23种设计模式----状态模式
3.状态模式把状态的判断分离出来.1.状态的接口public interface SleepState { void sleep(Person person);}2.将该人对象传入,实现状态类public class ZhanSleepState implements SleepState { private static final String TAG = "ZhanSleepState"; @Override public void sle.
2020-05-14 22:42:34
297
原创 23种设计模式----原型模式
原型模式通过implements Cloneable接口,该对象可以通过clone实现对象的拷贝.1.抽象一个手机类,实现cloneable接口public abstract class Phone implements Cloneable { private String telephone = ""; public Phone(String telephone) { this.telephone = telephone; } @Overri
2020-05-14 22:37:05
310
原创 23种设计模式----观察者模式
观察者模式一个对象状态改变,所有的依赖对象都将得到通知.观察者和被观察者是抽象耦合的建立了一套触发机制1.观察者接口public interface Observer { public void update(); //每一个实现该接口的实现类都是具体观察者。}2.具体实现观察者public class ConcreteObserver implements Observer { @Override public void update() { .
2020-05-14 22:34:27
218
原创 23种设计模式----备忘录模式
备忘录模式恢复之前状态1.一个游戏,里面有个创建备忘录的方法,该方法存储当前游戏进度到备忘录中,并且返回备忘录.另外一个是拿到备忘录,将备忘录的数据恢复到游戏中.public class Game { int gamelv; String name; String age; String password; public Game(int gamelv, String name, String age) { this.gamelv =
2020-05-14 22:24:49
202
原创 23种设计模式----中介者模式
6中介者模式用一个中介对象封装一系列的对象的交互,中介者使各对象不需要显示的相互作用,从而使其耦合松散,而且可以独立的改变他们之间的交互。就是将所有需要交互的对象,传递给中介者, 通过中介者来实现各个对象交互过程.1.来个学生抽象类public abstract class Student { String name; int age; abstract void study(); public String getName() { ret
2020-05-14 22:17:55
177
原创 23种设计模式----责任链模式
责任链模式1.来个责任接口,里面有chain接口,用chain来保持链接public interface Intecepter { void intercept(Chain chain) ; public interface Chain { void proceed() ; }}2.来个jeck的责任public class JeckIntecepter implements Intecepter { @Override p.
2020-05-14 21:49:07
272
原创 23种设计模式----门面模式
门面模式 门面模式松散了客户端与子系统的耦合关系,让子系统内部的模块能更容易扩展和维护。 门面模式让子系统更加易用,客户端不再需要了解子系统内部的实现,也不需要跟众多子系统内部的模块进行交互,只需要跟门面类交互就可以了。1.子系统Apublic class ModuleA { //示意方法 public void testA(){ System.out.println("调用ModuleA中的testA方法"); }}2.子系统Bpub.
2020-05-14 21:27:40
163
原创 23种设计模式----装饰模式
装饰模式在不想增加很多子类的情况下扩展类时1.接口public abstract class Component { public abstract void operation();}2.实现的对象public class ConcreteComponent extends Component { @Override public void operation() { System.out.println("具体对象的操作"); .
2020-05-14 21:21:57
162
转载 23种设计模式----组合模式
组合模式无需关系处理的单个对象,还是组合的对象容器,实现容器之间的解耦合。当有新部件时容易添加进来。1. 可以想象成树结构根节点(最上层)public interface IRoot { //根节点接口 //得到总经理的信息 public String getInfo(); //总经理下边要有小兵, 那要能增加小兵, 比如研发部总经理, 这是个树枝节点 public void add(IBranch branch); //那要能增加树叶节点
2020-05-13 23:10:39
144
原创 23种设计模式----命令模式
命令模式命令模式是一个高内聚的模式1.我是jeck和tom的老大, 老板每天叫我让jeck跟tom陪她唱歌和睡觉. 我给了老板一个命令单据, 你只要给我哪个命令, 我就让tom和jeck把老板陪好(我最简单,我只是把所有的命令都给老板,然后把这个命令跑一下就行了).public interface Person { void doSomething(); void sleep();}2.找个jeckpublic class Jeck implements ..
2020-05-13 22:58:02
144
原创 23种设计模式----桥梁模式
桥梁模式将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化1. 为了把笔和笔的颜色进行脱耦, 如果要添加笔,我只要实现pen就行,如果我要添加不同颜色,我只要实现color就行了.先来个笔, 笔持有颜色的类.public abstract class Pen { Color mColor; public void setColor(Color color) { mColor = color; }.
2020-05-13 22:21:20
152
原创 23种设计模式----适配器模式
适配器模式1.来个手机接口,有打电话的功能public interface Phone { void call();}2.来个人,这个人手里有各个朋友的手机号码public interface Person { String getTelephone();}3.实现tom这个人public class Tom implements Person { @Override public String getTelephone() { ...
2020-05-12 23:04:56
135
原创 23种设计模式----Buidler模式2
Buidler模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。1.来个手机接口public interface Phone { void show();}2.我手机的参数拿出来.public class SeniorParams { protected String telephone; protected String sim; protected void start() { } p...
2020-05-12 22:44:01
204
原创 23种设计模式----Buidler模式1
Buidler模式1将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.1. 华为手机, 里面来个builder类,通过builder类的进行对象赋值,最后公狗builder类的build方法,返回当前类.public class HuaWeiPhone { private String telephone; private String sim; private String application; private String fr.
2020-05-12 22:35:56
186
原创 23种设计模式----代理模式
代理模式: 跟策略模式是不同的, 同类之间相互代理使用.1.来个手机接口public interface Phone { void call();}2.来一部华为手机public class HuaWeiPhone implements Phone{ private static final String TAG = "HuaWeiPhone"; @Override public void call() { Log.e(T...
2020-05-12 22:27:04
179
原创 23种设计模式----策略模式
策略模式定义一组算法, 将每个算法都封装起来, 并且使它们之间可以互换。策略模式和代理模式的区别: 代理模式是相同的类进行代理. 策略模式注重点不一样.1.来个策略接口public interface IStrategy { void operate();}2.来个实现的策略1public class IStrategy_one implements IStrategy { private static final String TAG = "IStra...
2020-05-12 22:14:19
134
原创 23种设计模式----抽象工厂模式
抽象工厂模式1.来个手机接口public interface Phone { void createPhone();}2.来个华为手机类public class HuaWeiPhone implements Phone { private static final String TAG = "HuaWeiPhone"; @Override public void createPhone() { Log.e(TAG, "createP.
2020-05-12 22:02:28
188
原创 23种设计模式----工厂方法模式
工厂方法模式1.来个实物类接口public interface Phone { void call();}2.实现接口,来个华为手机类public class HuaWeiPhone implements Phone { private static final String TAG = "HuaWeiPhone"; @Override public void call() { Log.e(TAG, "call: " ); }
2020-05-12 21:49:08
166
原创 23种设计模式----简单工厂模式
简单工厂模式1.来个实物类接口public interface Phone { void call();}2.来个华为手机public class HuaWeiPhone implements Phone { private static final String TAG = "HuaWeiPhone"; @Override public void call() { Log.e(TAG, "call: " ); }...
2020-05-12 21:38:13
168
原创 23种设计模式----单例模式
单例模式 私有构造方法, 生成静态对象,在类加载的时候直接生成对象,提供获取对象的接口. 作用: 优点:public class Single_Pattern { private static final Single_Pattern mSinglePattern = new Single_Pattern(); private Single_Pattern(){} public static Single_Pattern GetInsta...
2020-05-12 21:31:14
169
原创 Android 系统编译步骤
编译步骤:A) source javaenv.shB) source build/envsetup.shC) lunch rk3288-userdebugD) ./build.sh 编译
2019-07-05 10:31:42
280
原创 Navicat for Mysql无法连接问题
问题:client does not support authentication protocol requested by server, consider upgrading mysql client.解决:1.进入mysql service工具的bin目录下;2.use mysql;3.alter user ‘root’@‘localhost’ identified with m...
2019-06-13 11:16:12
855
原创 Android resource compilation failed Output:
**Android resource compilation failedOutput: ** C:\fm\FaceAlgorithmFunctionTesting\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:1653: error: duplicate value ...
2019-03-16 15:54:31
1158
原创 文件读写同步
###方案1:利用RandomAccessFile的文件操作选项s,s即表示同步锁方式写RandomAccessFile file = new RandomAccessFile(file, “rws”);###方案2:利用FileChannel的文件锁File file = new File(“test.txt”);FileInputStream fis = new FileInputSt...
2019-01-26 17:55:51
1073
1
原创 so
set(CMAKE_BUILD_TYPE “Release”)set(CMAKE_CXX_FLAGS_RELEASE "CMAKECXXFLAGSRELEASE−std=c++11−O2−pthread−fopenmp")message("BuildType:"{CMAKE_CXX_FLAGS_RELEASE} -std=c++11 -O2 ...
2019-01-24 15:07:33
161
转载 泛型 上限,下限
1.回顾泛型类 泛型类:具有一个或多个泛型变量的类被称之为泛型类。 class ClassGenericity<T> { //在类里面可以直接使用T的类型 T aa; public void test11(T bb) { //................ } //静态...
2018-12-11 09:26:49
4477
2
原创 android 系统 默认声音设置
默认音量frameworks\base\media\java\android\media\AudioManager.java/** @hide Default volume index values for audio streams */public static final int[] DEFAULT_STREAM_VOLUME = new int[] {4, // STREAM_...
2018-11-16 11:30:36
1269
原创 BUG回忆录
好记性不如烂笔头,记下遇到过的问题,方便以后查阅.###1. Error:(11) No resource identifier found for attribute ‘roundIcon’ in package问题原因: 无法找到定义的roundicon资源. roundicon是新版本中出现的,在老版中是没有roundicon的.解决方法:删除AndroidManifest.xm...
2018-11-10 09:33:43
961
转载 修改Setting中文字转语音选项的首选引擎默认项
进入framework/base/core/java/android/speech/tts/TextToSpeech.java这个文件,发现有个参数 puclic static final String DEFAULT_ENGINE = “com.svox.pico”;这个附值应该就是谷歌默认引擎PicoTts的包名。想要修改为其他引擎,比如讯飞语音的TTS,把值改为com.iflytek....
2018-10-08 16:39:22
2537
原创 时区同步
1.如何设置系统时区将device.mk文件中的 PRODUCT_PROPERTY_OVERRIDES += persist.sys.timezone=Asia/Shanghai 改成这样
2018-09-27 20:21:35
254
原创 andorid系统时间同步
1.Android系统时间无法同步问题原因: Android系统源码的同步的ntpserver是time.android.com ,只需要修改frameworks/base/core/res/res/values/config.xml 的time.android.com修改成cn.pool.ntp.org...
2018-09-27 19:43:53
475
转载 Unable to start adb server: error: protocol fault couldn't read status: Connection reset by peer
Unable to start adb server: error: protocol fault couldn't read status: Connection reset by peer情况出现:打开androidstudio,一直连接不上电脑,提示:Unable to start adb server: error: protocol fault (couldn’t read stat...
2018-09-20 00:42:36
1126
转载 获取Android System 写入权限
获取Android System 写入权限 注: 以下前提是系统已经root过。 /system 是Android系统目录,存放Android系统应用和lib,有时候我们需要向该目录中写入文件,例如,将自己开发的apk内置到系统中,作为系统apk启动,但该目录默认是只有 read 权限,没有 write 权限,执行wirte后会出现 Read-only file system 的错误提示。 ...
2018-08-22 17:58:35
985
转载 实现图标应用
转载:https://blog.csdn.net/zhanglixiang2015/article/details/77159131 最近在做这样一个功能,部署应用到手机上要求实现无应用图标和无启动页面,只需要一个后台service就行了。后经百般思索和google,想到一种解决方案。实现思路,单纯的一个service做启动页,android新的api貌似不支持了,于是通过传统的发送广播启动se...
2018-08-22 17:55:58
180
转载 启动APP时白屏或黑屏
1.禁用Preview Window(不推荐): 既然APP启动时的黑白屏是由Preview引起的,那系统有没有提供禁用的方法呢? 答案是肯定的。修改上述style 如下: <style name="AppTheme.Launcher" parent="Theme.AppCompat.Light.NoActionBar"> <!--禁用Preview--&g...
2018-08-22 17:52:31
313
原创 android 隐藏虚拟按键
/* //* * 隐藏虚拟按键,并且全屏 // protected void hideBottomUIMenu() { //隐藏虚拟按键,并且全屏 if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api ...
2018-07-26 10:36:12
457
原创 android 通过usb读取 U盘
关联 compile ‘com.github.mjdev:libaums:+’权限设置<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_ST...
2018-07-26 10:19:39
3132
1
原创 Android程序安装时INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 解决方案
在Android程序安装时突然遇见INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 问题,导致安装失败,详细如下图所示。然后通过度娘和有关书籍整合一下导致问题出现的原因,并提出解决该问题的方案。原因及解决方案:(1)你的程序已经安装。删除重新安装即可。(2)你的AndroidManifest.xml文件编写错误。建议仔细查看,然后再Build试一下,或者C...
2018-07-26 09:17:02
1414
原创 Git的基本使用
1.git下载安装2.git的基本命令git init : 设置仓库 git config –global user.name “viking” :设置全局名称 git config –global user.email “18645@163.com” : 设置全局的邮箱 git configglobal alias.it init 设置别名 - global ...
2018-07-19 22:23:09
189
Android 系统启动模拟器出现这个问题怎么解决
2019-08-25
Ubuntu自己编译的Android系统运行到模拟器问题
2019-08-23
jnaerator使用,一个头文件引用另外一个头文件问题.
2019-06-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人