Android个人学习小结2016.6 什么都不怕,就怕半桶水

以下内容仅为个人Android小结及知识整理,不太适合其他人看。

1、遇到win10磁铁挪位置时突然消失的情况,重启explorer.exe就好了
重启explorer步骤如下:

  • 打开任务管理器,在进程里找到explorer.exe,结束进程。
  • 然后单击左上角文件,新建任务运行,敲入explorer.exe,确定即可。

2、github的pull request是指什么意思

有一个仓库,叫Repo A。你如果要往里贡献代码,首先要Fork这个Repo,于是在你的Github账号下有了一个Repo A2,。然后你在这个A2下工作,Commit,push等。然后你希望原始仓库Repo A合并你的工作,你可以在Github上发起一个Pull Request,意思是请求Repo A的所有者从你的A2合并分支。如果被审核通过并正式合并,这样你就为项目A做贡献了

3、三色规律PS:主色占60%,剩余两色分别为30%和10%。
就好比男人的西装外套和裤子占了装配的60%,衬衫占30%,剩下的10%留给领带点缀。

4、GTD Getting Things Done
翻译过来就是“把事情做完”,GTD的核心理念概括就是必须记录下来要做的事,然后整理安排并使自己一一去执行。
GTD的五个核心原则是:收集、整理、组织、回顾、执行。
GTD的核心理念在于清空大脑,然后一步步按照设定的路线去努力执行。

5、你觉得这个世界上不可能的事情,是因为你没有试着去做。

6、Axure让局域网同事方便看自己原型,只需先生成html,再设置原型文件夹共享,然后查下自己ip,发工程链接就行了 (别人浏览器须安装Axure插件,且看不到音视频文件)

file://192.168.1.35/AxureFiles/sgdTablet1/start.html#p=start_1

7、遇到无线网卡等驱动突然出错时,试下在设备管理器中删除该硬件,然后点击顶栏的扫描硬件变动情况,就会重新安装了,一般能修复。 实在不行用驱动精灵等重装驱动。

8、axure 图像热点,动态面板,内部框架,中继器 都要学啊 最重要也是最难的四个部件。手机外壳,里面加入 “内部框架” 链接到显示界面,那么就都有手机外框了

9、根据HTTP标准,HTTP请求可以使用多种请求方法。
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

10、linux下您没有查看××的内容所需的权限

ctrl+alt+T进入终端, su切到root用户, 输入 chmod 777 /fileName 就能获得权限了

11、SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定。
SSH 为建立在应用层和传输层基础上的安全协议。

12、双显示器换位置
电脑桌面空白处点击右键,选择分辨率,识别一下,比如你上面这张图是左2右1,你可以用鼠标点住左(2)往右边啦!右(1)就会跑到前面去了,点击应用就可以了
(即1 2可以直接鼠标拖动来改变前后顺序)

13、远程局域网电脑的方法

  • 先在需要远程的电脑上打开 远程功能
  • 在本人电脑的运行输入mstsc 输入需远程电脑的ip 用户名(一般是administrator) 密码(开机密码)

14、android:screenOrientation=”landscape”是限制此页面横屏显示,
android:screenOrientation=”portrait”是限制此页面数竖屏显示。

15、APK是AndroidPackage的缩写,即Android安装包(apk)

16、USB-OTG线 接鼠标操作手机

17、@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
1、可以当注释用,方便阅读;
2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。

举例:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。
@Override
public void onCreate(Bundle savedInstanceState)

{…….}
这种写法是正确的,如果你写成:

@Override
public void oncreate(Bundle savedInstanceState)
{…….}
编译器会报如下错误:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以确保你正确重写onCreate方法(因为oncreate应该为onCreate)。而如果你不加@Override,则编译器将不会检测出错误,而是会认为你为子类定义了一个新方法:oncreate

18、android的xml文件的开头处一般会有
xmlns:android=”http://schemas.android.com/apk/res/android”
其中xmlns是xml name space的意思。
android:id中的android就是在这定义的。可以自己修改,如
xmlns:a=”http://schemas.android.com/apk/res/android”
然后你就可以放心大胆地写a:id=”@+id/ha”了。

