[转]Android的userlogin登录

离首都鸟巢解说还剩1804天!

本文转自:http://hteqc6o.blog.sohu.com/199334086.html

后日重整比尔(Bill)盖茨的材料时,精通到比尔盖茨的曾外祖父是前国家银行行长,二伯是律师,姑姑是银行序列董事,比尔盖茨从小就喜好电脑,上高中时结识了平等喜欢电脑的保罗(保罗(Paul))·Alan,为校园编写了一套程序,课程表以4200$的价钱卖给了湖畔中学,同时还编写了MS-DOS操作系统,凭借父母的社会花费与IBM签下了第二个大单,同时也赚取了人生第一桶金。

  用户注册

比尔(比尔)盖茨创制微软之初就想开了后天办公桌上人们一台微机,而且软件决定硬件,可知比尔(Bill)盖茨当年万分的见解培育了明天的社会风气首富。比尔(Bill)盖茨一贯做着温馨喜爱的事,比尔(Bill)盖茨爱好豪车,网球,收藏,读书。比尔(Bill)盖茨的豪宅价值21.6亿$,豪宅中储藏了不少价值不菲的艺术品,比尔(比尔(Bill))盖茨九岁就读完了《百科全书》,比尔(Bill)盖茨从小爱思考,全身心专注某一件事。

1.首先,先画你想要编译出的界面图片 1

比尔(Bill)盖茨在香港农林科技学院结识了Steve·Bauer默,成为了比尔盖茨的联手人,并且直接到方今,用比尔(比尔)盖茨的话说,没有Steve·拜耳(Bauer)默就不曾微软,可知在一块人的选料上多多主要,犹如巴菲特的共同人查尔斯·芒格一样,比尔(比尔(Bill))盖茨的至交巴菲特为比尔(Bill)·Melinda基金会赠送了300亿$,成为全米利坚最大的基金会。

据悉草图,仅仅使用linearLayout的布局是不够的,还亟需与RelativeLayout嵌套使用

比尔(比尔(Bill))盖茨的爱人是微软公司的员工,Melinda与比尔(比尔(Bill))盖茨都是工作狂,他们就在办公相识恋爱相爱到结婚。Melinda嫁给比尔盖茨后,辞去微软工作去做慈善,之后比尔盖茨与梅Linda(Melinda)一起做爱心。

编写String.Xml

她们为北美洲和印度第一在教育和研发疫苗上有重大进献,协通晓决贫困人口。正像习主席同样2020年使中华脱贫,伟人都有一样大的职务感。

<?xml version=“1.0” encoding=“utf-8”?>

比尔(比尔(Bill))盖茨仍旧营销人才,把Windows系统卖到全球,让满世界的人都应用微软的出品。比尔(比尔)盖茨一连23年稳居全世界富豪榜头名。个人品牌及影响全世界60亿人。

<resources>

自家的职责是让全中国贫穷乡村地区不用外出也有书读,建立一所公益体育场馆!马化腾(英文名:Pony)的价签就是公益教室。卡位,定位是平素困绕我的问题。比尔(比尔)盖茨的慈善事业使自己发奋像比尔(比尔)盖茨学习。

 

越具有的人把钱看得越轻,而我明日还在比尔(比尔(Bill))盖茨和习主席脱贫人口里,我要解决自己的脱贫,还要扶植别人脱贫。

    <string name=“hello”>Hello World,
UserLoginActivity!</string>

何以让别人记住你,就是不断地支援人家。

    <string name=“app_name”>用户注册界面</string>

实际当自己在安慰别人时,又何尝不是在安抚我自己,家家有本难念的经,人人都有和好暗中的难点,先自救,再救其余人。

    <string name=“nameString”>用户名</string>

前些天早晨把前日翻新的不更新就灭亡做了思维导图,就是从未复述一下。

    <string name=“ageString”>年龄</string>

你能教别人怎样?我的优势是何等?少说话,多做关于自己目的的事,忘记去年的机要词了:沉淀、沉淀、沉淀。

    <string name=“registerButtonText”>注册</string>

自我的期待是2023年17月18日在京都鸟巢8万人演说!让这么些怀疑我,捉弄我的人对我尊重!

    <string name=“sexString”>性别</string>

  <string name=“favoriteString”>喜好</string>

  <string name=“cityString”>城市</string>

  <string name=“passString”>密码</string>

  <string name=“pingpang”>兵乓球</string>

  <string name=“basketball”>篮球</string>

  <string name=“football”>足球</string>

  <string name=“tennis”>网球</string>

</resources>

 

 

编写parameters.xml:

那是存放属性新闻,如字体、TextView和EditText的升幅。

<?xml version=“1.0” encoding=“utf-8”?>

<resources>

    <dimen name=“fontSize”>22px</dimen>

    <dimen name=“TextViewWidth”>90px</dimen>

    <dimen name=“EditTextWidth”>160px</dimen>

</resources>

 

再编写main.xml

 

<?xml version=“1.0” encoding=“utf-8”?>

<LinearLayout
xmlns:android=http://schemas.android.com/apk/res/android

    android:layout_width=“fill_parent”

    android:layout_height=“fill_parent”

    android:orientation=“vertical” >

