Android 总结

18 篇文章 0 订阅

android

android框架:

 

android开发四大重要组件:  activity 、intent、service、Content Provider

 

 

文件目录分析

       src文件: 放置的是编写的源程序文件。

 

       gen文件: 由Eclipse 的ADT插件自动生成的文件, 里面有一个 R.java文件,保存开发所需各种资源引用的ID 号,通过ID 即可访问资源。

 

       androidxx: 有一个android.jar 的版本文件,即是引用的android类库文件。 

assets文件:  用来存放原始格式的文件,如音频文件等二进制格式文件。此目录中的资源不能被R.java 文件引用。

 

res文件: 放置android程序的所有的图像、颜色、风格、主题界面布局和字符串等资源。在res 文件中放置的资源都在 R.java中自动生成对应的资源ID 号,通过对应的ID 号,即可访问到对应的资源。

 

res中的子目录: drawable-Xdpi 对应放置的是不同分辨率的png 图片,应用于程序的图标;

layout 子目录:放置的是与布局配置相关的XML文件,每个Activity 组件都有对应布局文件;

values子目录:里面有一个 strings.xml文件,保存相应的键值对,同时在 R.java 中生成对应的ID 号。

 

       AndroidManifest.xml文件: 是整个android程序的界面配置文件。

 


 

android组件

       android应用程序由组件组成, 组件是可以被调用的基本功能模块。

 

       Activity组件:是android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件。

 

       Service组件: 一般用于没有用户界面,但需要长时间在后台运行的应用。

 

       BroadcastReceiver组件:是用来接受并响应广播消息的组件。

 

       ContentProvider组件:是android系统提供的一种标准的数据共享机制,应用程序可以通过ContentProvider 访问其他应用程序的私有的数据。 私有数据可以是存储在文件系统中的文件,也可以是SQLite 数据库中的数据。

 

 


