Jar包

Jar包的处理相对简单,将Jar包复制到lib文件夹中,然后右击Jar包选择add as a library即可导入。
删除时,需要先删除build.gradle中的语句,再删除Jar包

添加远程开源库


一般新的开源库在其README.md中都会有相应连接,比如FlatUI,在其GitHub页面可以得到以下内容

要将上面内容添加到项目中的build.gradle中,切勿添加到全局的build.gradle文件中去

添加本地开源库

下载开源库后,放置在app目录同级的目录下,编辑setting.gradle文件加入:开源库文件名,例如在app同级目录下放置了volley的开源文件夹,编辑setting.gradle的内容为

1
include ':app',":volley"

之后再app目录下的build.gradle文件下,在dependencies{}节点下加入:

1
compile project(':volley')

效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
public class AnimationUtils {

public static ObjectAnimator tada(View view) {
return tada(view, 1f);
}

public static ObjectAnimator tada(View view, float shakeFactor) {

PropertyValuesHolder pvhScaleX = PropertyValuesHolder.ofKeyframe(View.SCALE_X,
Keyframe.ofFloat(0f, 1f),
Keyframe.ofFloat(.1f, .9f),
Keyframe.ofFloat(.2f, .9f),
Keyframe.ofFloat(.3f, 1.1f),
Keyframe.ofFloat(.4f, 1.1f),
Keyframe.ofFloat(.5f, 1.1f),
Keyframe.ofFloat(.6f, 1.1f),
Keyframe.ofFloat(.7f, 1.1f),
Keyframe.ofFloat(.8f, 1.1f),
Keyframe.ofFloat(.9f, 1.1f),
Keyframe.ofFloat(1f, 1f)
);

PropertyValuesHolder pvhScaleY = PropertyValuesHolder.ofKeyframe(View.SCALE_Y,
Keyframe.ofFloat(0f, 1f),
Keyframe.ofFloat(.1f, .9f),
Keyframe.ofFloat(.2f, .9f),
Keyframe.ofFloat(.3f, 1.1f),
Keyframe.ofFloat(.4f, 1.1f),
Keyframe.ofFloat(.5f, 1.1f),
Keyframe.ofFloat(.6f, 1.1f),
Keyframe.ofFloat(.7f, 1.1f),
Keyframe.ofFloat(.8f, 1.1f),
Keyframe.ofFloat(.9f, 1.1f),
Keyframe.ofFloat(1f, 1f)
);

PropertyValuesHolder pvhRotate = PropertyValuesHolder.ofKeyframe(View.ROTATION,
Keyframe.ofFloat(0f, 0f),
Keyframe.ofFloat(.1f, -3f * shakeFactor),
Keyframe.ofFloat(.2f, -3f * shakeFactor),
Keyframe.ofFloat(.3f, 3f * shakeFactor),
Keyframe.ofFloat(.4f, -3f * shakeFactor),
Keyframe.ofFloat(.5f, 3f * shakeFactor),
Keyframe.ofFloat(.6f, -3f * shakeFactor),
Keyframe.ofFloat(.7f, 3f * shakeFactor),
Keyframe.ofFloat(.8f, -3f * shakeFactor),
Keyframe.ofFloat(.9f, 3f * shakeFactor),
Keyframe.ofFloat(1f, 0)
);

return ObjectAnimator.ofPropertyValuesHolder(view, pvhScaleX, pvhScaleY, pvhRotate).
setDuration(1000);
}

public static ObjectAnimator nope(View view) {
int delta = view.getResources().getDimensionPixelOffset(R.dimen.spacing_medium);

PropertyValuesHolder pvhTranslateX = PropertyValuesHolder.ofKeyframe(View.TRANSLATION_X,
Keyframe.ofFloat(0f, 0),
Keyframe.ofFloat(.10f, -delta),
Keyframe.ofFloat(.26f, delta),
Keyframe.ofFloat(.42f, -delta),
Keyframe.ofFloat(.58f, delta),
Keyframe.ofFloat(.74f, -delta),
Keyframe.ofFloat(.90f, delta),
Keyframe.ofFloat(1f, 0f)
);

return ObjectAnimator.ofPropertyValuesHolder(view, pvhTranslateX).
setDuration(500);
}

}

安装Package Control

