[转]Android的userlogin登录

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

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

前几日整治比尔(比尔)盖茨的素材时,驾驭到比尔(Bill)盖茨的三伯是前国家银行行长,二叔是律师,大姑是银行体系董事,比尔(比尔)盖茨从小就喜欢电脑,上高中时结交了同等爱好电脑的保罗(Paul)·Alan,为该校编写了一套程序,课程表以4200$的标价卖给了湖畔中学,同时还编制了MS-DOS操作系统,凭借父母的社会基金与IBM签下了首个大单,同时也赚取了人生第一桶金。

  用户注册

比尔(比尔(Bill))盖茨创制微软之初就悟出了未来办公桌上芸芸众生一台电脑,而且软件决定硬件,可见比尔(比尔)盖茨当年特种的见地培育了今天的世界首富。比尔(比尔(Bill))盖茨一向做着友好喜爱的事,比尔(比尔(Bill))盖茨爱好豪车,网球,收藏,读书。比尔盖茨的豪宅价值21.6亿$,豪宅中珍藏了过多市值不菲的艺术品,比尔(Bill)盖茨九岁就读完了《百科全书》,比尔盖茨从小爱思考,全身心专注某一件事。

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

比尔盖茨在安拉阿巴德希伯来大学结识了史蒂夫(Steve)·鲍尔(Bauer)默,成为了比尔盖茨的同步人,并且直接到现行,用比尔(Bill)盖茨的话说,没有Steve·鲍尔(Bauer)默就从未微软,可知在联合人的精选上多么首要,犹如巴菲特的联有名气的人查尔斯(Charles)·芒格一样,比尔(比尔(Bill))盖茨的知心人巴菲特为比尔·梅琳达(Linda)(Melinda)基金会赠送了300亿$,成为全美利坚合作国最大的基金会。

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

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

编写String.Xml

她俩为欧洲和印度重大在教育和研发疫苗上有重大贡献,帮衬缓解特困人口。正像习主席同样2020年使中国脱贫,伟人都有同一大的职分感。

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

比尔(Bill)盖茨照旧营销人才,把Windows系统卖到环球,让海内外的人都利用微软的产品。比尔(Bill)盖茨两次三番23年稳居全世界富豪榜第一名。个人品牌及影响全球60亿人。

<resources>

自己的沉重是让全中国特困村屯地区不用外出也有书读,建立一所公益体育场馆!马化腾(Pony)的竹签就是公益教室。卡位,定位是直接困绕我的题目。比尔(比尔(Bill))盖茨的慈善事业使自身奋斗像比尔(比尔(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年1十一月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