Android 4.4 Kitkat

From:Developer Android站在开发这角度,消费者角度请看for consumer

  • 可供512M内存手机使用
  • Host Card Emulation(HCE),NFC相关
  • 打印

    • 打印机厂商可以用API打造自己的打印程序,用户可以在任何地方操作自己的打印机(Android@Home时代的到来啊~~)
    • 转化成PDF打印
    • 4.4预装Google Cloud Print,预装APP,如Chrome,Drive,Gallery,QuickOffice可以使用云端打印
  • Storage access framework 用图片比较容易说明问题
saf2 saf1
  • 低能耗感应器
    • hardware sensor batching,你的App在屏幕关闭或者系统休眠时依然能够使用感应器 目前只有Nexus 5有效,Android正和其他芯片厂商合作,争取将这个功能带给更多的设备
    • Step Detector and Step Counter ,步数检测与步数计数新API,同样目前只适用于Nexus 5
  • SMS provider , 这个不用解释,新短信API,以前没有API能够write入短信的provider,现在可以了.
  • 全屏模式 Full-screen Immersive mode , 隐藏状态栏(status bar),导航栏(navigation bar),即使有屏幕交互情况也不调出状态栏和导航栏,之前版本Android也是可以全屏的,但是只有点击就会显示状态栏和导航栏
    • 新手势,从屏幕上边缘滑下,或者下边缘向上滑可调出系统UI(状态栏和导航栏)
  • Transitions framework for animating scenes ,高质量的动画场景,TransitionManager
  • 半透明系统UI(translucent system UI styling),这个不用解释
  • 通知栏增强,能够显示文本,图标,图片,进度,计时等等
  • Chromium WebView
  • 屏幕录像(Screen recording)
    • 使用SurfaceView.setSecure()阻止录像,保证内容安全性
    • 通过Android SDK中adb tool使用adb shell screenrecord录像功能,或者在Android Studio DDMS面板使用
  • Resolution switching through adaptive playback
  • Common Encryption for DASH
  • HTTP Live Streaming
  • Audio Tunneling to DSP , Nexus 5 offers a total off-network audio playback time of up to 60 hours, an increase of over 50% over non-tunneled audio.这句话不用翻译吧,也就是离线关闭屏幕听歌可以将续航能力提高一倍
  • Audio monitoring
  • Loudness enhancer
  • Audio timestamps for improved AV sync
  • Wi-Fi CERTIFIED Miracast™
  • RenderScript Compute
    • GPU acceleration
    • RenderScript in Android NDK
  • Graphics
    • GLES2.0 SurfaceFinger
    • New Hardware Composer support for virtual displays
  • New Types of Connectivity
    • New Bluetooth profiles HOGP, MAP, and AVRCP
    • IR Blasters
    • Wi-Fi TDLS support
  • Accessibility
    • System-wide settings for closed captioning 使用VideoView的App可以使用一个新的API将字幕传送给视频
  • Support for international Users
    • Drawable mirroring for RTL locales 从右先左显示

kitkat


2013-11-11 Android , Kitkat , Google

Visual Studio文件扩展名作用

.ncb—- 无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件。build后会自动生成.

.dsw—- 这种类型的文件在VC中是级别最高的,称为Workspace文件

.dsp—- 在VC中,应用程序是以Project的形式存在的,Project文件的扩展名为.dsp,在Workspace文件中可以包含多个Project,由Workspace文件对它们进行统一的协调和管理,每个工程都对应一个dsp文件

.opt—- 与dsw类型的Workspace文件像配合的一个重要的文件类型是以opt为扩展名的文件,这个文件中包含的是Workspace文件中要用到本地计算机的有关配置信息,所以这个文件不能在不同的计算机上共享。当我们打开一个Workspace文件时,如果系统找不到需要的opt类型文件,就会自动的创建一个与之配合的包含本地计算机信息的opt文件。

.clw—- 以clw为扩展名的文件是用来存放应用程序中用到的类和资源的信息,这些信息是VC中的ClassWizard工具管理和使用类的信息来源

