工具是: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);
}
}
运行命令按钮之后: