第一个android程序

来源:互联网 发布:ios 无网络提示页面 编辑:程序博客网 时间:2024/06/05 11:19

          在搭建好环境,并且学习了android的基本构件后,大家都会迫不及待地自己动手写一个自己的小程序,我也不例外。

          从菜鸟开始,首先掌握如何实现一个页面,掌握android的标签语言是王道,但是那不是一时半会儿就能写出好看的页面的。android开发环境允许我们直接在页面上"画"出自己想要的页面样式,当然要熟悉页面上的各种组件和布局方式,之后就是做PPT 的节奏。

         光有页面不行,关键是实现功能,这就需要Activity,其实就是一个java类,在java类里实现具体的功能,但是如何将java类里功能和具体的页面绑定呢?我们写的每个类都继承 Activity ,都要重写里面的onCreate函数,在onCreate函数里有添加一条语句 setContentView(R.layout.activity_main),这样就将一个页面和一个Activity绑定到一起了,页面用于向用户显示信息,Activity则实现了具体的功能。

         (注意每一个Activity都要在AndroidManifest里进行注册,只有这样这个Activity才是合法的。)

          要实现功能就要对用户的行为做出应答,比如用户的点击、输入信息等等,这就需要事件监听,事件监听和java以及c#图形界面的事件监听很类似,捕获就是用户做哪些事情,然后进行相应的处理。

         这里直接附上源码

         @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
s=(Button)findViewById(R.id.button1);
   s.setOnClickListener(new Mylistener());
   shu = (EditText)findViewById(R.id.shuzhang);
shou=(EditText)findViewById(R.id.shousuo);
}

class Mylistener implements View.OnClickListener{

@Override
   public void onClick(View v) {
       Intent intent = new Intent(MainActivity.this,ConclusionActivity.class);
       intent.putExtra("shuzhang",shu.getText().toString() );
       intent.putExtra("shousuo", shou.getText().toString() );
       startActivity(intent);
   }

}


         好了,一个android程序的最基本、同时也是最重要的就是这样,下面来实现判断血压的小程序,用户分别输入收缩压和舒张压后点击确定按钮,我们捕获用户填写的信息,并对血压进行判断,反馈给用户结论和注意事项。

        先看成果

        



         这个小程序一共用了两个页面,第一个页面获取用户信息,第二个页面来进行血压判断并显示结果。

         这里遇到了一个小问题,一般一个Activity对应一个页面,这个Activity能够获取它对应页面上View的值,但是其它页面的值如何获取呢,这里我是在一个Activity里获取用户输入的数据,在另一个Activity里对数据进行判断,一开始直接用第二个页面对应的Activity来获取第一个页面上组件的数值,结果程序崩了,后来查到了一种在不同Activity之间进行数据传递的方式,这里附上代码

原始数据的Activity:

            Intent intent = new Intent(MainActivity.this,ConclusionActivity.class);
    intent.putExtra("shuzhang",shu.getText().toString() );
    intent.putExtra("shousuo", shou.getText().toString() );
    startActivity(intent);

接收数据的Activity:

           int   hight =Integer.parseInt( getIntent().getStringExtra("shousuo"));
   int   low = Integer.parseInt( getIntent().getStringExtra("shuzhang"));

       我们是通过Intent在不同Activity之间进行跳转的,因为每个Activity是一个容器会填充一个页面,所以当Activity变化时,里面的页面的也会变化,感觉就好像在切换页面。

我们在创建Intent时也可以将我们要在Activity之间传输的数据也加入其中,利用Intent.putExtra()函数,第一个参数是为你传输的数据起一个名字,第二个参数是你要传输的数据,在第二个Activity里就可以根据名字找到相应的数据,这样就实现了在不同Activity之间数据的传递。还有其它的办法,但是对于初学者来说,这个办法是最便于理解和使用的。



原创粉丝点击