readme.txt—- 这个文件每个应用程序都有一个,这个文件中列出了应用程序中用到的所有文件的信息,打开并查看其中的内容就可以对应用程序的文件结构有一个基本的知识

.h—– 这种文件为头文件,包含的主要是类的定义

.cpp—- 这种文件为实现文件,该种文件包含的主要是类成员函数的实现代码。一般来说,h为扩展名的文件和cpp为扩展名的文件是一一对应配合使用的

以下为详细列表:

.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。

.BMP:位图资源文件。

.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。

.C:用C语言编写的源代码文件。

.CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。

.CNT:用来定义帮助文件中“Contents”的结构。

.CPP或.CXX:用C++语言编写的源代码文件。

.CUR:光标资源文件。

.DEF:模块定义文件,供生成动态链接库时使用。

.DLG:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。

.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。

.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。

.EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。

.H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。 .HLP:Windows帮助文件。

.HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。

.HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。

.HPG,生成帮助的文件的工程。

.ICO:图标资源文件。

.ILK:连接过程中生成的一种中间文件,只供LINK工具使用。

.INI:配置文件。

.LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。

.LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。

.MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程,VC6把MAK文件转换成DSP文件来处理。

.MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。执行文件的映像信息记录文件。

.MDP:旧版本的项目文件,相当于.dsp

.NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。

.OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。

.ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。

.OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。

.OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。

.PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。

.PCH:预编译头文件,比较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。

.PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。

.PLG:编译信息文件,编译时的error和warning信息文件。

.RC:资源定义文件。

.RC2:资源定义文件,供一些特殊情况下使用。

.REG:注册表信息文件。

.RES:二进制资源文件,资源编译器编译资源定义文件后即生成RES文件。

.RTF:Rich Text Format(丰富文本格式)文档,可由Word或写字板来创建,常被用来生成Help文件。

.SBR:VC编译器为每个OBJ文件生成的原始浏览信息文件,浏览信息维护工具(BSCMAKE)将利用SBR文件来生成BSC文件。

.TLB:OLE库文件,其中存放了OLE自动化对象的数据类型、模块和接口定义,自动化服务器通过TLB文件就能了解自动化对象的使用方法。

.WAV:声音资源文件.


2013-11-09 VS , Microsoft , Knowledge

Markdown online Editor

之前不久我接触过Markdown,还写了一篇博客介绍MarkDown ,同时也找到了不少在线的Markdown编辑器.不过最近由赛恩推荐的Stackedit在线编辑器确实好用,而我之前是一直使用scribefire Chrome插件来发布Blogger文章,偶尔也使用Blogger后台,而最近Chrome下Blogger后台完全上不去,发生”There was an error while fetching stats. Please reload page.”错误,而scribefire最近在我启用二步验证之后也失效,幸而找到StackEdit这个现在编辑工具.用过一段时间才发现是如此的好用.下面就讲讲这款在线编辑器.

##网址 https://stackedit.io

##什么是Stack Edit Stack Edit 是爱尔兰人 Benoit Schweblin 创立的在线 Markdown 应用,支持发布内容到 Google Blogger,具备离线撰写和编辑功能。

##StackEdit 可以:

  • 管理多个 MarkDown 文档在线或脱机
  • 通过模板导出 MarkDown 或 HTML 格式文件
  • 云同步 MarkDown 文档
  • 支持 Google Drive, Dropbox 和本地硬盘驱动器
  • Post MarkDown 文档到 Blogger 、Blogspot、WordPress和Tumblr
  • 发布 MarkDown 文档在GitHub,GIST,Google Drive,Dropbox或任何SSH服务器
  • 分享一个及时渲染的 MarkDown 文档链接
  • 文档信息统计显示
  • 转换HTML到 MarkDown

