Java
chichengjunma
这个作者很懒,什么都没留下…
展开
-
消灭 Java 代码的“坏味道”
让代码性能更高(1)需要 Map 的主键和取值时,应该迭代 entrySet()当循环中只需要 Map 的主键时,迭代 keySet() 是正确的。但是,当需要主键和取值时,迭代 entrySet() 才是更高效的做法,比先迭代 keySet() 后再去 get 取值性能更佳。反例:Map<String, String> map = ...;for (String k...转载 2019-10-15 17:49:21 · 205 阅读 · 0 评论 -
Android监听自身被卸载与监听其他应用被卸载、安装
1.监听自身主要实现思路: 其实我们都知道,Android程序是可以监听到系统卸载程序这个广播的,不过可惜的是,它不能监听到自身被卸载,那么我们要怎么做才能在自身程序被卸载之后做一些事情呢?Java没有说怎么做,那C呢?C是可以的。C的思路是去监听data/data/[packageNmae]这个文件夹的变动情况。C代码主要如下:#include #include原创 2017-09-23 18:39:00 · 3806 阅读 · 0 评论 -
org.apache.http不存在或找不到,解决方案
Android 6.0不再支持 Apache HTTP client。 请使用 HttpURLConnection 代替。如果遇到之前老代码运行不起来或者报错怎么办呢,又不想写新的代码。Error:(19, 23) 错误: 程序包org.apache.http不存在Error:(20, 23) 错误: 程序包org.apache.http不存在Error:(21, 23) 错误:原创 2017-06-17 13:56:45 · 6929 阅读 · 0 评论 -
Android小笔记(3)
笔记1:IconFont在Android中的使用什么是iconFonticonFont顾名思义是字体图标,图标就藏在字体文件里面,看着是个图标,其实却是个文字,这就是所谓的icon font。iconFont是矢量图标iconFont优缺点优点1.由于IconFont是矢量图标,所以可以轻松解决图标适配问题2.图标以字体文件的形式存在项目中(.ttf文件一般放在asset...原创 2017-03-10 18:06:11 · 387 阅读 · 0 评论 -
Android 仿微信“正在输入...”效果快速实现
第一步声明“正在输入...”文字的几个状态、textview、索引: private int indexText = 0; private TextView textView; private String[] inputStr = {"正在输入","正在输入.","正在输入..","正在输入..."};第二步创建Handler对象,子线程中更新文本内容: privat原创 2017-03-21 14:36:41 · 2315 阅读 · 4 评论 -
Fel轻量高效的表达式计算引擎
Fel是轻量级的高效的表达式计算引擎Fel在源自于企业项目,设计目标是为了满足不断变化的功能需求和性能需求。Fel是开放的,引擎执行中的多个模块都可以扩展或替换。Fel的执行主要是通过函数实现,运算符(+、-等都是Fel函数),所有这些函数都是可以替换的,扩展函数也非常简单。Fel有双引擎,同时支持解释执行和编译执行。可以根据性能要求选择执行方式。编译执行就是将表达式编译成字节原创 2017-02-20 14:03:34 · 16311 阅读 · 7 评论 -
Android Studio 常用技巧
Android Studio 常用技巧:1.可视化布局选择1:1(默认手机为Google Nexus4);2.Preference—>Editor—>Code Style——>File Encodings下修改编码格式;3.双击shift直接在包名上查找类名;4.local.properties文件中 sdk.dir=/Users/xx...原创 2016-02-17 19:15:12 · 4071 阅读 · 3 评论 -
Java基础面试题笔记(3)
1.String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有?答:没有。 因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。在这段代码中,s原先指向一个String对象,内容是 "Hello",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有。这时原创 2016-01-25 22:40:39 · 734 阅读 · 0 评论 -
Android手机屏幕分辨率适配方案
互联网行业发展总是一日千里,各种相关技术更是层出不穷、日新月异,我们生在这个时代,它的存在给我们带来了方便,带来了传统行业没有过的体验。当下机器学习、数据挖掘、大数据、云计算、移动应用等相当火,从事其中工作的人也不少。这其中有一个职位叫:程序员(程序猿)、工程师、码农、coder、搬砖的,呵呵~在一些人眼中可能都一样,有些人眼中可能有所差别。 这些人的进步曲线并不是每天或者每原创 2016-03-19 21:39:22 · 827 阅读 · 0 评论 -
Android Support is disabled---Android Studio 2.0问题
当Android Studio 2.0正在安装apk时 调试程序时,电脑卡死或者关机,当再次打开Android Studio 2.0时 Model不再显示小手机,也不能再次调试运行,解决办法如下: 找到Preference然后找到Plugin,随便装一个插件,会提示你重启Android Studio 选择重启。如果此时还是无效的话,点击插件最左侧的小插销 “-”按钮,再次重启A原创 2016-05-03 18:33:39 · 1580 阅读 · 0 评论 -
Instant Run实现原理
截止今天,Android Studio 2.1.1 版本都发布了,一直很想去研究一下AS2.0大版本中最重要特性Instant Run的原理。Instant Run实际上就是一个热补丁,看了看网上一些文章,对代码修复的这一部分大概了解如下:Instant Rungoogle官方关于Instant Run特性的介绍在这里:点击打开链接,按其所述,运行FloatingActionBu转载 2016-05-12 13:56:35 · 619 阅读 · 0 评论 -
Realm for Android
介绍如果你关注安卓开发的最新趋势,你可能已经听说过Realm。Realm是一个可以替代SQLite以及ORMlibraries的轻量级数据库。相比SQLite,Realm更快并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,以及加密支持,这些都为安卓开发者带来了方便。下面简单讲解一下如何使用:1. 添加Realm到工程要在安卓工程中使转载 2016-05-12 09:55:37 · 517 阅读 · 0 评论 -
MVC MVP MVVM三种通讯方式
一、MVC 通信方式:1、View 传送指令到 Controller2、Controller 起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据 Model 上的改变。 3、Model 将新的数据发送到 View,用户得到反馈所有通信都是单向的。二、MVP 通信方式:1、各部分之间的通信,都是双向的。原创 2016-03-12 08:08:35 · 2391 阅读 · 0 评论 -
Android开发过程中用到的设计模式
1、模板模式 如Activity: 每次新建一个Actiivty时都会覆盖onCreate,onResume,onStart等方法,这些方法在 父类中就相当于一个模板。2、观察者模式 Listener都相当于一个观察者,对一些事件的响应都进行观察,当发现有响应就进行做相应的处理 3、单例模式 Application 单例转载 2016-03-11 23:41:04 · 444 阅读 · 0 评论 -
Java基础面试题笔记(2)
1.ArrayList,Vector,LinkedList的区别 ArrayList Vector Li原创 2015-11-09 16:12:25 · 523 阅读 · 0 评论 -
Java基础面试题笔记(1)
1. int result =5 int result1 =6 int result2 =7解析:2.下面程序的运行结果是()String str1 = "hello";String str2 = "he" + new String("llo");System.err.println(str1 == str2);答原创 2015-11-03 21:50:44 · 629 阅读 · 1 评论