- 博客(24)
- 收藏
- 关注
转载 https://blog.csdn.net/zhiwen_a/article/details/81192087
记录一下原码,反码,补码的深入理解学习感受感受https://blog.csdn.net/zhiwen_a/article/details/81192087
2019-08-23 18:24:47
393
原创 开发人员必备的技能--Junit测试
对于程序员来说,仅仅让程序通过编译是不够的,还要做到基本的测试,保证写的代码的正确性。单元测试,集成测试,黑盒测试,白盒测试,对于学过软件工程的计算机专业的人来说这些都很熟悉,但是我相信很多人都并不会真的做测试,其中有各种各样的理由。但是单元测试是一个程序员必须掌握的技能。而且以后在重构,测试的时候你会发现Junit测试真的是一件非常必要非常便利的事情。而且很能提高自己的工作效率。虽然说andr...
2018-06-27 14:34:48
662
原创 Android换肤实现探索(一)
一直想写一个换肤的程序,用来探究学习一下android绘制过程,这次刚好有机会就进行一个学习。如果有错误的地方,请大家随时指正。1.换肤核心问题思索 换肤最重要的是什么呢,换肤程序结构分为应用包,皮肤包,以及换肤程序。这样的设计让模块分离,降低程序耦合度,让这个模块有良好的扩展性。 一个标准的换肤流程应该是:加载皮肤(现在本地找,如果没有就去网上下载)–> 换肤模块进行皮肤的替换 我们
2018-01-10 14:52:14
297
原创 android开机无法自动启动,安装无法自动启动
/** * From Android 3.1, newly installed apps are always put into a “stopped” state and the only way to move it out of the stopped * state is to manually launch any Activity of the app at least once
2018-01-02 15:04:21
828
原创 TensorFlow lite
讯 北京时间11月15日早间消息,谷歌今天发布了TensorFlow lite,让应用给开发者可以在移动设备上部署人工智能。这个移动版谷歌开源人工智能项目最早是在I/O开发者大会上宣布的。
2018-01-02 14:57:53
317
转载 android基础-build target,minSdkVersion,targetSdkVersion,maxSdkVersion概念区分
为了让你的应用程序指定可以运行的版本,Android的manifest文件中提供了标签。该标签中有三个属性,分别是minSdkVersion,targetSdkVersion,maxSdkVersion。这三个属性比较容易让人迷惑,我也是仔细读了谷歌的官方文档,才弄清楚这三个属性的意义。此外,在项目构建时,还有个概念叫build target,在本文中也会进行分析。什么是API level其实标签中
2017-11-14 12:00:33
407
原创 Android横竖屏切换以及生命周期管理
需求:切换屏幕方向的时候不想重新创建activity,这时候就需要进行属性以及代码的设置。一、怎么设置屏幕的横竖屏呢,在Activity中调用setRequestedOrientation(para)就可以设置当前activity的方向了。 设置横屏 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)设置竖屏 s
2017-10-20 11:41:34
434
原创 设计模式---工厂模式、抽象工厂模式
工厂模式: 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选
2017-09-18 19:43:21
496
原创 java中的单例模式
java常用的模式—单例模式为了保证某些消耗资源的类在程序中的唯一性,减少不必要的开销,我们需要使用单例模式。介绍几种常用的单例模式及优缺点:饿汉单例模式class Singleton{ private Static Singleton instance = new Singleon(); private Singleon(){ } public static Sin
2017-09-18 11:43:22
450
原创 Android开源框架GreenDao3.0使用纪要
在android开发的过程中,免不了与数据库打交道,今天简单介绍一个orm的一个开源数据库框架GreenDao 3.0 的使用方法。GreenDao 优点:1.性能高,号称Android最快的关系型数据库 2.内存占用小 库文件比较小,小于100K,编译时间低,而且可以避免65K方法限制 3.支持数据库加密 greendao支持SQLCipher进行数据库加密 有关SQLCipher可以参
2017-09-15 15:52:31
394
原创 设计模式原则----里氏替换原则,依赖倒置原则
一、里氏替换原则。 里氏替换原则(LSP)简而言之就是子类要完全实现父类的外在表现。通俗的讲就是“老鼠的儿子会打洞”。 举个例子说比如说鸟类会飞,鸟这一大类的子类,大雁,麻雀,丹顶鹤都应该会飞。这样就是符合里氏替换原则的。 但是不是所有的鸟都会飞的,比如说企鹅。企鹅就不会飞,但是却被归为鸟类。在计算机中的继承和自然界的继承是不一样的。计算机的子类如果不符合里氏替换原则就会让既有的设计无法封闭。
2017-09-13 17:12:43
863
原创 Android设计模式之23种设计模式一览
一 什么是设计模式? (1)基本定义:设计模式(Design pattern)是一套被反复使用的代码设计经验的总结。使用设计模式的目的是为了可重用代码、让代码更容易被他人理解。设计模式是是软件工程的基石脉络,如大厦的结构一样。 (2)Design pattern的四大要素:模式名称(Name),问题(Question),解决方案(Solution),效果(Efftive)。 (3)OO(面向
2017-09-12 16:51:43
296
转载 Linux 系统的启动过程
linux启动时可以看到很多启动信息。 linux系统的启动过程并没有想象中那么复杂,可以分为五个阶段:内核的引导运行init系统初始化建立终端用户登录系统内核引导 计算机通电以后,首先BIOS会进行开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入/boot目录下的内核文件。 运行init init程序是系统所有进程的起点,它可以被看作系
2017-09-11 18:26:31
283
转载 ubuntu 常见的错误 Could not get lock /var/lib/dpkg/lock
ubuntu 常见的错误 Could not get lock /var/lib/dpkg/lock 遇到此错误的操作: 当使用终端安装程序sudo apt-get install xxx时出错: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable t
2017-09-11 10:09:14
300
转载 简单比较C语言中的execl()函数与execlp()函数
C语言execl()函数:执行文件函数 头文件:#include <unistd.h>定义函数:int execl(const char * path, const char * arg, ...);函数说明:execl()用来执行参数path 字符串所代表的文件路径, 接下来的参数代表执行该文件时传递过去的argv(0), argv[1], …, 最后一个参数必须用空指针(NULL)作结束.
2017-09-07 15:08:45
8567
原创 Android开发----widget的使用
1.appwidget框架类AppWidgetProvider–本质是一个brocastreciever。在appwidget应用enabled,update,delete,disenabled时接受广播。常用的是onRecieve,和onUpdate;AppWidgetInfo–是widget的配置信息(包括大小,更新频率等),以xml文件等形式存在于res/xml目录下;AppWidget
2017-09-05 11:51:37
424
原创 android输入框取消横屏全屏输入
android输入框在横评的时候如果不做特殊处理,点击输入框的时候会弹出新的界面来输入,如果我们需要设置在惦记的时候还能看到输入框,就需要在布局中加入相应的属性。 android:imeOptions=”flagNoExtractUi”。如果希望全屏输入模式的右侧有一个按钮来让用户实现诸如完成输入之类的操作,可以在标签中添加android:imeActionLabel=”@string/launc
2017-09-05 11:17:12
1972
转载 java内存管理小技巧
尽量使用直接量 当需要使用字符串,还有Byte,Short,Integer,Long,Float,Double,Boolean,Character包装类的实例时,程序不应该采用new的方式来创建对象,而应该直接采用直接量来创建它们。使用StringBuilder和StringBuffer进行字符串连接 String,StringBuilder,StringBuffer都可以代表字符串,其中St
2017-08-29 17:42:15
325
转载 Java中的垃圾回收机制以及常见的垃圾回收器
以前基本了解java内存回收的机制,现在发现一片文章让我更加深入理解了java中的gc机制。1.对象在内存中的状态对于JVM的垃圾回收机制来说,是否回收一个对象的标准在于:是否还有引用变量引用改对象?只要有引用变量引用对象,垃圾回收机制就不会回收它。也就是说,当java对象被创建出来之后,垃圾回收机制会实时的监控每个对象的运行状态,包括对象的申请,引用,被引用,赋值等。当垃圾回收机制实时的监控到某个
2017-08-29 17:24:41
492
翻译 Android 8.0 行为变更
随着Android 8.0的发布,Orel成了android新的宠儿。针对android o有哪些行为变更,我们大家就一起来看看吧。Android 8.0 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更。其中大部分变更会影响所有应用,而不论应用针对的是何种版本的 Android。不过,有几项变更仅影响针对 Android
2017-08-29 10:53:14
631
原创 算法常用的工具---流程图
流程图:算法的图形化表示方式。 优点作用:更形象清晰让人容易理解算法。 常见的流程图图标: https://wenku.baidu.com/view/8433b4f90242a8956bece41a.html
2017-08-23 16:37:25
4080
转载 Android启动过程深入解析
做android开发一段时间了,但是一直没有研究过android系统的启动过程,今天有幸看到一片文章,从整体给了自己android启动的概念,特此记录分享.原文链接:http://blog.jobbole.com/67931/当按下Android设备电源键时究竟发生了什么? Android的启动过程是怎么样的? 什么是Linux内核? 桌面系统linux内核与Android系统linux内核有
2017-08-23 14:45:46
277
转载 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-08-16 19:05:41
213
原创 关于写博客的这点事
之前在大学的时候写过新浪博客,但是时间长了就忘了更新了,很遗憾当时没能坚持下去。为什么呢,因为工作后觉得太安逸了,忘了初心,也忘了想要达到的目标,安逸让我飘飘然,没有了动力当然就坚持不下去了。最近我突然发现自己原来忘了这么多东西,我不想再这么浑浑噩噩下去了。而且我发现在我学习的领域里有很多问题都只有国外的一些解决方案,这样很不方便一些英语不好的同学学习。我想重拾下梦想,看看人是不是真的有极限,
2017-08-16 18:57:12
321
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人