Intent 能够理解为信使

由Intent来协助完毕android各个组件之间的通讯。

感觉基础薄弱就又复习了一遍基础知识,整理了一遍!

gen 保存自己主动生成的R资源目录

gen->com.android.helloworld.activity 包名称

R.java 项目自己主动生成的资源索引类

Android 2.3.3->android.jar Android SDK Jar 文件

assets 保存原始资源的目录

res 资源目录

drawable 保存图片等资源目录

drawable-icon.png 图标文件

layout 界面布局文件

layout->main.xml 界面布局文件

values 简单值配置目录

values->strings.xml 字符串配置文件

AndroidMainfest.xml Android配置清单文件

default.xml 属性文件

pt:是屏幕的物理尺寸,大小为1英寸的1/72.

android:textScaleX 设置文字之间间隔。默觉得1.0f

android:textColorLink 文字连接的颜色

android:textColorHint 设置提示信息文字的颜色,默觉得灰色。

与hint一起使用。

android:textColorHighlight: 被选中文字的底色,默觉得蓝色。

android:textAppearance: 设置文字外观。eg:?android:attr/textAppearanceLargeInverse 这里引用的是系统自带的一个外观。?表示系统是否有这样的外观。否则使用默认的外观。

android:shadowDx: 设置阴影横坐标的起始位置。

android:shadowDy:设置阴影纵坐标的起始位置。

android:shadowRadius 设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比較好。

android:shadowColor: 指定文本阴影的颜色,须要与shadowRadius一起使用。

android:phoneNumber: 设置为电话号码的输入方式。

android:password 以密码的形式。一小数点的形式显示。

android:ems 设置textview的宽度为N个字符的宽度。当与minEms和maxEms同一时候使用时覆盖ems选项。

android:marqueeRepeatLimit 在ellipsize属性为marquee的时候,设置跑马灯反复滚动的次数。当设置为marquee_forever时,表示一直反复。

android:bufferType 指定getText() 方式取得的文本类别。

一个android应用程序由四部分组成:

1.activity

2.Intent Receiver

3.Service

4.Content Provider

1.一个activity通常在应用程序中是一个单独的屏幕。每个activity是被实现作为一个继承于Activity基类的单独的类。class 将要 显示一个由view和响应事件组成的用户界面。

多数应用程序由多个屏幕组成。

比如:一个文本消息发送程序可能有一个显示要发送信息的联系人列表的屏幕,有一个给选中的联系人编辑短信的屏幕,而且另外的屏幕显示曾经信息或是更改设置。每个这些屏幕应该作为一个Activity被实现。移动到另外的屏幕上是通过启动一个新的Activity来完毕的。

因为一些原因,一个Activity可能会向先前的Activity返回一个值–比如:一个让用户选择一个Photo的Activity将会返回选中的photo到caller应用程序上。

当一个新的屏幕开启,先前的屏幕被暂停而且压入历史堆栈。

用户能够向后导航返回到在历史记录中先前打开的屏幕。当它们遗留不恰当时,屏幕也能够选择从历史堆栈中删除。android为每个从Home屏幕上执行的每个应用程序保留历史堆栈。

2.Intent 和 Intent Filter

android使用一个名叫Intent的特殊类来让应用程序从一个屏幕移动到还有一个屏幕。Intent描写叙述一个应用程序的意图。

Intent数据结构的两个重要的部分是:要对应的action和data。典型的action值是MAIN(应用程序的入口),VIEW,PICK,EDIT等等。DATA表示成一个统一资源定界符(URI),比如:要在浏览器中看一个站点,你将创建一个带偶VIEw action的Intent 和设置了站点URI的data。

Android应用程序基本功能单元式Activity 一个android.app.Activity类的物件(Object)。

被自己的应用程序编译的资源能够不用包套件名 直接

R.resource_type.resource_name就能够引用。

Android包括了一些标准资源,比如,屏幕风格和按钮背景。为了将这些资源引用到代码中。必须用android来表述它们。android.R.drawable.button_background

UI – java 方式跳过了~~~

在Android中调试不能用System.out.println(…)来做,

Android提供了很多强劲的调试特性—LogCat

LogCat 是DDMS(Dalvik 调试监视器服务)的一部分。它提供了一个收集和查看系统调试输出的机制。来自不用应用程序的Log和系统部分被收集到能够查看和过滤的LogCat中。

V 具体信息

D 调试

I 信息

W 警告

E 错误

通过Intent能够进行Activity的跳转。下边是Activity跳转的代码,这里加红色有两个Activity。一个是Activity A。还有一个是Activity B,代码例如以下:

Intent in = new Intent(A.this,B.class);

startActivity(in);

通过执行这两句代码,就能够实现从Activity A跳转到

Activity B。

与Intent有关系的一个类叫Intent Filters 假设Intent是一个有效请求。Intent Filters则用于描写叙述一个Activity(或者Intent Receiver)能够操作哪些Intent。一个 Activity假设要显示一个人的联系方式时,须要声明一个Intent Filters ,这个Intent Filters 要知道怎么去处理VIEW动作和表示一个人的URI。Intent Filters 一般在AndroidManifest.xml中定义。

能够使用BroadcastReceiver 来让应用对一个外部的事件做出响应。

BroadcastReceiver 不能生成UI。也就是说对于用户来说不是透明的。用户是看不到的。BroadcastReceiver 通过NotificationManager 来通知用户这些事情发生了!BroadcastReceiver 既能够在AndroidManifest.xml中注冊,也能够在执行的代码中使用Context.registerReceivers()进行注冊。