##StackEdit支持:

  • 实时编辑、HTML预览并自动滚动定位到编辑处
  • Markdown Extra 支持 Prettify/Highlight.js 的语法高亮
  • LaTeX 数学表达式使用MathJax
  • 所见即所得的控制按钮
  • 可配置的布局
  • 支持多个主题
  • A la carte extensions
  • 离线编辑
  • Google Drive和Dropbox在线同步
  • 一键发布支持 Blogger,Dropbox,GIST,GitHub,Google Drive,SSH server,Tumblr,WordPress

##同类型在线编辑器 在介绍MarkDown这篇文章中提到的:

  • http://mahua.jser.me/
  • http://dillinger.io/
  • http://jianshu.io/
  • https://draftin.com/

但是这些都没有这个StackEdit功能强大.

##几个小技巧

  • 更新某一篇Blogger文章,需找到post id,也就是你打开需修改的文章,查看网页源代码,在<div class="post hentry">这个div第一个a标记中name属性的值就是post id.
  • 现在我已经养成了在Dropbox中新建md文件,有stackedit打开,编辑发布的习惯

参考:1 2


2013-11-01 MardDown , Blogger

学习使用MarkDown语言进行写作

##MarkDown语言是什么 MarkDown语言发明的初衷就是让互联网发布内容易读易编写,它用一种简单的语法将文字内容组织,转变成HTML语言发布在互联网上 官网

使用MarkDown这种语言的契机是想要给极客公园投稿,在回复的邮件中他们提到了这种语言。在简单了解之后简单的看了下它的语法。在他们的回复邮件中他们还给出了一个文章的模板—-可能吧。大家应该还记得可能吧每篇文章的排版模式吧!想当初禅叔应该就是用这种方式去写作的吧。使用MarkDown 写作让你全心全意的专注在写作的过程中,不必关注格式,排版,这就是这门语言发明的初衷。其他具体的内容可以参考:维基百科和我给出来的其他链接,上面都有非常详细的介绍。

##意外的收获 在查询MarkDown内容的时候,我还意外的知道了“简书”这样的一个网站。网站外观制作精美,通过网站的关于知道网站还在内测中,这个网站专注于写作,所以他的编辑器就是支持MarkDown的。在现在这样一个浮躁的社会没有多少人愿意静下来读一篇很长的文章,当然也少有人愿意写一篇很长的文章,不过我庆幸还有那么一群人能够做出这样的产品,还能有许多人在这个平台上写作,或许我们的社会需要那样的一批人才能更加丰富多彩。

##收集到的一些网站 小众软件 MarkDown工具

##在线编辑器

##MarkDown语法

  • http://markdown.tw/
  • http://wowubuntu.com/markdown/
  • http://jianshu.io/p/q81RER

2013-11-01 MarkDown

modify build prop to get Ultra Strike

RE管理器修改/system/build.prop 如下图所示 By Tony Zhao 保存,重启,清空ingress数据

1

2

3


2013-10-31 Ingress

add auto complete

###add auto complete

Preference->Java->Editor->Content Assist->Auto activation triggers for java . Then change “.” to “.abcdefghijklmnopqrstuvwxyz”


2013-10-31 Ingress

Movie CSE for douban

脚本地址:http://userscripts.org/scripts/show/175005

Find useful movie download link from Google Custom Search Engine 通过Google自定义搜索引擎为豆瓣电影添加下载资源链接 参考豆瓣电影下载插件 by ratwu

将Google Custom Search Engine中找到的资源链接在豆瓣电影页面显示 Pic Google CSE地址: https://www.google.com/cse/home?cx=013193653470345952139:rmavzl75vbq 代码参考豆瓣电影下载插件: http://userscripts.org/scripts/show/129534


2013-10-28 CSE , 豆瓣 , Userscript

JDK 和 Tomcat 配置

这些天重装系统,好多东西都要重来,装系统倒是不麻烦,麻烦的是好多编程工具需要配置环境变量.这里就当作是备忘吧.以防止以后还需要.

JDK是什么

Java Development Kit(JDK)是Sun公司针对Java开发人员发布的免费软件开发工具包(SDK,Software development kit). 普通用户并不需要安装JDK来运行Java程序,而只需要安装JRE(Java Runtime Environment).而程序开发者必须安装JDK来编译、调试程序。—-from Wikipedia

