码迷,mamicode.com
首页 > 移动开发 > 详细

泡泡的Android笔记

时间:2015-03-16 22:50:14      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

Android Note

written by Mr.Bubbles

  1. 首先配置JDK ECLISPE就不多言。
  2. eclispe主要是使用XML和Java两种语言,XML处理表现层,就是可以对一个页面进行布局,添加元素,就是以后实现UI和不同UI的表层基础,也就是没有逻辑上的考虑。

    Java则是具体的逻辑设计,因此,每个xml对应一个控制的Java文件。

  3. XML语言就是元素的描述与嵌套,标签标明元素,property语法<element property="(what it should be)">,结束</element>和/>起相同的作用。在编译的时候,当元素编辑完毕,直接键入>会自动得到></element>,非常方便实用,并且很直白便于理解。
  4. 开始从XML语言建立基本的单UI,从线性布局(LinearLayout)相对布局(RelativeLayout)开始熟悉XML。(这两个是ViewGroup的子类,继承ViewGroup而来)
  5. 标签的名字不要写错,编译器不会提示,还记得第一次的SlidingDrawer写成SlidingDawer根本不提示,运行到Device就会直接停止运行。SlidingDrawer是个很酷的抽屉可以用来做滑动菜单,不熟悉的话在Graphical Layout中做吧。
  6. View类的对象用于显示UI元素,ViewGroup类(是View的子类)用于显示嵌套对象,可以包含其他的ViewGroup对象和View对象,而View对象就不行。
  7. 在Android Manifest中添加<activity></activity>标签来进行增加activity操作,每当增加一个页面布局xml和控制文件java都要记得在Manifest当中进行增加activity的操作(注册),

    <intent-filter>

    <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter> 用于设置主Activity

  1. android:layout_height,android:layout_width是布局大小,影响UI元素实际的大小,如果是match_parent和fill_parent相同,填满父容器;wrap_content,包裹住内容,这种设定才能够使其大小和设定的一样。
  2. R.java可以理解为资源字典, DO NOT MODIFY!
  3. XML中分配id的方式为android:id="@+id/name"

    通过调用Activity中的findViewById(R.id.name)方法来在Java控制文件中获取xml定义的组件,Java中使用@id/标示符 来使用。

  4. EditText的getText()方法获取到的是CharSequence类型的变量,要把它转换为String类型才能进行字符串比对,并且使用equals()方法,否则比对的只是引用类型。setText()方法参数是CharSequence类型的变量(其实这个变量是String变量的父类,就暂时把它当做String类型看吧),当参数的类型不是String类型时,利用+""方式将其变为String类型。
  5. OnClickListener可以用来处理多个Button的事件,使用View进行获取然后switch或者if-else if判断即可。
  6. 技术分享屏幕布局和布局管理器其实就是ViewGroup的对象就是那几大子类的对象。
  7. Activity掌握栈,4大状态,7大方法具体见官方文档图,非常清楚!Activity只能交由系统管理,用户不能不能new,Activity具有独立性,不同的App之间的Activity可以相互调用,Activity栈顶元素是用户当前看到的元素,Task是一个任务,可以包含多个操作。
  8. Activity中 onCreate()方法中进行初始化,例如设置绑定UI组件,设置监听器等等,当一个Activity切换到另一个Activity时这个Activity先Pause,等完全被盖住(另一个Activity执行onCreate(),onStart(),onResume()之后)才会执行onStopped()方法。当一个Activity将要被销毁时,要等到另一个Activity执行完onCreate(),onStart(),onResume(),之后才能被销毁;启动一个新的Activity的方式只有两种,startActivity(Intent对象)和startActivityforResult(。。。)。
  9. Intent组件负责组件之间的通信,构造函数有很多,可以直接设置Component,Action等属性,也可以直接传递数据。
  10. 关于传递数据,使用Bundle对象即可,使用putXXX方法用键值对的方式放入数据并且使用Intent.putExtras(Bundle对象)来进行Bundle对象的携带。在目标页面使用Activity的getIntent()方法获取Intent,用Intent的getExtra()方法获取Bundle,利用Bundle的getXXX()方法获取对应的变量。
  11. import导入的类只会导入该类的所有成员和方法,子类和接口是不会被导入的。我们在一个类中调用其他类的方法时,如果不是static方法,需要实例化之后进行调用。
  12. 使用Action进行传递的时候,本质就是在一个Activity或者其他的组件中进行声明具备Action的字符串条件(并且给这个字符串命名),然后再其他的代码块中对其(用我们刚刚取得名字,其实你不取名字也是可以的,取个名字更好懂一点)进行调用,还是利用Intent构造函数,然后利用Intent对象的setAction方法进行构造,参数就是名字,也可以直接利用字符串(就是可以不取名字嘛)。自定义action定义为Activity类的private final String成员,变量命名遵循 包名.action.字符串的方式。有相同的Action的时候会跳出对话框让你进行选择。
  13. Category是对Action进行更加细致地描述,附加category跳转Activity时必须保留一个为 <category android:name="android.intent.category.DEFAULT" ></category> 的默认category。
  14. Data表明你要操作的数据,Type表明数据的类型,Data和Type只需要指定其中一个即可,根据Data会自动分析出Type,Data的类型是Uri类型,利用Uri的static方法parse(String uriString)进行解析,一般由协议主机等组成,就是文件的操作路径。
  15. 菜单包括OptionsMenu,ContextMenu,PopupMenu,菜单的使用需要在Activity中使用回调方法;对于OptionsMenu来说使用onCreateOptionsMenu(Menu menu),内部使用一个MenuInflate对象的inflate()方式用menu文件夹下的xml文件填充刚才的Menu对象,实现Menu内部的逻辑需要使用onOptionsItemMenuSelected(MenuItem menuitem)方法,内部用简单的switch结构就可以做到。在create方法内部使用addSubMenu()方法添加子菜单,这个方法返回一个SubMenu对象,建立一个SubMenu对象接收吧。

    To be continued…

泡泡的Android笔记

标签:

原文地址:http://www.cnblogs.com/bubbles/p/4342982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!