小菜总结笔记。

来源:互联网 发布: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.51.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          界面可视化布局工具

         系统提供可视化布局并不好用,这里推荐一款,布局完后点生成代码即可:

         DroidDrawhttp://www.droiddraw.org/

 

   6         Eclipse中看Android的源码

         将源代码拷贝至android-sdk-windows/platforms/android-4/sources下即可。注意源码版本对应android-4文件夹,这里指Android1.6的源码。

  7   ctrl+F11  F12  横/竖屏切换