有时候应用需要将数据写入到设备的外部存储上。列如,需要同其他应用或用户共享音乐、图片或者网络下载资料时,保存在外部设备的数据共享起来要比较方便。而且,外部设备通常具有更大的存储空间。 我们可以通过android.os.Environment.getExternalStorageDir...
编程语言
首先追溯到Activity的启动,随便启动一个自己写的demo项目,使用DDMS进行debug标记,然后在Debug中把主线程暂停,可以看到调用栈。如下图所示: 于是我们先看android.app.ActivityThread的main()方法。 android.app.ActivityThread.main() main()方法中对一...
假设你是正在开发和维护一个包含2000个类并使用了很多框架的Java开发者。你要如何理解这些代码?在一个典型的Java企业项目小组中,大部分能够帮你的高级工程师看起来都很忙。文档也很少。你需要尽快交付成果,并向项目组证明自己的能力。你会如何处理这种状况...
关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不要用StringBuffer,然后性能就是最好的了,真的吗吗吗吗? 还有些同学,还听过三句似是而非的经验: 1. Java编译优化后+和StringBuilder的效果一样; 2. StringBui...
使用过JavaMail的api发送邮件的人可能会有这样一个疑惑:本人如何知道本人调用该api发送的邮件是否成功呢?一般的开放的api给各位同行调用都会有个返回值或者状态码,来告诉各位同行执行成功与否。但是JavaMail却没有提供这样一个返回值。 所以在调用JavaMai...
准备工具 Java 1.6 For Mac OS X — 在Mac上运行Eclipse会提醒需要Java 6运行时支持库 Java 1.8 For Mac OS X — 本人开发时所用的jdk版本 Eclipse — 本人开发时所用版本为Eclipse Luna Release (4.4.0) Android Development Tools(ADT)— 安卓开发工具...
作为刚入门Java的小白,这两天看到内部类,这里做一个总结,若有错误,欢迎指正~ 内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。 内部类分为: 成员内部类、局部内部类 、 静态嵌套类 、匿名内部类 。 1.成员内部类 成员内部类是最...
在Fedora中,为了获得最好的GNOME桌面体验,你需要了解并掌握一些驾驭系统的快捷键。 该文将列举我们日常使用中使用频率最高的快捷键。1. Super键GNOME 快捷键 - super键 “super”键是如今驾驭操作系统的好朋友。 在传统的笔记本电脑中“super”键坐落于...
今天要给大家分享一段PHP代码,该代码的功能是用来判断访客是否移动端浏览器访问,该功能的实现思路是通过HTTP_X_WAP_PROFILE、HTTP_VIA、HTTP_USER_AGENT等信息来判断访客是否通过移动端浏览器访问PHP网站。以下是PHP代码: /** * 是否移动端访问访问 * *...
好吧,本人去了地球的另一边,并且因为本人的PC不在旁边,只有一台MacBook Pro可以用于开发。这篇文章应该被看作是一个加强书签,本人列出了使得MacBook能实现目的的所有必需安装的工具,即用于Java和稍后也会用于JavaScript的开发。 需要提一下的是,直到现...
这篇文章总结了所有的Java集合(Collection)。主要介绍各个集合的特性和用途,以及在不同的集合类型之间转换的方式。 Arrays Array是Java特有的数组。在你知道所要处理数据元素个数的情况下非常好用。java.util.Arrays 包含了许多处理数据的实用方法: Arra...
每次本人怀疑有内存泄漏时,本人都要翻箱倒柜找这些命令。所以,这里总结一下以备后用: 首先,本人用下面的命令监视进程:while ( sleep 1 ) ; do ps -p $PID -o %cpu,%mem,rss ; done(如果有的话还有New Relic) 如果你看到内存上升很快,可能是因为虚...
前言 原来的Android SDK中并没有下拉刷新组件,但是这个组件确实绝大多数APP必备的一个部件。好在google在v4包中出了一个SwipeRefreshLayout,但是这个组件只支持下拉刷新,不支持上拉加载更多的操作。因此,我们就来简单的扩展一下这个组件以实现上拉下载的...
一、方法介绍: 每个Android应用程序都可以通过Context来获取与应用程序相关的目录,这些目录的功能各异,每一个目录都有自己的特点,有时候可能会搞混淆,本文结合android源码注释和实际操作,详细介绍一下每个方法: 方法:getFilesDir 释义:返...
系列目录: Java内存模型深度解析:基础部分 Java内存模型深度解析:重排序 Java内存模型深度解析:顺序一致性 Java内存模型深度解析:volatile Java内存模型深度解析:锁 Java内存模型深度解析:final Java内存模型深度解析:总结 并发编程模型的分类 在并...
1.定义关联模型 在Laravel里面,我们可以通过定义以下Model来完成关联查询。 Class MyPost extends Eloquent { public function myPostInfo () {return $this->hasOne('MyPostInfo'); } } class MyPostInfo extends Eloquent {} 2. 使用关联模型 这里my...
在这里,总结一下loading进度条的使用简单总结一下。 一、说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验。 先来找图看看,做这个图完成不用图片就可以做到了。 看...
AudioPolicyService是策略的制定者,比如什么时候打开音频接口设备、某种Stream类型的音频对应什么设备等等。而AudioFlinger则是策略的执行者,例如具体如何与音频设备通信,如何维护现有系统中的音频设备,以及多个音频流的混音如何处理等等都得由它来完成。...
我们在常用的电商或者旅游APP中,例如美团,手机淘宝等等,都能够看的到有那种下拉式的二级列表菜单。具体如图所示:上面两张图就是美团的一个二级列表菜单的一个展示。我相信很多人都想开发一个跟它一样的功能放到自己的APP中。好,接下来我们就开始动手,解...
'学习的最好途径就是看书',这是本人自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处: 能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料 对着书上的代码自己敲的时候方便 '看...
Service是Android的四大组件之一,被用来执行长时间的后台任务,同样,线程也可以实现在后台执行任务,它们的区别在哪呢?何时使用Service何时使用Thread呢?今天我也来说说我的理解和总结。 首先,需要了解Service的几个特点。 (1) 默认情况下,Service...
Redis简介: Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。 redis是一个key-value存储系统。和Memcached类似,它支持存储的valu...
首先向C语言之父 Dennis Ritchie 致敬! 当今几乎所有的实用的编译器/解释器(以下统称编译器)都是用C语言编写的,有一些语言比如 Clojure, Jython 等是基于 JVM 或者说是用 Java 实现的,IronPython 等是基于 .NET 实现的,但是 Java 和 C# 等本身也要依靠...
垃圾回收,就像双陆棋一样,只需几分钟来学习,但要用一生来精通。 基础 当谈到释放不再使用的内存,垃圾回收已经在很大程度上取代了早期技术,比如手动内存管理和引用计数。 这是件好事,因为内存管理令人厌烦,学究式地簿记是计算机擅长的,而不是人擅长的...
为了改进Android的安全问题,Google在Android系统中引入了谷歌验证应用(Google Authenticator)来保证账号的安全。谷歌验证应用的使用方法是:用户安装手机客户端,生成临时身份验证码,提交到服务器验证身份,类似的验证系统还有Authy。Robbie在其GitHub页...


