19、

  • 设计模式一个主要功能就是为了应对需求变更以及功能拓展。在代码上的体现就是做到高内聚低耦合
  • API(Application Programming
    Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
  • API 接口属于一种操作系统或程序接口,GUI接口属于一种图形操作系统。两者都属于直接用户接口。有时公司会将 API
    作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。

Application(应用程序层) Application Framework(应用程序框架层) Libraries(库) + Android Runtime(Android运行时)
Dalvik: Android特有的虚拟机,和JVM不同,Dalvik虚拟机非常适合在移动终端上使用!
AVD: (android virtual machine):安卓虚拟设备,就是安卓的模拟器
ADT: (android development tools)安卓开发工具
SDK:(software development kit)软件开发工具包,就是安卓系统,平台架构等的工具集合,如adb.exe
DDMS:(dalvik debug monitor service)安卓调试工具
adb:安卓调试桥,在sdk的platform-tools目录下,功能很多,命令行必备
DX工具:将.class转换成.dex文件
AAPT:(android asset packing tool),安卓资源打包工具
R.java文件:由aapt工具根据App中的资源文件自动生成,可以理解为资源字典
AndroidManifest.xml:app包名 + 组件声明 + 程序兼容的最低版本 + 所需权限等程序的配置文件
src目录:包含App所需的全部程序代码文件,我们大多数时候都是在这里编写我们的Java代码的
gen目录:只关注R.java文件,它是由ADT自动产生的,里面定义了一个R类,可以看作一个id(资源编号)的字典,包含了用户界面,图形,字符串等资源的id,而我们平时使用资源也是通过R文件来调用的,同时编译器也会看这个资源列表,没有用到的资源不会被编译进去,可以为App节省空间
assets目录:存放资源,而且不会再R.java文件下生成资源id,需要使用AssetsManager类进行访问
libs目录:存放一些jar包,比如v4,v7的兼容包,又或者是第三方的一些包
res资源目录:存放资源的,drawable:存放图片资源;layout:存放界面的布局文件,都是XML文件; values:包含使用XML格式的参数的描述文件,如string.xml字符串,color.xml颜色,style.xml风格样式等
AndroidManifest.xml配置文件:系统的控制文件,用于告诉Android系统App所包含的一些基本信息,比如组件,资源,以及需要的权限,以及兼容的最低版本的SDK等

20、可以去搜一下DNS解析,了解相关知识
简单来说,当你访问一个网站时,网络上是只能识别IP地址的(网络地址),为了记忆,创造了域名(名字),你记住名字,问地址薄它在哪里,地址薄告诉你地址,你就能访问了。自家的地址薄就是hosts文件,如果自家没有,就去公众的地址薄DNS服务器问。由于地址需要更新,所以一般人不会用自家地址薄,而是信任公众的
如果有人把google在DNS里的地址薄删了,你就会由于获得不到目标地址而访问不了,这个时候你可以修改本地hosts,那么当你访问的时候,你不会问公众的被阉过的DNS服务器,而是先问自家的地址薄hosts,就可以访问了,前提是你获得的hosts关系是正确的。当然,有的时候直接访问IP也是可以的,
但是如果有人把去到目标IP的路由也给干掉了,那么你就没有办法了,只有通过VPN

hosts的对应关系还是很明了的,只添加你认识的需要的就行了
风险是你拿到的hosts关系可能是假的,如果你完全不看hosts内容,盲目添加了一个把http://qq.com指向私人的地址,那你有可能会被钓鱼
假设是真的,因为域名解析会变,所以如果你忘了更新,那么未来有几率会出问题,因为你本职不负责维护它
只逐行添加自己认识的信任的,其他就没什么风险,跟病毒没什么关系

GMS全称为Google Mobile Service,即谷歌移动服务。GMS是Google开发并推动Android的动力,也是Android系统的灵魂所在。

21、git可以用来管理任何文档文件

22、//屏蔽掉Back键
public boolean onKeyDown(int keyCode ,KeyEvent event){

if(event.getKeyCode() == KeyEvent.KEYCODE_BACK)
return true ;
else
return super.onKeyDown(keyCode, event);

}

23、程序员应有的责任
  面对科技可能被用来作恶的现实与未来,IT 专业人士不能再用“科技中立论”为借口回避社会责任问题。科技可以没有价值判断,但使用科技的人有。如果做搜索引擎的人在自己家人生病时不用自己做的搜索引擎寻医问药,如果做视频网站的人不会让自己的女儿看自己做的视频网站上的内容,如果做社交网络的人劝告自己的父母不要相信自己做的社交网络上传播的信息,那就说明这些人知道自己是在作恶。IT 专业人士有责任用“是否愿意让自己家人使用”这个标准来要求自己的工作,对使用科技可能造成的后果充满警惕,这样才有可能避免技术给我们带来一个黑暗的未来。

24、物料清单(Bill of Material,BOM)

25、Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。

26、Can’t bind to local 8601 for debugger
原因是androidstudio和eclipse一起开了,被eclipse占用,或者是其他ide工具占用了(一般关闭eclipse就好了)
netstat -ano 查看端口情况,然后ctrl+f搜索8601,查看该端口的PID,然后任务管理器中查看该PID对应的程序。需要在任务管理器中设置 才能查看PID

27、com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘C:\Program Files\Java\jdk1.8.0_40\bin\java.exe” finished with non-zero exit value 2
去掉重复的jar包, 如我是去掉了libs目录下的support-v4包

28、你要么认命放弃,要么继续投入工作,把它们都解决了。

29、fragment跳转
Intent intent = new Intent(getActivity(), test.class);
startActivity(intent);

30、像素px=dp*(dpi/160)
如4.5寸 1280*720的手机,dpi是320,则 px=dp*2 , 720px=360dp
而5.5寸1920*1080的手机,dpi 是400,则px=dp*2.5 , 1080px=432dp

31、如何按自己想要的顺序拷贝音乐等到U盘

  • 首先选择最后一个需要播放或者存储的音乐
  • 然后找到第一个需要播放或者存储的音乐,找到后,先按下shift键,然后选择第一个(会出现全选的状态)
  • 然后复制粘贴到u盘就好了

32、Android hierarchyviewer不能使用的解决方法,试下在任务管理器中,结束adb.exe进程,然后新建adb.exe进程即可

33、

  • RuntimeException,也就是运行时异常,表示你的代码本身存在BUG,比如你提到的ArrayIndexOutOfBoundsException,数组下标越界,这个属于代码有问题,数组定义的长度不够实际使用,不处理肯定会报错,如果你操作某个模块发现能正常运行,那只是因为代码还没跑到这个错误的地方而已。。控制台一旦报RuntimeException,就必须要处理。。没有例外的。而且,处理RuntimeException,不是try-catch能解决的。。try-catch在这里使用毫无意义。
  • 不是RuntimeException,就是编译时异常,异常只有这两种了。比如你在处理文件流时的I/O问题,就属于编译时异常。这个时候用thr{}catch
    来捕获或者 throws即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值