<RelativeLayout

    android:layout_width=“fill_parent”

    android:layout_height=“wrap_content”

    >

    <TextView

        android:layout_width=“@dimen/TextViewWidth”

        android:layout_height=“wrap_content”

        android:text=“@string/nameString”

        android:textSize=“@dimen/fontSize”

        android:id=“@+id/name”/>

    <EditText

        android:layout_width=“@dimen/EditTextWidth”

        android:layout_height=“wrap_content”

        android:layout_toRightOf=“@string/nameString”

        android:layout_alignTop=“@id/name”

        android:id=“@+id/nameValue”/>/

   

</RelativeLayout>

<RelativeLayout

    android:layout_width=“fill_parent”

    android:layout_height=“wrap_content”

    >

    <TextView

        android:layout_width=“@dimen/EditTextWidth”

        android:layout_height=“wrap_content”

        android:text=“@string/passString”

        android:textSize=“@dimen/fontSize”

        android:id=“@+id/pass”/>

    <EditText

        android:password=“true”

        android:layout_width=“@dimen/EditTextWidth”

        android:layout_height=“wrap_content”

        android:layout_toRightOf=“@id/pass”

        android:layout_alignTop=“@id/pass”

        android:id=“@+id/passValue”

        />

    </RelativeLayout>

    <RelativeLayout

        android:layout_width=“fill_parent”

        android:layout_height=“wrap_content”

        >

        <TextView android:layout_width=“@dimen/TextViewWidth”

            android:layout_height=“wrap_content”

            android:text=“@string/ageString”

            android:textSize=“@dimen/fontSize”

            android:id=“@+id/age”

            />

           

    <EditText

     

        android:layout_width=“@dimen/EditTextWidth”

        android:layout_height=“wrap_content”

        android:layout_toRightOf=“@id/age”

        android:layout_alignTop=“@id/age”

        android:id=“@+id/ageValue”

        />

       

    </RelativeLayout>

    <RelativeLayout

        android:layout_width=“fill_parent”

        android:layout_height=“wrap_content”

        >

        <TextView android:layout_width=“@dimen/TextViewWidth”

            android:layout_height=“wrap_content”

            android:text=“@string/sexString”

            android:textSize=“@dimen/fontSize”

            android:id=“@+id/sex”

            />

           

    <RadioGroup

      

        android:layout_width=“wrap_content”

        android:layout_height=“wrap_content”

        android:layout_toRightOf=“@id/sex”

        android:checkedButton=“@+id/radioMan”

        android:orientation=“horizontal”

        android:id=“@+id/sexMenu”>

      <RadioButton android:text=“男”
android:id=“@id/radioMan”/>

      <RadioButton android:text=“女”
android:id=“@+id/radioWomen”/>

      </RadioGroup>

      </RelativeLayout>

        <RelativeLayout

          android:layout_width=“fill_parent”

          android:layout_height=“wrap_content”

          >

          <TextView

              android:layout_width=“@dimen/TextViewWidth”

              android:layout_height=“wrap_content”

              android:text=“@string/favoriteString”

              android:textSize=“@dimen/fontSize”

              android:id=“@+id/favorite”/>

          <CheckBox

              android:layout_width=“wrap_content”

              android:layout_height=“wrap_content”

              android:layout_toRightOf=“@id/favorite”

              android:text=“@string/pingpang”

              android:id=“@+id/checkboxpingpang”

             />

          <CheckBox

              android:layout_width=“wrap_content”

              android:layout_height=“wrap_content”

              android:layout_toRightOf=“@id/checkboxpingpang”

              android:text=“@string/football”

              android:id=“@+id/checkboxfootball”/>

             

          <CheckBox

              android:layout_width=“wrap_content”

              android:layout_height=“wrap_content”

              android:layout_toRightOf=“@id/favorite”

              android:layout_below=“@id/checkboxfootball”

              android:text=“@string/basketball”

              android:id=“@+id/checkboxbasketball”/>

             

          <CheckBox

              android:layout_width=“wrap_content”

              android:layout_height=“wrap_content”

              android:layout_toRightOf=“@id/checkboxbasketball”

              android:layout_alignTop=“@id/checkboxbasketball”

             

              android:text=“@string/tennis”

              android:id=“@+id/checkboxtennis”/>

      </RelativeLayout>

      <RelativeLayout

          android:layout_width=“fill_parent”

          android:layout_height=“wrap_content”

          >

          <TextView

              android:layout_width=“@dimen/TextViewWidth”

              android:layout_height=“wrap_content”

              android:text=“@string/cityString”

              android:textSize=“@dimen/fontSize”

              android:id=“@+id/city”/>

          <Spinner

              android:layout_width=“fill_parent”

              android:layout_height=“wrap_content”

              android:layout_toRightOf=“@id/city”

              android:id=“@+id/cityItems”>

     

         </Spinner>

      </RelativeLayout>

          <Button

              android:layout_width=“wrap_content”

              android:layout_height=“wrap_content”

              android:text=“@string/registerButtonText”

              android:id=“@+id/regidterButton”/>

     

       

  

 

