标签:
工具是:JDK环境配置+SDK+ADT工具
一、Activity 主要作用:
1、用户与应用程序的接口
2、控件的容器
二、创建Activity要点:(在src中的目录下包里)
1、一个Activity就是一个类,要继承android自身的一个类
2、需要复写Oncreate方法,第一个运行的Activity中调用oncreate来调用
3、Activity是一个组件,在Androidmanifest.xml中的intent-filter,在哪一个Activity中配置了intent-filter就是android中第一个启动的Activity
4、Activity中本身没有内容,在Activity中添加必要de组件,Textview,button,下拉菜单。单选按钮,多选按钮。。。。
三、layou中的布局文件
1、LinearLayout(线性布局)中的android:orientation=“vertical”//垂直
android:layout_width="fill_parent"//宽度
android:layout_height="fill_parent"//高度
2、<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_parent"
>
3 、调用Activity中可以用findviewbyid方法findviewbyid(R.id.自己去的名字)
public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);//父类中Oncreate方法 setContentView(R.layout.activity_main);//设置 //得到控件用findviewbyid TextView mytextView=(TextView)findViewById(R.id.mytextView); Button mybutton=(Button)findViewById(R.id.mybutton); mytextView.setText("我的第一个textview"); mybutton.setText("我的第一个button"+"\n"+"换行");
每一个程序员从hello world开始
四、acticity和intent
(一)内容:
1、多个activit之间的关系
2、intent的基本作用
3、在一个activity中方启动另外一个activity
4、在使用的intent在activity中使用intent进行数据的传递的基本方法
(二)多个activity之间的关系
可以是同一个程序中的activity之间跳转,也可以是不同的应用中的activity
由intent启动非常重要的作用。
(三)intent的基本作用://intent是一个对象,翻译成中中文叫做意图,就像一个请求。
1、component name //启动哪一个activity,根据intent对象component name信息,启动哪一个组件。
2、action//官方解释是指定另外一个activity做什么
3、data//从这个activity到另外一个activity中传递时intent中的data。
4、category//
5、extras//额外的信息,键值对,在intent中
6、flags
(三)intent的基本使用方法
用startactivity方法,调用另外一个actcity,我们可以在intent中存放一些就extra中键值对,在另外一个activity中显示出来。
在activity中使用button,得到button按钮,通过findviewbyid方法,把button生成私有变量。
建立第二个activity,anotheractivity,继承Activity,复写oncreate(右键,source中的override/implemen,)
创建第二个布局文件,加上一个textview,在anotheractivity中获得textview。最终的要的是设置一个setContentView(R.layout.other),这个activity使用这样的一个布局。
在Mainactivity中获得main.xml中的button中,首先设计一个监听器,把监听器捆绑在按钮上。
class MyButtonListener implements OnClickListener//MyButtonListener内部类r { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent=new Intent();//生成一个Intent对象 intent相当于一个请求 intent.putExtra("testIntent","123");//键值对名称就叫成testIntent,值是123 intent.setClass(MainActivity.this,anotheractivity.class);//从MainActivity调到anotheractivity MainActivity.this.startActivity(intent);//调用当前activity中的startActivity方法 }
捆绑在命令按钮上:
启动后,点击按钮后发现一个异常
发现在AndroidMainfest.xml中忘记了注册第二个anotheractivity,所以出现异常。bug
<activity android:name="anotheractivity"
android:label="@string/other"/>
在anotheractivity中写上
//把值取出来 Intent intent=getIntent();//getintent方法得到mainactivity中的intent String value=intent.getStringExtra("testIntent");//getStringExtra方法把键传进来 mytextview=(TextView)findViewById(R.id.mytextview); mytextview.setText(value);
运行成功:
以上是跳转到另外一个activity。
在两个activity中传递数据的方法,传的值是123。
使用Intent发送消息
从一个组件到另外一个组件
发短信是我们经常使用的功能,发短信时android系统自带的,这个两个应用程序中两个activity,不妨碍intent传递数据。
在anotheractivity中加入一段代码,已经不是之前那个activity,而是一个发短信的activity。
package com.helloworld; import android.support.v7.app.ActionBarActivity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Button; import android.widget.TextView; public class anotheractivity extends ActionBarActivity { private TextView mytextview=null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.another); //把值取出来 /*Intent intent=getIntent();//getintent方法 String value=intent.getStringExtra("testIntent"); mytextview=(TextView)findViewById(R.id.mytextview); mytextview.setText(value);*/ Uri uri=Uri.parse("smsto://0800000123"); Intent intent=new Intent(Intent.ACTION_SENDTO,uri);//操作系统自己的携带的ACTION_SENDTO intent.putExtra("sms_body","The SMS Text"); startActivity(intent); } }
运行命令按钮之后:
Android 学习Activity(1)activity和intent
标签:
原文地址:http://www.cnblogs.com/chengxs/p/5272152.html