第一行代码——探索活动

1、项目中的所有活动都要重写onCreat()方法

2、通过setContentView()加载一个布局活动

3、定义一个ID,+id,引用ID,id

4、活动在ActivityManifest中注册 活动 权限等。

在<application>

<activity

name .类名

lable

>

  <intent-filter>

    <action adroid:name = "android.intent.action.MAIN"/>

    <category android:name = "android.intent.category.LAUNCHER"/>

  </intent-filter>

</activity>

5、没有声明一个活动作为主活动,则无法在启动器中看到这个程序,一般作为第三方服务供其他的应用在内部进行调用,如微信,支付宝支付。

6、隐藏标题栏的方法

  在onCreate()方法中添加如下代码:

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    必须在setContentView()之前执行。

7、在活动中使用Toast

  一种提醒方式,将一些短小的信息通知给用户,然后一段时间后自动消失。

  在onClick中添加

  通过静态方法makeText()方法创建,三个参数传入,第一个:Content上下文,类名.this或者直接this;第二个:文本内容;第三个:Toast显示的时长,两个内置常量可选:Toast.LENGTH_SHORT和Toast.LENGTH_LONG.

  Toast.makeText(MainActivity.this, "我是一个BUTTON", Toast.LENGTH_SHORT).show();8、在活动中使用Menu  新建一个menu文件夹  <menu>    <item      android:id="@+id/add_item"      android:title="add"    /></menu>然后重写onCreateOtionsMenu()方法XML文件中:
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item        android:id="@+id/add_item"        android:title="Add"        />    <item    android:id="@+id/remove_item"    android:title="Remove"    /></menu>Java代码:
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {    getMenuInflater().inflate(R.menu.main,menu);    return true;}通过getMenuInflater()得到MenuInflater对象,再调用inflate()方法就可以给当前活动创建菜单,接受的两个参数:通过哪一个资源文件创建菜单,我们的菜单想将添加到哪一个Menu对象中。最后返回true,表示显示出来。为菜单项创建响应事件:就要重写onOptionsItemSelected()
item.getItemId()来判断是哪一个菜单9、通过finish()方法销毁活动10、Intent的使用:启动活动、启动服务、发送广播。分为显式和隐式用startActivity()接受Intent
bt_haha.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            Log.d("data", "bt_hahaha");            Toast.makeText(MainActivity.this, "我是一个BUTTON", Toast.LENGTH_SHORT).show();            //第一个为上下文,第二个为class指定的启动目标            Intent intent = new Intent(MainActivity.this,SecondClass.class);            startActivity(intent);        }});以上为显示下面是隐式:
<intent-filter>    <action android:name="hello.one.yhm.com.myfrist.ACTION_START"/>    <category android:name="android.intent.category.DEFAULT"/></intent-filter>Java:
bt_second.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        Intent intent = new Intent("hello.one.yhm.com.myfrist.ACTION_START");//包名加自己定义,大写        startActivity(intent);    }});<action>只能有一个 <category>可以有多个
intent.addCategory("hello.one.yhm.com.myfrist.MY_CATEGORY");//addCategory()方法来添加,并要在xml中声明
<intent-filter>    <action android:name="hello.one.yhm.com.myfrist.ACTION_START"/>
  <category android:name="android.intent.category.DEFAULT"/>
   <category android:name="android.intent.category.MY_CATEGORY"/></intent-filter>

