Tfly's Blog

一叶一菩提,一花一世界

Linux入门

系统启动流程 文件系统文件系统:物理空间的组织方式在linux系统中,所有设备都当做文件操作。所以需要挂载操作:1mount /dev/device /mnt/device 分区表示:例sda5sd:SATA接口的硬盘a:第一块硬盘5:第一个逻辑分区(1,2,3,4为主分区) 用户 shellshell是什么:命令解释器,用户与操作系统交互的接口 如何获取命令帮助: whatis com......

Taking Photos Simply

以下内容均是使用已经存在的carmera app进行拍照。 Request Camera Permission如果拍照是你的app一个非常重要的功能,在manifest文件使用<uses-feature>标签,Google Play只会对有相机的设备可见。 12345<manifest ... > <uses-feature android:name="a......

Android 权限(Permission)控制

Declaring Permissions在Manifest里声明的权限,不涉及用户隐私的权限,系统自动授权,涉及隐私的权限,系统会询问用户,让用户授权。 Android5.1和更低版本,用户在安装时给app授权,包括涉及用户隐私的权限;Android6.0和更高版本涉及用户隐私的权限在运行时授权。 App只需要直接执行相关动作的权限。比如,app需要获取联络人电话,需要READ_CONTA......

Android本地化

Android平台能够在运行时根据本地区域设置来选择不同语言。如果所有string都来源strings.xml,那么定义可选的string.xml文件,android系统在运行时会进行正确选择。 实现方法:默认创建的string.xml在res/values/目录下。为支持不同语言,在res/目录下创建包含”-“和ISO语言码的values目录,形如”values-es”(es为ISO语言码......

FragmentTabHost的正确使用姿势

使用方法1.定义布局文件 123456789101112131415161718192021222324252627282930<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com......

Http缓存

通过Internet获取资源既缓慢,成本又高。为此,Http协议里包含了控制缓存的部分,以使Http客户端可以缓存和重用以前获取的资源,从而优化性能,提升体验。虽然Http中关于缓存控制的部分,随着协议演进,有一些变化。但我觉着,作为后端程序员, 在开发Web服务时,只需要关注请求头If-None-Match、响应头ETag、响应头Cache-Control就足够了。因为这三个Http头就 ......

ImageView支持Exif

什么是Exif可交换图像文件格式,简称为Exif(Exchangeable image file format)。是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。 exif中包含图片的方向信息,这个是本文讨论的重点。exif orientation详细介绍 链接中的orientation value,0th row,0th column的关系: 可以用手机拍摄一张图片,......

Activity生命周期及Intent匹配规则

Activity生命周期方法onStart和onResume,onPause和onStop的区别:onStart和onStop是从Activity是否可见这个角度来回调的,而onResume和onPause是从Activity是否位可交互这个角度来回调的。 有一种特殊情况,如果新Activity采用了透明主题,那么当前Activity不会回调onStop。 Activity状态保存onSav......

Intent.FLAG_ACTIVITY_FORWARD_RESULT作用

适用情况多个Activity的值传递。ActivityA到达ActivityB再到达ActivityC,但ActivityB为过渡页可以finish了,此时ActivityC将值透传至ActivityA。 代码实现第一个页面:A跳到B 12345678910111213141516171819202122public class AActivity extends Activity{......

Mac配置Android环境变量

背景Mac上在Android Studio控制台输入adb会发现adb:command not found的问题。原因是没有配置Android环境变量。 配置环境变量打开mac的terminal终端,输入 cd ~/ 【进入当前用户的home目录】 输入 touch .bash_profile 【如果没有.bash_profile这个文件,则创建一个文件】 输入 open .bash_pro......