</LinearLayout>

·参数设置:

<dimen name=”fontSize”>22px</dimen>

寄存px(pixels),in(inches),mm(millmeters),pt(points at 72 DPI)类型的数码

·应用:

      Android:textSize=”@dimen/fontSize”

·布局的尤其属性

      在这边大家须要用到Relativelayout 的各自属性,例如:

      Android:layout_toRightOf=”@id/age”

           这是与控件age向右对齐

·输入框的输入限制

      Android:numeric=”integer

 

 

编写java代码:

package com.sharpandroid.UserLogin;

 

import java.util.ArrayList;

 

import java.util.List;

 

 

import android.app.Activity;

import android.app.AlertDialog;

import android.app.ProgressDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.EditText;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.Spinner;

 

public class LoginActivity extends Activity {

  

  private static final String[] cities =
{“北京”,”上海”,”石家庄”,”保定”,”米兰”,”慕尼黑”,”巴黎”};

  private EditText name,age,pass;

  private Button regButton;

  private RadioGroup sexRadioGroup;

  private CheckBox basketball,football,pingpang,tennis;

  private Spinner cityItems;

  private boolean flag = true;

  private List<CheckBox> favorities;

    public void onCreate(Bundle savedInstanceState) {

   

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        //定义一个ArrayList,用来存放所有的checkBox

        favorities = new ArrayList<CheckBox>();

        //得到相应的对目标

        name = (EditText) findViewById(R.id.nameValue);

        age = (EditText) findViewById(R.id.ageValue);

        pass = (EditText) findViewById(R.id.passValue);

        regButton = (Button) findViewById(R.id.regidterButton);

        cityItems = (Spinner) findViewById(R.id.cityItems);

        sexRadioGroup = (RadioGroup) findViewById(R.id.sexMenu);

       

        basketball = (CheckBox) findViewById(R.id.checkboxbasketball);

        //将basketball对象添加到favorities中

        favorities.add(basketball);

        football = (CheckBox) findViewById(R.id.checkboxfootball);

        favorities.add(football);

        pingpang = (CheckBox) findViewById(R.id.checkboxpingpang);

        favorities.add(pingpang);

        tennis = (CheckBox) findViewById(R.id.checkboxtennis);

        favorities.add(tennis);

        //创制一个数组型适配器,并将cities中的数据

        ArrayAdapter<String>adpter = new
ArrayAdapter<String>(

       
LoginActivity.this,android.R.layout.simple_spinner_item,cities);

       
adpter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        cityItems.setAdapter(adpter);

        //为regButton注册一个风云监听器

        regButton.setOnClickListener(new View.OnClickListener() {

       //当按钮被点击的时候调用

       

       @Override

       public void onClick(View v) {

       flag = addUser();

       if(flag)

         //成立Alertdialog对话框的来得登录音信。

         new

        
AlertDialog.Builder(LoginActivity.this).setTitle(“请确认音信”)

         .setMessage(“您的新闻如下:”+”\n” + “姓名:”

         +name.getText().toString()+”/n”+” 年龄:”

         +age.getText().toString()+”/n”+”性别:”

         +getSex()+”\n”+”爱好:”+getFavorite()

         +”\n”+”城市:”+getCity()+”\n”)

         .setCancelable(false).setPositiveButton(“确定”,

         new DialogInterface.OnClickListener() {

           

            public void onClick(

                DialogInterface dialog, int id) {

              // TODO Auto-generated method stub

              ProgressDialog.show(

              LoginActivity.this,”用户音讯登记中”,”请等待……”)

              .setCancelable(true);

             

            }

         }).setNegativeButton(“修改”,

              new DialogInterface.OnClickListener() {

        

                public void onClick(

                     DialogInterface dialog, int id) {

                   dialog.cancel();//删除对话框

                  

                }

              }).show();

       }

           

        

      

     });

    }

    //获取Spinner中的值

    private String getCity(){

    return cities[cityItems.getSelectedItemPosition()];

   

    }

    //获取checkBox中的值

    private String getFavorite(){

    String favString = “”;

    for(CheckBox cd : favorities){

        if (cd.isChecked()){

          favString +=cd.getText().toString();

          favString +=”,”;

           

        }

    }

    if(favString != “”){

favString = favString.substring(0,favString.length() -1);

       

    }else{

        favString=”您还没有选择!”;

       

    }return favString;

    }

    private String getSex(){

    RadioButton mRadio = (RadioButton)findViewById

          (sexRadioGroup.getCheckedRadioButtonId());

    return mRadio.getText().toString();

    }

    public boolean addUser(){

    if(name.getText().toString().length()==0){

        name.setError(“用户名不嫩为空”);

        return false;

    }

    if (age.getText().toString().length()==0){

        age.setError(“年龄无法为空”);

        return false;

    }

    if(pass.getText().toString().length()==0){

        pass.setError(“密码无法为空”);

        return false;

    }

    return true;

    }

}

当你未曾输入用户名就点击注册会并发提示:如下:

图片 2

点击注册会合世:

 

图片 3