隐式的Intent可启动自己程序内的活动,还可以启动其他程序的活动,使得多个应用程序之间功能共享成为可能。如:需展示一个网页,不需自己实现一个浏览器,只需要调用系统的浏览器打开网页
 bt_second.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {//                Intent intent = new Intent("hello.one.yhm.com.myfrist.ACTION_START");//                intent.addCategory("hello.one.yhm.com.myfrist.MY_CATEGORY");//addCategory()方法来添加,并要在xml中声明//                startActivity(intent);                Intent intent = new Intent(Intent.ACTION_VIEW);//系统内置的动作                //Uri.parse()方法将网址字符串解析为Uri对象                //intent的setData()方法传递uri对象                intent.setData(Uri.parse("http://www.baidu.com"));                startActivity(intent);            }        });还可以在<intent-filter>中配置一个<data>标签,用于更精确的指定当前活动能够响应什么数据类型,配置内容如下:

android:scheme协议部分 host主机名 port端口 path主机名和端口之后的部分 mimeType可以处理的数据类型,不会指定过多的内容,浏览器中指定一个scheme就可以响应所有的http协议
调用系统相机http://cowboy.1988.blog.163.com/blog/static/75105798201422645818776/
时间: 2024-10-14 18:52:24

第一行代码——探索活动的相关文章

(Android第一行代码)活动的启动模式

活动的启动模式 启动模式一共有四种,分别是 standard.singleTop. singleTask 和 singleInstance,可以在 AndroidManifest.xml 中通过给<activity>标签指定 android:launchMode属性来选择启动模式.下面我们来逐个进行学习. 1.standard模式:(对于使用 standard 模式的活动,系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会创建 该活动的一个新的实例.)   是活动默认的启动模式  修改

第一行代码----android篇1.0:活动

   做.NET有4年了,最近由于个人兴趣开始学习Android,网上看了下,郭霖老师的”第一行代码“不错,就以此为教程,写个博客,希望共勉吧!   1:活动是什么及其基本用法    活动是什么,英文名称是“Activity”,专业定义是“一种可以包含用户界面的组件,主要用于和用户进行交互”.在我看来就是.net中的aspx页面,但又不完全是.    如何建立?    如上图所示,点击上图Browse       点击ok,建立活动.活动建立显示的初始页面如下. 到此,建立活动,其实就是一个类,

晒订单赢图灵图书,《第一行代码——Android》福利活动劲爆来袭!

我的著作<第一行代码--Android>已经预售几天了,这段时间也有不少朋友早早地就订购了这本书,感谢大家对我一如既往的支持,在离发货还有十几天的时候就预订了这本书. 为了特别感谢在预售期就这么支持我的朋友们,现在图灵公司大力支持下举办一个晒订单赢图灵图书的活动,欢迎已经订购和准备订购的朋友们积极参与进来.如果你还没有订购,只需在7月31号之前下单,就可以参与此活动,购买地址见左侧导航栏. 活动介绍 凡是预售期间(即7月31号之前)在当当.京东.亚马逊.互动其中之一(不包含淘宝)订购<第

第一行代码

今天看打了一篇推荐<第一行代码 Android>(郭霖),是郭大神的, Android:一 简介 框架 已发布的版本 应用特色 开发环境 程序结构 Logcat工具 二 Activity 什么是活动 活动用法 intent与其用法 生命周期:onCreate() onStart() onPause() onStop() onDestory() onRestart() 活动启动模式:standard singleTop singleTask singleInstance 活动集合三 UI控件 常

第一行代码 Android 第二版到货啦

今日android第一行代码[第二版]已到,收获的季节到了 先看一下封面 书签: 以后就把空闲时间送给它吧 先来看一下本书的目录: 第1章 开始启程--你的第1行Android代码 第2章 先从看得到的入手--探究活动 第3章 软件也要拼脸蛋--UI开发的点点滴滴 第4章 手机平板要兼顾--探究碎片 第5章 全局大喇叭--详解广播机制 第6章 数据存储全方案--详解持久化技术 第7章 跨程序共享数据--探究内容提供器 第8章 丰富你的程序--运用手机多媒体 第9章 看看精彩的世界--使用网络技术

最常用和最难用的控件--ListView(Android第一行代码)

由于手机屏幕空间都比较有限,能够一次性在屏幕上显示的内容并不多,当我们的程序中有 大量的数据需要展示的时候,就可以借助 ListView 来实现.ListView 允许用户通过手指上下 滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕. 1.ListView 的简单用法首先新建一个 ListViewTest 项目,并让 ADT 自动帮我们创建好活动.然后修改activity_main.xml 中的代码,如下所示: <LinearLayout xmlns:android=&qu

第一章:开启启程你的第一行代码

前言: 其实我是认为视频比书本学的更快,看书是多么无趣, 有人说培训机构的学生失去了自学能力,的确如此 不管是视频还是资料我认为学会技能使用方法就行了 (还是买了第一行代码,一起学习学习吧!有颜色代表重点内容) 目录: 1.1 了解全貌,Android王国简介 1.1.1 安卓系统架构 1.1.2 安卓已经发布的版本 1.13 安卓应用开发特色 1.2 手把手搭建开发环境 1.2.1准备需要的环境 1.2.2搭建开发环境 1.3 创建你的一个Android项目 1.3.1创建Hello Worl

20172327 2017-2018-2 《第一行代码Android》第一章学习总结

学号 2017-2018-2 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动,音频驱动,照相机驱动,蓝牙驱动,Wi-Fi驱动,电源管理等. 2.系统运行底层 - 通过一些C/C++库来为Android系统提供了主要的特性支持 库名 功能 SQLite库 提供数据库的支持 OpenGL/ES库 提供3D绘图支持 Webkit

第一行代码 - 布局

基本布局 线性布局:LinearLayout android:orientation:指定排列的方向,参数:vertical/horizontal.不指定时,默认的排列方向是horizontal. android:layout_gravity:指定控件在布局的对齐方式.可以用"|"分割,同时指定多个参数. 注意: 排列方向为horizontal时,内部控件不能将宽度指定为match_parent.vertical同理. 排列方向为horizontal时,只有垂直方向上的对齐方式才会生效