在学Android,摘自《第一行代码——Android》

布局管理

  通过xml文件进行布局管理。

  android:id="@+id/button_1" 为当前的元素定义一个唯一标识符,@+id用于定义,@id用于引用;android:text 为其上内容;android:layout_width和android_height控制其宽度和高度

setContentView()

  加载布局,传入一个布局文件的id。如setContentView(R.layout.first_layout)

在AndroidManifest文件中注册

  活动的注册声明要放在<application>标签内,通过<activity>标签来对活动进行注册的。使用android:name来指定具体注册哪一个活动,使用android:label指定活动中标题栏的内容。若要让某活动作为程序的主活动,则需加入<action android:name="android.intent.action.MAIN" />和<category android:name="android.intent.category.LAUNCHER" />。

  没有主活动的程序一般作为第三方服务供其他的应用在内部进行调用。

隐藏标题栏

  在setContentView()之前加入requestWindowFeature(Window.FEATURE_NO_TITLE)

按钮的设置

  Button button1 = (Button) findViewById(R.id.button_1);  //通过定义好的R.id.button_1生成Button对象。findViewById()返回View对象

活动中的菜单

  建立./res/menu,在其下设置Android XML File文件。通过<item>标签创建菜单项(android:id给菜单项指定一个唯一标识符,android:title给菜单项指定一个名称)

  通过getMenuInflater().inflate(a,b)给当前活动创建菜单,第一个参数用于指定通过哪一个资源文件创建菜单,第二个参数用于指定我们的菜单项将添加到哪一个Menu对象当中,返回true(public boolean onCreateOptionsMenu(Menu)),表示允许创建的菜单显示出来。

销毁活动

  finish(),效果和按下Back键相同

使用Intent在活动之间穿梭

  Intent的用法分为显式Intent和隐式Intent。

  显式:第一个参数为上下文,第二个参数为目标活动

  Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
  startActivity(intent);

  隐式:指定一系列更为抽象的action(指明当前活动可以响应的action)和category(附加信息)等信息,交由系统去分析这个Intent,并帮我们找出合适的活动去启动。通过在(AndroidManifest中)<activity>标签下配置<intent-filter>的内容,可以指定当前活动能够响应的action和category。只有<action>和<category>中的内容同时能够匹配上Intent中指定的action和category时,这个活动才能响应该Intent。每个Intent中只能指定一个action,但能指定多个category。

  AndroidManifest.xml

  <activity android:name=".SecondActivity" >
  <intent-filter>
  <action android:name="com.example.activitytest.ACTION_START" />
  <category android:name="android.intent.category.DEFAULT />
  </intent-filter>
  </activity>

  FirstActivity.java  

  Intent intent = new Intent("com.example.activitytest.ACTION_START");
  startActivity(intent);

  使用隐式Intent,可以启动其他程序的活动

活动之间传递数据

  向下传递数据:父活动intent.putExtra(,),第一个参数为键,第二个参数为值。

        子活动:Intent intent = getIntent();  //获取到用于启动该活动的Intent

            String str = intent.getStringExtra();  //参数为键

  向上传递数据:父活动startActivityForResult(intent,  )第二个参数为请求码

         子活动: 调用setResult(,)第一个参数用于向上一个活动返回处理结果,一般只使用RESULT_OK和RESULT_CANCELED,第二个参数传递数据

          因此在父活动中要加入onActivityResult()得到返回的数据

          当用back返回时,可以重写onBackPressed(){}

intent.setFlags() http://blog.csdn.net/berber78/article/details/7278408

从一个Activity(a)到另一个Activity(b),且需要第二个Activity返回结果时,要到:

  a中,startActivityForResult(Intent intent, Int requestCode)

  b中,setResult(int resultCode, Intent intent)

  a中,onActivityResult(Int requestCode, Int resultCode, Intent intent)

