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
- Android案例学习——名片注册
- android学习案例2——ToggleButton
- Android案例学习——新建联系人
- Android学习3——注册
- Android笔记——Activity中的数据传递案例(用户注册)
- Android开发——SQLite数据库初体验(终)登录注册验证案例
- 电子工程师名片——FAT16文件系统
- 电子工程师名片——原理图与PCB
- 电子工程师名片——SPI Flash
- android 百度名片
- Android名片识别
- Android学习笔记(四十八):注册注销登录MVC模式案例
- dojo1.1.0学习总结--注册案例
- android学习案例1——AutoCompleteTextView、MultiAutoCompleteTextView
- android学习案例3——RadioGroup和RadioButton
- Android学习(5)——小案例(SharedPreference)
- Android学习笔记——SQLite数据库案例【商品展示】
- Android案例学习——打开系统照相机
- Springboot开发(spring+mybatis+druid)
- IO 异常:The Network Adapter could not establish the connection
- Okhttp使用和源码分析三(OkHttp源码分析)
- 两种方式实现Android侧滑菜单
- 集成springboot-starter-security
- Android案例学习——名片注册
- 手机端页面自适应解决方案—rem布局进阶版(附源码示例)
- SpringMVC:处理一个http请求的完整过程
- annotate curve endpoints注释曲线的端点坐标
- 算法题目-二叉树的镜像
- BZOJ 1260 [CQOI2007]涂色paint 记忆化搜索/dp
- 使用sdwebImage缓存图片不显示?
- 大数据Kettle数据清洗与定时任务开发
- 基于网页分析构思出的正文提取算法