Android案例学习——名片注册

来源:互联网 发布:冒充明星语音软件 编辑:程序博客网 时间:2024/06/06 09:48
Android应用通常是由多个Activity组成,这些Activity用于显示不同的页面,它们之间是相互独立的,但是经常需要在不同的界面之间传递数据,例如第一个页面注册信息后,将信息显示到第二个页面上面。

案例内容:
创建第一个Activity,用于输入注册信息,将信息传递给第二个Activity。
创建第二个Activity,接收第一个Activity传递的信息,将信息显示在页面上面。

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@drawable/cz_bj"    tools:context=".MainActivity" >    <Button        android:id="@+id/btn_regist"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_marginBottom="40dp"        android:layout_marginLeft="20dp"        android:layout_marginRight="20dp"        android:background="@drawable/cz_shade_button"        android:onClick="register"        android:text="注册新用户"        android:textColor="#ffffff" />    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_above="@+id/btn_regist"        android:layout_marginBottom="20dp"        android:layout_marginLeft="20dp"        android:layout_marginRight="20dp"        android:orientation="vertical" >        <RelativeLayout            android:id="@+id/rl_user"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:background="@drawable/cz_shade_ll" >            <EditText                android:id="@+id/edtTxt_number"                style="@style/edtTxtStyle"                android:layout_centerVertical="true"                android:layout_toRightOf="@+id/tv_number"                android:ems="10"                android:inputType="number" />            <TextView                android:id="@+id/tv_number"                style="@style/tvStyle"                android:layout_centerVertical="true"                android:text="手机号码:" />        </RelativeLayout>        <RelativeLayout            android:id="@+id/rl_nickName"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="5dp"            android:background="@drawable/cz_shade_ll" >            <EditText                android:id="@+id/edtTxt_nickName"                style="@style/edtTxtStyle"                android:layout_centerVertical="true"                android:layout_toRightOf="@+id/tv_number"                android:ems="10" />            <TextView                android:id="@+id/tv_number"                style="@style/tvStyle"                android:text="昵称         :"                android:textColor="#000000" />        </RelativeLayout>    </LinearLayout></RelativeLayout>

activity_main.xml用到的样式文件styles.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">    <style name="AppBaseTheme" parent="android:Theme.Light">    </style>    <style name="AppTheme" parent="AppBaseTheme">    </style>    <style name="tvStyle" parent="android:Widget.Holo.Light.TextView">        <item name="android:layout_marginBottom">20dp</item>        <item name="android:layout_marginLeft">5dp</item>        <item name="android:layout_marginRight">5dp</item>        <item name="android:layout_marginTop">20dp</item>        <item name="android:layout_width">wrap_content</item>        <item name="android:layout_height">wrap_content</item>        <item name="android:layout_centerVertical">true</item>        <item name="android:textSize">16dp</item>    </style>    <style name="edtTxtStyle" parent="android:Widget.Holo.Light.EditText">        <item name="android:background">@null</item>        <item name="android:layout_marginRight">5dp</item>        <item name="android:layout_width">match_parent</item>        <item name="android:layout_height">wrap_content</item>    </style></resources>

MainActivity.java

package com.example.asus.bisinesscard;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.text.TextUtils;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {    private EditText edtTxt_number;    private EditText edtTxt_nickName;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();//初始化本类私有数据    }    private void initView(){        edtTxt_number =(EditText)findViewById(R.id.edtTxt_number);        edtTxt_nickName =(EditText)findViewById(R.id.edtTxt_nickName);    }    //"注册新用户",触发register事件    public void register(View view){        //获取用户填写信息,并进行格式转化        /*我们经常见到的 trim() 经常和toString()合用,        作用是取出空格,因为有时候用户输入信息的时候,        可能会过多的填写空格,或者有些时候就使用空格做为数据了,        结果造成程序出错~为了使我们的数据紧凑并且不会出现空格错误        我们就需要使用到trim()函数了~        例子如下:        b=EditText02.getText().toString();        if(!"".equals(EditText02.getText().toString().trim())) //判断EditText02 是否为空         b="职业:"+b+'\n';        ps:Trim() 函数的功能是去掉首尾空格,        在编程中发现使用if(EditText02.getText().toString()!="")不能正确判断是否为空,        调试后发现是莫名空格的原因,使用trim()函数后解决。*/        String number =edtTxt_number.getText().toString().trim();        String nickName =edtTxt_nickName.getText().toString().trim();        if(TextUtils.isEmpty(number)||TextUtils.isEmpty(nickName)) {           /*            Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,            Toast是没有焦点的,而且Toast显示的时间有限,            过一定的时间就会自动消失。而且Toast主要用于向用户显示提示消息            http://android.tgbus.com/Android/tutorial/201103/346236.shtml            */            Toast.makeText(this, "选项不能为空",0).show();            return;        }        Intent intent=new Intent(this,SecondActivity.class);//显示意图        //意图如何传递数据,信封邮包        intent.putExtra("number",number);        intent.putExtra("nickName",nickName);        //启动Activity        startActivity(intent);    }}

activity_second.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.asus.bisinesscard.SecondActivity">    <ImageView        android:id="@+id/iv_head"        android:layout_width="50dp"        android:layout_height="50dp"        android:layout_marginLeft="20dp"        android:layout_marginTop="30dp"        android:src="@drawable/cz_head"/>    <TextView        android:id="@+id/tv_nickname"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignTop="@+id/iv_head"        android:layout_marginLeft="20dp"        android:layout_toRightOf="@+id/iv_head"        android:text="昵称"        android:textSize="18dp"/>    <TextView            android:id="@+id/tv_numberShow"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignBottom="@+id/iv_head"            android:layout_alignLeft="@+id/tv_nickname"            android:text="手机:"            android:textSize="18dp" />        <TextView            android:id="@+id/tv_hobby"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentLeft="true"            android:layout_below="@+id/iv_head"            android:layout_marginLeft="21dp"            android:layout_marginTop="16dp"            android:text="爱好    :约会"            android:textSize="20dp" />        <TextView            android:id="@+id/tv_gender"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignLeft="@+id/tv_hobby"            android:layout_below="@+id/tv_hobby"            android:layout_marginTop="16dp"            android:text="性别    :暂定"            android:textSize="20dp" />        <TextView            android:id="@+id/tv_introduction"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignLeft="@+id/tv_gender"            android:layout_below="@+id/tv_gender"            android:layout_marginBottom="30dp"            android:layout_marginTop="16dp"           android:text="自我介绍:"           android:textSize="20dp" /></RelativeLayout>

SecondActivity.java

package com.example.asus.bisinesscard;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;public class SecondActivity extends Activity {    private TextView tv_number, tv_nickName;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_second);        initView();//初始化数据        Intent intent = getIntent();//通过getIntent()方法获得对方传过来的intent对象        //取出数据        String number = intent.getStringExtra("number");        String nickName = intent.getStringExtra("nickName");        //设置本界面显示内容        tv_number.setText("电话号码:" + number);        tv_nickName.setText("昵称:" + nickName + "(火星)");    }    private void initView() {        tv_number = (TextView) findViewById(R.id.tv_numberShow);        tv_nickName = (TextView) findViewById(R.id.tv_nickname);    }}
Activity必须在清单文件中注册,注册节点为<activity>。Activity之间的跳转和传输数据使用Intent。
阅读全文
0 0
原创粉丝点击