JDK下载地址

  • Google搜索JDK
  • 或者点击http://www.oracle.com/technetwork/java/javase/downloads/index.html 链接可能失效

JDK环境变量配置的步骤如下:

  1. 我的电脑–>属性–>高级–>环境变量.
  2. 配置用户变量:
    • a. 新建 JAVA_HOME C:\Program Files\Java\jdk (JDK的安装路径)
    • b. 新建 PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
    • c. 新建 CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 或者配置系统变量
    • a. 新建 JAVA_HOME
    • b. 修改 PATH , 在原有增加,以分号隔开(注意不要修改之前环境变量,只能增加)
    • c. 新建 CLASSPATH
  3. 测试环境变量配置是否成功: 开始–>运行–>CMD 键盘敲入: JAVAC JAVA 出现相应的命令,而不是出错信息,即表示配置成功!

环境变量配置的理解:

  1. PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
  2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
  3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

配置Tomcat之前先配置JDK

什么是Tomcat

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全局管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。

Wikipedia

Tomcat下载地址

  • Google搜索Tomcat
  • 或者http://tomcat.apache.org/

配置Tomcat环境变量

  1. 新建变量名:CATALINA_BASE,变量值:D:\tomcat (Tomcat目录)
  2. 新建变量名:CATALINA_HOME,变量值:D:\tomcat
  3. 打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin

启动Tomcat服务

方法两种:

  1. 方法一:在CMD命令下输入命令:startup,出现如下对话框,表明服务启动成功。
  2. 方法二:右键点击桌面上的“我的电脑”->“管理”->“服务和应用程序”->“服务”,找到“Apache Tomcat”服务,右键点击该服务,选择“属性”,将“启动类型”由“手动”改成“自动”。(貌似只有安装版Tomcat才有,如果是解压直接使用的,在bin目录下有startup.bat,运行即可)

测试Tomcat

打开浏览器,在地址栏中输入http://localhost:8080回车,如果看到Tomcat自带的一个JSP页面,说明你的JDK和Tomcat已搭建成功。


2013-10-09 Java , JDK , Tomcat , Knowledge

Gelaxy Nexus Verizon折腾

这两天入手一电信版Galaxy Nexus(i515,Galaxy Nexus Verizon),买的时候就是叫商家刷的CM的系统,回来一看还算满意,CM10.2 8月份的版本,Android 4.3很新,唯一让我不爽的就是3G有问题,一方面上不去ingress,一方面在开启3G情况同时开启WIFI,关闭WIFI之后3G就再也连接不上去了.于是我根据商家给的ROM,找论坛,Google,折腾一下午才算有点眉目.

商家给的刷机包名称(cm-10.2-20130803.1043-SKANK-toro.zip),这一看就不是原生的CM系统,肯定针对Verizon版做过一定修改.于是我找到了论坛上这则帖子Android ROM 完美3g cm10.2 非官方版4.3 8月6号更新

根据这个帖子,我继续找到了修改这个ROM的作者的官网 , 我自己下载了最新版的刷入了,可我发现3G出问题了,怎么都连接不上。

ROM作者在XDA上的Thread http://forum.xda-developers.com/showthread.php?t=1771032

不过我自己整的这么个下午还不如Google+ 郭极和郑科 两位给我的信息有用.在这则帖子

郑科留言中提到的 最新基带 http://forum.xda-developers.com/showpost.php?p=30942870&postcount=400 而商家给我刷的是toroplus_for_toro_cdma_radio_FG01.zip

郭极 Reply

如果你以后要写号可能会遇到类似问题,参考帖子 http://www.diypda.com/thread-815189-1-1.html http://www.diypda.com/thread-802263-1-1.html

刷下面3个东东解决3G等问题

  • 最新3G补丁 http://pan.baidu.com/share/link?shareid=350920&uk=3054546283
  • GA02基带 http://pan.baidu.com/share/link?shareid=350904&uk=3054546283
  • 还有推荐刷这个内核,省电 稳定 http://pan.baidu.com/share/link?shareid=349529&uk=3054546283