仅仅要注冊了。当事件来暂时,即使程序没有启动,系统也在须要的时候启动程序。

各种应用还能够通过使用 Contest.sendBroadcast()将他们自己的intent broadcasts广播给其它应用程序。

Service 是一种程序,他能够执行非常长的时间。可是他却没实用户界面。

后台歌曲持续播放。这个播放就是播放音乐的Service进行控制的。

通过startService(Intent service)能够来启动一个Service,通过Content.bindService() 能够绑定一个Service。

Content Provider

一个程序能够通过一个ContentProvider 的抽象接口将自己的数据暴露出去。外界通过这一套标准儿童椅的接口和里面的程序进行交互信息。

达到读取,删除等操作!

(当然有对应的权限的限制)

query(Uri,String[],String,String[],String):

通过查询keyword查询数据

insert(Uri,ContentValues):

将一组数据插入到指定的地方

update(Uri,ContentValues,String,String[]):

更新数据

delete(Uri,String,String[]):

删除数据

setContentView(R.layout.main)负责当前的Activity与main.xml相关联。

LinearLayout layoutMain = new LinearLayout(this);

//为了方便。自己构建一个Layout

layoutMain.setOrientation (LinearLayout.HORIONZONTAL);

//设置加入到这个LinearLayout中元素的布局方向为竖直方向

setContentView(layoutMain);

//将我们构建的layoutMain和此Activity进行关联。

LayoutInflater inflate = (LayoutInflater)getSystem.Service(Context.LAYOUT_INFLATER_SERVICE)

//得到一个LayoutInflater 对象。这个对象能够对XML的布局文件进行解析。而且生成一个View。

RelativeLayout layoutLeft = (RelativeLayout)inflate.inflate(R.layout.left,null);

//调用inflate方法将left.xml进行解析,并生成一个RelativeLayout布局。

RelativeLayout.LayoutParams relParam = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,

RelativeLayout.LayoutParams.WRAP_CONTENT);

//生成一个RelativeLayout适用的LayoutParams。

layoutMain.addView(layoutLeft,100,100)

//将layout加入到layoutMain其中,其中第一个參数是加入进去的View,第二个參数是这个View的高度,第三个是宽度。

layoutMain.addView(layoutRight,relParam)

//将layoutRight 加入到layoutMain其中,第二个參数就是RelativeLayout.LayoutParams

LayoutInflater

这个类用来将xml的布局文件变成一个View的类。出于性能上的考虑。从xml的布局文件生成一个View类这个过程是在应用的构建阶段完毕的,而不是在应用执行阶段进行的。典型的使用过程是在Activity的oncreate方法里变,代码例如以下:

LayoutINflater inflate = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

LinearLayout layout = (LinearLayout)inflate.inflate(R.layout.ex01_05,null);

LayoutInflater 类通过getSystemService 方法来获得,而不能直接实例化。这个类负责将一个xml的布局文件实例化,从而在代码中能够应用到xml定义的组件。

android学习笔记NO.5的更多相关文章

  1. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

  2. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  3. android学习笔记36——使用原始XML文件

    XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...

  4. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  5. udacity android 学习笔记: lesson 4 part b

    udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...

  6. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  7. Android学习笔记之Activity详解

    1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...

  8. Pro Android学习笔记 ActionBar(1):Home图标区

     Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...

  9. 【转】Pro Android学习笔记(九八):BroadcastReceiver(2):接收器触发通知

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接 ...

  10. 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...

随机推荐

  1. createdb - 创建一个新的 PostgreSQL 数据库

    SYNOPSIS createdb [ option...] [ dbname] [ description] DESCRIPTION 描述 createdb 创建一个新的 PostgreSQL 数据 ...

  2. bzero - 向字符串写入零

    总览 (SYNOPSIS) #include <string.h> void bzero(void *s, size_t n); 描述 (DESCRIPTION) bzero() 函数 把 ...

  3. windos快捷键

    F1帮助 F2改名 F3搜索 F4地址 F5刷新 F6切换 F10菜单 CTRL+A全选 CTRL+C复制 CTRL+X剪切 CTRL+V粘贴 CTRL+Z撤消 CTRL+O打开 SHIFT+DELE ...

  4. vue 常用功能和命令

    1. vue-cli 构建项目 # 全局安装 vue-cli $ npm install --global vue-clif # 创建一个基于 webpack 模板的新项目 $ vue init we ...

  5. Parker Gear Pump - Gear Pump Seal Is More O-Ring: Role

    Parker Gear Pump    introduction Gear pump lip seal is mainly used in reciprocating dynamic seals. C ...

  6. MFC定时器的使用

    巧妙地使用定时器能达到意想不到的效果,写界面的时候能实现渐变,也能帮助多线程控制等我们知道,在VC的MFC中,已经为我们封装好了很多全面和强大的函数集,所以在MFC编程时,巧妙地调用MFC函数库可以为 ...

  7. Python之函数作业

    Python之函数作业 爬页面 #爬虫页面,send一次爬一次 from urllib.request import urlopen def get(): while True: url = yiel ...

  8. Linux 下 Jenkins安装

    Jenkins介绍 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. 安装环境 操作系统:lin ...

  9. Java 集合相关

    对整个体系做一个记录,并不涉及详细应用 Object类 1. 重写toString方法 System.out.println可以打印任何对象在于Object类拥有一个方法 public String ...

  10. 一个IT工薪族的4年奋斗成果

     关于标题:为了方便传播,使用了"最简化"的一段. 过段时间,考虑改为"大学毕业4年-回顾和总结(11):一个IT工薪族的4年奋斗成果(2012年6月17日~2016年6 ...