小菜总结笔记。
来源:互联网 发布:artoolkit入门配置js 编辑:程序博客网 时间:2024/04/28 19:04
参考农民伯伯快速入门:http://www.cnblogs.com/over140/archive/2010/09/27/1836567.html
布局:类似于HTML的CSS
1,FrameLayout
帧布局:所有元素重叠放在左上角
2,LinearLayout
线行布局,android:orientation="vertical"垂直放置元素
3,AbsolutionLayout
绝对布局:通过android:layout_x和android:layout_y指定位置
4,RelativeLayout
相对布局:这个内容很多,控制复杂不建议使用
5,TableLayout
表格布局:和TableRow搭配使用
Android四大组件:
Activity,Service,Broadcast Receiver 和 Content Provider
Activity
在android中Activity有四种基本状态:
1、Running
位于屏幕最前端时,此时处于可见状态,和用户可交互的状态。
2、Paused
当Acitivy被另一个透明的或者非全屏的Activity覆盖时的状态叫Paused状态,虽然可见但不可交互。
3、Stop
当Activity被另外一个Activity覆盖、界面不可见时处于Stop状态。
4、Killed
Activity被系统杀死或者跟本没启动时就是Killed状态。
Service
Service对象不能自己启动,需要通过某个Activity、Service或者其他Context对象来启动。启动的方法有两种,Context.startService和Context.bindService()。两种方式的生命周期是不同的,具体如下所示。
Context.startService方式的生命周期:
启动时,startService –> onCreate() –> onStart()
停止时,stopService –> onDestroy()
Context.bindService方式的生命周期:
绑定时,bindService -> onCreate() –> onBind()
解绑定时,unbindService –>onUnbind() –> onDestory()
Broadcast Receiver参考资料:http://android.yaohuiji.com/archives/727
Intent是一个对动作和行为的抽象描述,负责组件之间程序之间进行消息传递。那么Broadcast Receiver组件就提供了一种把Intent作为一个消息广播出去,由所有对其感兴趣的程序对其作出反应的机制。
Content Provider 参考资料:http://android.yaohuiji.com/archives/725
在Android中,应用程序彼此之间相互独立的,它们都运行在自己独立的虚拟机中。Content Provider 提供了程序之间共享数据的方法,一个程序可以使用Content Provider 定义一个URI,提供统一的操作接口,其他程序可以通过此URI访问指定的数据,进行数据的增、删、改、查。
常用代码块
1 在当前Activity中启动另外一个Activity
startActivity(new Intent(this,目标Activity.class));
2 从当前ContentView从查找控件
(Button)findViewById(R.id.btnAbout)
R.id.btnAbout指控件id。
3 获取屏幕宽高
DisplayMetrics dm = new DisplayMetrics();
//获取窗口属性
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenWidth = dm.widthPixels;//320
int screenHeight = dm.heightPixels;//480
4 无标题栏、全屏
//无标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
//全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
注意在setContentView()之前调用,否则无效。
5 注册activity
所有用到的Activity都必须在AndroidManifest.xml中注册,否则会报空指针错误。如:<activity android:name="com.common.TestView"> ,注意是包名+类名。
6 . Menu
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
menu.add(0,MENU_ABOUT,0,R.string).setIcon();
return true;
};
public boolean onOptionsItemSelected(MenuItem item){
super.onOptionsItemSelected(item);
switch(item.getItemId())
{
case
}
return true;
};e
7.Dialog
// 定义对话框对象
Dialog dialog = new AlertDialog.Builder(this)
.setIcon(android.R.drawable.btn_star).setTitle("喜好调查")
.setMessage("你喜欢看爱德华.诺顿Edward Norton的电影吗?")
.setNegativeButton("不喜欢", ocl).setNeutralButton("一般般", ocl)
.setPositiveButton("很喜欢", ocl).create();
//显示对话框
dialog.show();
小技巧
1 使用系统的图标
例如调用系统打电话的图标:
<ImageView android:src="@android:drawable/ic_menu_call"
图标名称和效果(Android1.5和1.6):
http://since2006.com/android/1.5-drawables.php
http://since2006.com/android/1.6-drawables.php
2 让控件透明,如ImageButton
设置android:background="@null"
3 在layout中直接指定onclick方法
不用手动绑定,在layout中设置android:onClick=”methodName”,methodName为对应Activity中的方法,如下格式:public void methodName(View view){} (适应1.6以上版本)
4 进入界面就显示/隐藏软键盘
在AndroidManifest.xml中设置activity的
android:windowSoftInputMode="stateHidden"
5 界面可视化布局工具
系统提供可视化布局并不好用,这里推荐一款,布局完后点生成代码即可:
DroidDraw:http://www.droiddraw.org/
6 在Eclipse中看Android的源码
将源代码拷贝至android-sdk-windows/platforms/android-4/sources下即可。注意源码版本对应android-4文件夹,这里指Android1.6的源码。
7 ctrl+F11 F12 横/竖屏切换
- 小菜总结笔记。
- Python入门小菜笔记
- oo笔记&总结——从菜鸟成长为小菜【前言】
- 【小菜笔记】Interface的多态性
- 2015CCPC题目总结(小菜持续更新)
- HTML5小菜
- 小菜单
- Hello小菜
- 小小菜之Cocos2d-x游戏开发旅程——Lua语法总结
- cocos2d-x 【小菜在学习】锚点与位置个人理解笔记
- 看了伍迷家园的小菜编程成长记系列,感觉要好多需要总结的地方(2)
- 11个家常小菜
- Ajax的一些小菜
- 小菜编程成长记
- 小菜编程成长记
- 一个小菜的心路历程
- android小菜入门详解
- 小菜很纠结
- live555源代码概述
- android判断某个服务是否在运行
- 详解Struts2 Action名称的搜索顺序
- fireBug网络面板数据说明(转)
- rsync 学习笔记
- 小菜总结笔记。
- VS2005 CBRUSH笔刷的使用
- register 类型变量
- Exception in thread "main" java.lang.NoClassDefFoundError: antlr/ANTLRException
- Android实现ListView异步加载图片
- 网站好
- MANIFEST.MF中的格式问题
- S3C6410启动模式介绍
- 高性能ASP.NET站点构建之性能调优综述