先刷完AOKP ROM 然后GAPPS 然后刷内核,再然后GA02基带,最后3G补丁

另外一个问题就是Play Store上不去的问题

[教程] (12月17号重新编辑)全民3G,首发三星I515 完美3G教程,下载地址已更新 http://www.diypda.com/thread-812093-1-1.html

GNCDMA写号教程重制版.pdf

参考:


2013-09-22 Nexus

域名解析DNS

##DNS服务器 DNS叫做域名解析服务,DNS服务器在现在的网络环境中有着非常重要的作用,DNS服务器扮演的角色就是将你在地址栏中输入的域名(比如,www.google.com)解析成IP地址,然后通过IP地址去访问该网站,所以解析域名的快慢直接影响到你访问网站的速度.所以Google在2009年推出了Google的DNS解析服务

##DNS劫持 DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现的。

DNS劫持症状:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。

再说简单点,当你输入google.com这个网址的时候,你看到的网站却是百度的首页。

中国特殊的网络环境,有的时候通过修改DNS服务器就能让你上网的速度更快,能上的网站更多.

##如何设置DNS

###Windows下设置DNS

言归正传,在Windows下设置DNS,只要在”网络与共享中心”-本地连接-属性-Internet协议版本里面设置DNS服务器就行了. IPv6 DNS服务器地址:

2001:4860:4860::8888 2001:4860:4860::8844

IPv4 DNS服务器地址:

8.8.8.8 8.8.4.4

如果身在一个IPv6的环境使用IPv6的DNS服务还是挺快的.

###Linux下设置DNS Linux下配置文件地址:

/etc/resolv.cong

文件中使用如下配置:

nameserver 8.8.8.8
nameserver 8.8.4.4

IPV6 同理

##其他 我在其他网站上面还看到有未被透露的Google DNS服务器地址:4.3.2.1 ,很可惜我做Ping测试和nslookup测试的时候,这个地址已经不行了.

参考: 1 2 参考


2013-09-21 Google , DNS , Web

Google+

最近文章

  • 使用 pyenv 管理 Python 版本 记录一下使用过程,留备以后使用。
  • 电影网站评分机制 年前的时候喉舌媒体批评豆瓣,猫眼等评分太低影响了票房,而导致16年的年度票房目标没有达到,广电很生气,后果很严重。可是豆瓣存在了那么多年,那么多的电影,在院线上映的,还是不上映的,从来也没有听说过 IMDB 或者 烂番茄的评分会影响到总体的票房。虽然得分的多少或多或少的会对票房有所影响,可这难道是豆瓣,或者 IMDB 或 烂番茄这样的影评网站应该承担的责任吗? 制片公司,发行商,甚至细化到导演,演员,剧本,在国内甚至可以拉上审查来负责,动不动删掉个14分钟,谁还愿意花了冤枉钱去大荧幕看一个不完整的片子呢?真正的影迷 大概会愿意花个机票钱去看一个完整版吧。
  • Openwrt 平均负载 Openwrt 在 Luci 后台很显眼的位置有三个不断刷新的数字,其实这个数字是“平均负载”(Load Average)的意思,这是 Linux 操作系统衡量系统负载和稳定性的重要参数。
  • Openwrt 设置 在上一篇中讲了如何刷Openwrt,这一篇主要讲一些 Openwrt 的东西,以及配置相关的内容。我有一个主路由器,设置分配的局域网地址为 192.168.1.x,给内网中分配的地址也是 192.168.1.x 开头。
  • TP LINK MR12U 刷 openwrt 今天翻箱倒柜竟然找出了我的 TP-LINK MR12U,很早之前因为3G上网卡而买的便携式路由,突然脑袋一热,干嘛不试试刷个 Openwrt 呢。记得当时是没有支持的,但是一搜竟然发现了 Openwrt 有官方支持了。于是开始动手。