Android入门的更多相关文章

  1. Android入门(十二)SQLite事务、升级数据库

    原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...

  2. 【转】Xamarin.Android 入门之:Xamarin+vs2015 环境搭建

    Xamarin.Android 入门之:Xamarin+vs2015 环境搭建   一.前言 此篇博客主要写了如何使用搭建xamarin开发的环境,防止我自己万一哪天电脑重装系统了,可以直接看这篇博客 ...

  3. android 入门 006(sqlite增删改查)

    android 入门 006(sqlite增删改查) package cn.rfvip.feb_14_2_sqlite; import android.content.Context; import ...

  4. android 入门 005(登录记住)

    android 入门 005(登录记住) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android ...

  5. Android入门:绑定本地服务

    一.绑定服务介绍   前面文章中讲过一般的通过startService开启的服务,当访问者关闭时,服务仍然存在: 但是如果存在这样一种情况:访问者需要与服务进行通信,则我们需要将访问者与服务进行绑定: ...

  6. Android入门视频推荐

      marschen老师的Android入门视频推荐网址: 1.Android应用程序开发视频教程(重制版)第一季 2.Android应用开发视频教程(重制版)第二季 2.marschen老师的个人微 ...

  7. Android入门教程之我见

    真正的从安卓入门学习到实际工作也差不多一年时间了,也做了几个项目.在这期间经历了一开始学习Android的基本知识后仍旧无从下手,不知道如何开始开发一个app,到现在也开始学会注意Android架构的 ...

  8. 小猪的Android入门之路 Day 3 - part 3

    小猪的Android入门之路 Day 3 - part 3 各种UI组件的学习 Part 3 本节引言: 在前面两个部分中我们对Android中一些比較经常使用的基本组件进行了一个了解, part 1 ...

  9. Android入门1:使用VideoView和MediController播放视频

    最近在搞Android,入门曲线还是挺陡峭的,主要还是自己对Java的理解不够深入.前后学习了几天,把最近学习到的一些知识点总结归纳一下,正所谓温故而知新. 目前想搞一个禁播视频站,主要内容都是一些大 ...

  10. 小猪的Android入门之路 Day 7 part 2

    小猪的Android入门之路 Day 7 part 2 Android的数据存储与訪问之--SharedPreferences(保存偏好參数) ---转载请注明出处:coder-pig 本节引言: 在 ...

随机推荐

  1. 【转】nexus Maven 环境搭建

    http://www.cnblogs.com/quanyongan/archive/2013/04/24/3037589.html 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组 ...

  2. shutdown immediate时 hang住 (转载)

    shutdown immediate 经常关库时hang住,在alert中有 License high water mark = 4All dispatchers and shared servers ...

  3. Hibernate总结

    SSH原理总结 Hibernate工作原理及为什么要用: 原理: hibernate,通过对jdbc进行封装,对 java类和 关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作,改 ...

  4. 使用maven创建web项目

    eclipse 4.5.2中集成了maven,所以我们不用再去安装插件啦. 点击file->new->other->maven->maven project 选择了worksp ...

  5. jQuery基础 -- 如何判断页面元素存在与否

    在传统的Javascript里,当我们对某个页面元素进行某种操作前,最好先判断这个元素是否存在.原因是对一个不存在的元素进行操作是不允许的.例如: document.getElementById(&q ...

  6. 指针的指针&指向指针数组的指针

    一.指针的指针    指针的指针看上去有些令人费解.它们的声明有两个星号.例如:        char ** cp;    如果有三个星号,那就是指针的指针的指针,四个星号就是指针的指针的指针的指针 ...

  7. Memcache的总结介绍和一些命令的总结

    1.1memcached是什么? 来看一些官方的一些解释: 1 free&opensource,high-performance,distributed memory object cachi ...

  8. TJI读书笔记11-多态

    TJI读书笔记11-多态 再说说向上转型 多态的原理 构造器和多态 协变返回类型 使用继承进行设计 多态是数据抽象和继承之后的第三种基本特征. 一句话说,多态分离了做什么和怎么做(再次对埃大爷佩服的五 ...

  9. (转)UVM内容梗概

    1. 类: 面向对象基础传统的面向对象编程与systemverilog类的特点,类的定义,成员与方法,构造函数,对象的复制和深/浅拷贝,父类/子类关系,类的继承,作用域的规则,对象的句柄以及赋值,方法 ...

  10. C/C++操作MySQL数据库——增、删、改、查

    1.数据库链接 int cppDatebase::DatabaseConnect(sBit8 *uName,sBit8 *pWord,sBit8 *dbName) { dbHandle = mysql ...