Sublime Text支持大量插件,Package Control能够帮助我们管理这些插件,它可以方便的浏览、安装和卸载Sublime Text中的插件

  • 使用Ctrl+`打开Sublime Text控制台
  • 输入下面命令道控制台

    1
    import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
  • 等待Package Control安装完成,使用Ctrl + Shift + P打开命令板

    基本操作

  • Ctrl + Enter在当前行下面增加一行并跳至该行
  • Ctrl + Shift + Enter在当前行上增加一行并跳至该行
  • Ctrl + ←/→逐词移动
  • Ctrl + Shift + ←/→逐词选择
  • Ctrl + ↑/↓移动显示区域
  • Ctrl + Shift + ↑/↓移动当前行

    选择

  • Ctrl + D选择当前光标所在的词并高亮该词出现的位置,再次按下选择该词下次出现的位置
  • Ctrl + K在多重选词的过程中进行跳过,使用Ctrl + U进行回退,使用Esc退出多重编辑
  • Ctrl + Shift + L将当前选中区域打散,然后进行同时编辑
  • Ctrl + J将当前选中的区域合并成一行

    查找&替换

    Sublime Text的查找功能可以分为快速查找标准查找多文件查找

    快速查找

    使用Shift + ←/→或者Ctrl + D选中关键字,然后使用F3跳到其下一个出现的位置,Shift + F3跳到其上一个出现的位置,Alt + F3可以选中其出现的所有位置

    标准查找&替换

    使用Ctrl + F调出搜索框进行搜索

    使用Ctrl + H调出替换框,Ctrl +_Shift + H替换当前关键字,Ctrl + Alt + H替换所有匹配关键字

    关键字查找&替换

  • Alt + C切换大小写敏感模式
  • Alt + W切换整字匹配模式

    多文件搜索

    Ctrl + Shift + F开启多文件搜索&替换

    跳转

  • Ctrl + P会列出当前打开的文件(或者是当前文件夹的文件),输入文件名然后Enter跳转至该文件。
  • Ctrl + R会列出当前文件中的符号(例如类名和函数名,但无法深入到变量名),输入符号名称Enter即可以跳转到该处。此外,还可以使用F12快速跳转到当前光标所在符号的定义处(Jump to Definition)。
  • Ctrl + G然后输入行号以跳转到指定行。

    组合跳跃

    Ctrl + P匹配文件后,可以进行后续输入以跳转到更精确的位置
  • @符号跳转:输入@demo跳转到demo符号所在的位置
  • #关键字跳转:输入# keyword跳转到keyword所在的位置
  • :行号跳转:输入:12跳转到文件的第12行。

    文件夹

    Ctrl + K, Ctrl + B显示或隐藏侧栏,使用Ctrl + P快速跳转到文件夹里的文件。
  • 使用Ctrl + Shift + N创建一个新窗口
  • Ctrl + N在当前窗口创建一个新标签,Ctrl + W关闭当前标签,Ctrl + Shift + T恢复刚刚关闭的标签。
  • 分屏:Alt + Shift + 2进行左右分屏,Alt + Shift + 8进行上下分屏,Alt + Shift + 5进行上下左右分屏(即分为四屏)。
    • 分屏下,使用Ctrl + 数字键跳转到指定屏,使用Ctrl + Shift + 数字键将当前屏移动到指定屏
  • F11 全屏
  • Shift + F11 切换无干扰全屏

    格式化

    手动格式化使用Ctrl + [向左缩进,Ctrl + ]向右缩进,Ctrl + Shift + V以当前缩进粘贴代码
    此外也可以使用插件实现自动缩进和智能对齐
  • HTMLBeautify:格式化HTML。
  • AutoPEP8:格式化Python代码。
  • Alignment:进行智能对齐。

    中文输入法Bug

    Sublime Text一直存在一个Bug:中文输入框不跟随。

    解决方法是安装IMESupport插件,之后重启Sublime Text问题就解决了。

内置方法

  • type() 查看数据类型
  • dir() 返回所以属性和方法
  • help() 返回帮助信息
  • range(x,y) 获取x到y-1的元素

    列表

常用方法

  • count() 列表含多少元素
  • index(x) 差选下标为x的元素
  • append() 在末尾添加元素
  • sort() 排序
  • pop() 或许最后一个元素,并去除
  • remove() 删除元素
  • insert(x,y) 在下边x的位置插入y

字典

常用方法

  • keys() 返回dict所有键
  • values() 返回dict所有值
  • items() 返回dict所有元素
  • clear() 清空dict
  • del dic{‘tom’} 删除’tom’元素
  • len() 获取地点的元素总数
1
2
3
4
5
6
7
8
9
10
dic = {'zoe':1,'joy':2,'tom':3}
print dic
print len(dic)
print dic.keys()
print dic.values()
print dic.items()
del dic['tom']
print dic
dic.clear()
print dic

内置方法

  • type() 查看数据类型
  • dir() 返回所以属性和方法
  • help() 返回帮助信息
  • range(x,y) 获取x到y-1的元素

    列表

常用方法

  • count() 列表含多少元素
  • index(x) 差选下标为x的元素
  • append() 在末尾添加元素
  • sort() 排序
  • pop() 或许最后一个元素,并去除
  • remove() 删除元素
  • insert(x,y) 在下边x的位置插入y

字典

常用方法

  • keys() 返回dict所有键
  • values() 返回dict所有值
  • items() 返回dict所有元素
  • clear() 清空dict
  • del dic{‘tom’} 删除’tom’元素
  • len() 获取地点的元素总数
1
2
3
4
5
6
7
8
9
10
dic = {'zoe':1,'joy':2,'tom':3}
print dic
print len(dic)
print dic.keys()
print dic.values()
print dic.items()
del dic['tom']
print dic
dic.clear()
print dic

生成ssh-key

Clone and Push

创建和切换分支

  • 创建分支 git branch new_branch_name
  • 切换分支 git checkout target_branch_name
  • 删除分支 -D target_branch_name

    推送到远程分支

  • git push origin local_branch_name:remote_branch_name

    合并分支

  • git merge source_branch

    标记

  • git tag xxx