Activity 组件

 

       主要作用:Activity是用户和android应用程序 交互 可视化接口。一个Activity中可以有多个控件。可以把Activity看作控件的容器。

 

       Activity 关注的是创建一个或多个给开发者放置UI并交互的窗口

 

       创建方法4个步骤:

       1、一个Activity就是一个类,并且该类要继承 Activity。

       2、需要覆写 onCreate() 方法,( 当Activity第一次运行时,就调用onCreate() 方法。

       3、每一个Activity 都需要在AndroidManifest.xml 中配置。

       4、在Activity中添加必要的控件。

 

       在AndroidManifest.xml中注册Activity

创建一对<Activity></Activity>,指定name和label 属性

 

 

 

       添加控件:注意:View类是android所有控件的父类。在Activity 中添加控件,首先在 layout文件中的main.xml 中添加,同时可以为控件添加ID号:

格式 @+标识符――代表一个内部类,在R.java中自动生成。

              / +标识符――代表该类的某一常量即ID号。

 

Activity组件中获取控件:在引用 R.java 中的ID即可获取控件,使用

获取控件

View

findViewById(int id)

Finds a view that was identified by the id attribute from the XML.

 

为控件设置内容: setText( );

 

控件widgets 小工具

       View类是 widgets类的基类,而widgets 是创建各种用户接口(Button,TextView......)的父类。

       TextViw: 应在布局文件中注册。

       Button:

       EditText:

       RadioGroup: 多个只能选择一个时,用组来嵌套RadioButton,有纵向和横向布局

       RadioButton

       Toast:

       menu: 创建menu不需在xml文件中注册,只需重写下面方法即可:

boolean

onCreateOptionsMenu(Menu menu)

Initialize the contents of the Activity's standard options menu.

       根据传入的 menu,调用menu类的add方法添加按钮。

abstract MenuItem

add(int groupId, int itemId, int order, CharSequence title)

Add a new item to the menu.

 

 

多个Activity组件

       多个Activity组件之间存在跳转关系,即通过触发某一时间从一个Activity跳转到另外一个Activity。

 

 

       一个Activity对象调用startActivity()方法,即可跳转到该参数绑定的另外一个Activity。 Intent对象实现两个对象跳转的绑定方法:

   public Intent setClass (Context packageContext, Class<?> cls)

 

第一个参数为起始Activity, 第二个参数为目的Activity:

Intent intent = new Intent();

           // access data

    intent.putExtra("TestValue", "123");

           // add a listener

    intent.setClass(Activity02.this, OtherActivity.class);

           // contact other activity

    Activity02.this.startActivity(intent);

 

startActivity( Internt intent ) 方法

void

startActivity(Intent intent)

Launch a new activity.

 

 

 

 

Intent 的基本作用:

    Intent是在整个应用程序之间传输数据使用的。 可以理解为一个有关请求的组件。

      一个Intent对象包含了一组信息: Component name、 Action、 Data、 Category、 Extras、 Flags 等。

 

    两个Activity之间的数据传输可以使用Intent对象的Extras属性:

    Extras 存放着一对键值对,通过一系列的

   

Intent

putExtra(String name, double value)

Add extended data to the intent.

 

int

getIntExtra(String name, int defaultValue)

Retrieve extended data from the intent.

 

获取相对应的数据。

 

 

Activity的生命周期:

       android应用程序中的Activity是以栈的形式保存的,多个Activity是以进栈或出栈保存在内存当中。

      

 


       一个完整的Activity的生命周期经历7个周期,同时需要重写 7个方法。

 public class Activity extends ApplicationContext {
     protected void onCreate(Bundle savedInstanceState);

     protected void onStart();
     
     protected void onRestart();

     protected void onResume();

     protected void onPause();

     protected void onStop();

     protected void onDestroy();
 }

       onCreate( )方法:当第一次创建Activity时调用该方法,并调用该方法里面的常见的静态方法。这些静态方法一般是用来创建Views类等。(生成

    onStart()方法:当应用程序在屏幕中可视化时即调用该方法。(进栈

       onResume( )方法:当某个Activity位于屏幕的前景,并与用户交互时,调用该方法。(位于栈顶

       启动一个Activity都调用以上三个方法。

 

       onPause( )方法:当别的Activity进栈即启动别的Activity,调用该方法来保存该Activity所用到的数据

       onStop( )方法:当完全启动另一个Activity即前一个Activity处于后台完全不可见时,调用该方法。(若只是部分遮挡,此时不会调用该方法)

       onRestart( )方法:当一个Activity还保存在栈中,并需要重新启动时,即调用该方法。

       onDestroy( )方法:销毁一个Activity时,调用该方法。(出栈

 

 

Task 和 Activity

       一个应用程序有多个Activity,不同的Activity都有自己的生命周期。Task用来管理应用程序的Activity。

       Task是以栈的形式管理Activity的。

      

 

Activity 风格:

       默认为满屏。

       对话框: 设置对话框风格Activity,只需在androidManifeset.xml文件注册的Activity添加风格的主题:

       <activity  android:theme= “@android:style/Theme.Dialog”/>

 

 

Activity布局

       Activity默认使用线性布局。当需要使用不同布局时,需要指定使用的布局文件。

       默认:setContentView(R.layout.main );

 

void

setContentView(int layoutResID)

Set the activity content from a layout resource.

 

       线性布局: LinearLayout有纵向和横向两个方向,并使用权重控制控件各自的大小比例:android:layout_weight

       该权重不仅涉及控件的比例,还涉及控件的内容,内容较多的,所占位置较大

      

       表格布局:TableLayout 表格布局里面有个子标签<TableRow/> 用来指定行,而列由具体的控件决定,一个控件占一列。

 

       相对布局:RelativeLayout 相对布局就是各个控件之间的相对空间的安排。相对布局的属性值由ID和true/false指定。 各自的相对关系由ID号或者 true/ false 指定。


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值