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 本节引言: 在 ...
随机推荐
- [转] 解决HttpServletResponse输出的中文乱码问题
首先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite. 申明:这里为了方便起见,所有输出都统一用UTF-8编码. 先说字节流,要输出“中国" ...
- Mysql备份迁移——MySqlBackup(.net)——(无法解决视图嵌视图报错)
这里是利用MySqlBackup,可以再nuget中下载. 无法解决视图嵌视图报错的问题,只导表跟数据比较合适,如果有视图嵌视图,请参照Mysql备份迁移——Mysqldump(.NET调用Mysql ...
- 11. Evaluate Reverse Polish Notation
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...
- hibernate的延迟加载及其与session关闭的矛盾
延迟加载就是并不是在读取的时候就把数据加载进来,而是等到使用时再加载. 那么Hibernate是怎么知道用户在什么时候使用数据了呢?又是如何加载数据呢? 其实很简单,它使用了代理机制.返回给用户的并不 ...
- java基础回顾(八)——Queue
今天回顾了下关于Queue的一些相关知识 我们可以看到,Deque也是一个接口,它继承了Queue的接口规范.其中LinkedList和ArrayDeque都是实现Deque接口,所以,可以说他们俩都 ...
- css之首字母大写 | 全部大写 | 全部小写 | text-transform
div{text-transform:capitalize}首字母大写
- CADisplayLink以及和NSTimer的区别
什么是CADisplayLink CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器.我们在应用中创建一个新的 CADisplayLink 对象,把它添加到一个r ...
- Office 开发版本号与版本对应关系
Office 开发版本号与版本对应关系: office97 : 8.0 office2000 : 9.0 officeXP(2002) : 10.0 office2003 : 11.0 office2 ...
- avalon2的后端渲染实践
avalon2为了提高性能,采用全新的架构,四层架构,其中一层为虚拟DOM. 虚拟DOM的一个好处是能大大提高性能,另一个好处是能过错整描述我们的页面结构.因此在非浏览器环境下,虚拟DOM也能正常运行 ...
- JDK 环境变量设置
.net转JAVA了.记心不好,记录一下. 安装好jdk(64位)后找到我的电脑(右键)>属性>高级选项卡>环境变量>,里面有管理员的用户变量,有系统变量.我选的是系统变量.点 ...