android的逆袭--Material Design欣赏
即将正式发布的android L系统,将带着全新的Material Design设计风格呈现给我们,让我们先睹为快吧。
INSTAGRAM with MaterialDesign:
http://www.tudou.com/programs/view/7A-gd8NkIbM/
官方的:
即将正式发布的android L系统,将带着全新的Material Design设计风格呈现给我们,让我们先睹为快吧。
INSTAGRAM with MaterialDesign:
http://www.tudou.com/programs/view/7A-gd8NkIbM/
官方的:
java集合就是一个容器。
l 为了保存不确定的数据,或者对象,以及保存具有映射关系的数据。
l 所有的集合类都位于java.util包下。
面向对象语言对事物的体现都是以对象的形式存在,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。
集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。
首先我们要知道集合与数组是不同:
资源控件命名
仅供参考,只要形成一个统一,见量知其意就可
程序员的水平,看代码规范最直接了。也就是工资的高低和你的代码质量成正比的,养成良好习惯吧!!
**(一) **Layout命名
1.contentview命名:activity_功能模块.xml >
例如:activity_main.xml、activity_more.xml >
2.Dialog命名:dialog_描述.xml >
例如:dlg_hint.xml >
2.PopupWindow命名:ppw_描述.xml >
例如:ppw _info.xml >
3. 列表项命名listitem_描述.xml >
例如:listitem_city.xml >
4.包含项:include_模块.xml >
例如:include_head.xml、include_bottom.xml **(二) **图片命名 1. 静态图片前缀_模块、前缀_模块_描述 >
例如:bg_main.png、ic_main_search.png >
2. 动态图片前缀_模块_描述_状态、前缀_描述_状态 >
例如:btn_film_buy_n.png、btn_film_buy_p.png、btn_back_n.png >
如果有多种形态如按钮等除外如btn_film_buy.xml(selector) **(三) **id命名(待调整??) Xml中id的命名,建议直接根据意义命名,不必使用以上复杂的定位,因为findViewById只在某指定layout中find。或者value中建立id文件统一管理(兼容性不好) >
android:id="@id/tv_name"android:id="@id/listv"、android:id="@id/tv_head_title" **(四) **字符串命名 最好不要跟title、dialog、button等东西关系起来,直接用相同英文含义就可以了,如果下: >
<string name=“ok”>确定</string> >
<string name=" welcome_to_use">欢迎使用</string> >
** ** >
再举一些不好的例子,如下**<string name=“menu_ok “>确定</string>** **(五) **控件命名 控件缩写_描述 >
第一级:神人,天资过人而又是技术狂热者同时还拥有过人的商业头脑,高瞻远瞩,技术过人,大器也。如丁磊,求伯君。 第二级:高人,有天赋,技术过人但没有过人的商业头脑,通常此类人不是顶尖黑客就是技术总监之流。 第三级:牛人,技术精湛,熟悉行业知识,敢于创新,有自己的公司和软件产品。 第四级:工头,技术精湛,有领导团队的能力,此类人大公司项目经理居多。 第五级:技术工人,技术精湛,熟悉行业知识但领导能力欠加,此类人大多为系分人员或资深程序员,基本上桀骜不逊,自视清高,不愿于一般技术人员为伍,在论坛上基本以高手面目出现。 第六级:熟练工人,技术有广度无深度,喜欢钻研但浅尝辄止。此类人大多为老程序员,其中一部分喜欢利用工具去查找网上有漏洞的服务器,干点坏事以获取成绩感。如果心情好,在论坛上他们会回答菜鸟的大部分问题。此级别为软件业苦力的重要组成部分。 第七级:工人,某些技术较熟练但缺乏深度和广度,此类人大多为程序员级别,经常在论坛上提问偶尔也回答菜鸟的问题。为软件产业苦力的主要组成部分。 第八级:菜鸟,入门时间不长,在论坛上会反复提问很初级的问题,有一种唐僧的精神。虽然招人烦但基本很可爱。只要认真钻研,一两年后就能升级到上一层。 第九级:大忽悠,利用中国教育的弊病,顶着一顶高学历的帽子,在小公司里混个软件部经理,设计不行,代码不行,只会胡乱支配下属,拍领导马屁,在领导面前胡吹海侃,把自己打扮成技术高手的模样。把勾心斗角的办公室文化引入技术部门,实在龌龊! 第十级:驴或傻X,会写SELECT语句就说自己精通ORALCE,连寄存器有几种都不知道就说自己懂汇编,建议全部送到日本当IT产业工人,挣了日本人的钱还严重打击日本的软件业!
1. 什么是Activity?
四大组件之一,一般的,一个用户交互界面对应一个activity setContentView() ,// 要显示的布局, activity 是Context的子类,同时实现了window.callback和keyevent.callback, 可以处理与窗体用户交互的事件.
我开发常用的的有ListActivity , PreferenceActivity ,TabAcitivty等…
如果界面有共同的特点或者功能的时候,还会自己定义一个BaseActivity. ps:进度对话框的显示与销毁
2. 请描述一下Activity 生命周期。
生命周期描述的是一个类 从创建(new出来)到死亡(垃圾回收)的过程中会执行的方法.. 在这个过程中 会针对不同的生命阶段会调用不同的方法
Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:oncreate ondestroy onstop onstart onresume onpause 其实这些方法都是两两对应的,onCreate创建与onDestroy销毁; onStart可见与onStop不可见;onResume可编辑(即焦点)与onPause; 对话框的弹出, Activity.this 对话框是activity的一部分. 这6个方法是相对应的,那么就只剩下一个onRestart方法了,这个方法在什么时候调用呢? 答案就是:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;
如果被onDestroy了,则是调用onCreate方法。
最后讲自己项目中的经验,比如说豆瓣客户端每次进入某个界面的时候都要看到最新的数据,这个刷新列表的操作 就放在onStart()的方法里面. fillData() 这样保证每次用户看到的数据都是最新的.
多媒体播放, 播放来电话. onStop() 视频, 视频声音设置为0 , 记录视频播放的位置 mediaplayer.pause(); onStart() 根据保存的状态恢复现场. mediaplayer.start();
在读文档的时候 还发现 activity还有两个方法 onPostResume() 和 OnPostCreate()这两个生命周期的方法,不过开发的时候没有用到过.
3. 两个Activity之间跳转时必然会执行的是哪几个方法。
一般情况比如说有两个activity,分别叫A,B ,当在A里面激活B组件的时候, A 会调用 onPause()方法,然后B 调用onCreate() ,onStart(), OnResume() ,
这个时候B覆盖了窗体, A会调用onStop()方法. 如果B呢 是个透明的,或者是对话框的样式, 就不会调用onStop()方法