Android入门
在学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入门的更多相关文章
- Android入门(十二)SQLite事务、升级数据库
原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...
- 【转】Xamarin.Android 入门之:Xamarin+vs2015 环境搭建
Xamarin.Android 入门之:Xamarin+vs2015 环境搭建 一.前言 此篇博客主要写了如何使用搭建xamarin开发的环境,防止我自己万一哪天电脑重装系统了,可以直接看这篇博客 ...
- android 入门 006(sqlite增删改查)
android 入门 006(sqlite增删改查) package cn.rfvip.feb_14_2_sqlite; import android.content.Context; import ...
- android 入门 005(登录记住)
android 入门 005(登录记住) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android ...
- Android入门:绑定本地服务
一.绑定服务介绍 前面文章中讲过一般的通过startService开启的服务,当访问者关闭时,服务仍然存在: 但是如果存在这样一种情况:访问者需要与服务进行通信,则我们需要将访问者与服务进行绑定: ...
- Android入门视频推荐
marschen老师的Android入门视频推荐网址: 1.Android应用程序开发视频教程(重制版)第一季 2.Android应用开发视频教程(重制版)第二季 2.marschen老师的个人微 ...
- Android入门教程之我见
真正的从安卓入门学习到实际工作也差不多一年时间了,也做了几个项目.在这期间经历了一开始学习Android的基本知识后仍旧无从下手,不知道如何开始开发一个app,到现在也开始学会注意Android架构的 ...
- 小猪的Android入门之路 Day 3 - part 3
小猪的Android入门之路 Day 3 - part 3 各种UI组件的学习 Part 3 本节引言: 在前面两个部分中我们对Android中一些比較经常使用的基本组件进行了一个了解, part 1 ...
- Android入门1:使用VideoView和MediController播放视频
最近在搞Android,入门曲线还是挺陡峭的,主要还是自己对Java的理解不够深入.前后学习了几天,把最近学习到的一些知识点总结归纳一下,正所谓温故而知新. 目前想搞一个禁播视频站,主要内容都是一些大 ...
- 小猪的Android入门之路 Day 7 part 2
小猪的Android入门之路 Day 7 part 2 Android的数据存储与訪问之--SharedPreferences(保存偏好參数) ---转载请注明出处:coder-pig 本节引言: 在 ...
随机推荐
- Gridview导出EXCEL(多页) z
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Blackfin DSP(七):用SPORT口模拟SPI
1.问题的提出 当系统从SPI device启动时,若SCLK = 133M,则SPI的最大速度为33M.然而,有一些串行的flash设备能更快的运行,因此,如果我们使用SPORT口,它的最大速度为S ...
- outlook找不到文件Outlook.pst 如何启动
首先注明:这种情况在控制面板-邮件 无法打开的情况下可以使用以下命令打开设置界面 解决方法: 1. 开始 –> 运行 –> cmd 2. 在DOS下,用CD 切换到 Outlook.ex ...
- mysql 不是主键不能删除的保护问题解决办法?
select * from t_answerexams; delete from t_answerexams where selectid = 'c4582502-8b27-44 ...
- Android IOS WebRTC 音视频开发总结(七五)-- WebRTC视频通信中的错误恢复机制
本文主要介绍WebRTC视频通信中的错误恢复机制(我们翻译和整理的,译者:jiangpeng),最早发表在[这里] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blac ...
- redis-redigo及redis存储时间问题测试
package main import ( "log" "github.com/garyburd/redigo/redis" "github.com/ ...
- Linux网络常用指令
5.1 网络参数设定使用的指令 ifconfig 查询 设定网络卡与 IP 网域等相关参数: ifup, ifdown 这两个档案是 script,透过更简单的方式来启动网络接口: route 查 ...
- nginx 启动,停止和重新加载配置
要启动nginx的,运行可执行文件.一旦nginx的启动时,它可以通过与-s参数调用可执行来控制.使用以下语法 nginx -s signal 其中,信号可以是下列之一: stop - fast sh ...
- An attempt was made to load a program with an incorrect format
用.net调用一个C++ 32位的DLL, 编译的时候选择x86, 在部署到一个64位的机器上的时候报错:"An attempt was made to load a program w ...
- CentOS 安装 chrome 浏览器
安装 google-chrome 浏览器,由于众所周知的原因,一直安装不了,下面介绍一种新方法. cd 到 /etc/yum.repos.d 创建一个yum新源 vi chromium-el6.rep ...