Android学习笔记:创建一个简单的双界面程序

这篇博客介绍了如何创建一个包含登录和结果显示界面的Android应用。首先,通过Android Studio创建项目,然后添加第二个布局文件,并创建Activity类。博主强调了布局文件中元素命名和字符串资源的使用,并展示了在按钮点击事件中切换Activity的代码。最后,博主提出了一些使用过程中遇到的问题,如Activity注册、界面交互不便等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在《Android 应用开发解密》这本书里面,没有交代创建一个项目所需要的全部步骤。如果只是从书的源码中看代码,那么始终无法自己创建一个完整的项目。自己摸索了一下,把结果整理出来。

 

我需要的双界面程序要包含一个输入用户名、密码的登录界面,以及一个显示结果的界面。至于中间的数据传递和数据校验等等以后再说。先把创建基本元素的事情搞定。下面是步骤。

 

第一步是创建一个 Android 项目,这个简单。

 

第二步,创建界面布局文件。项目创建好以后,会自动创建一个 Activity 和其布局文件 res/layout/main.xml。由于还需要一个界面,剩下的要自己加。先加布局文件,方法是在项目的包资源浏览器里面右键选择 New->Android XML File,剩下的看着办,没难度。

在布局文件里面给各个界面元素命名用的是 Edit ID,修改显示的文字用 Edit Text 。不过 Edit Text 和用VE不一样,不能直接输入,而是必须使用字符串资源。在那个弹出的对话框里面点击左下角的“New String...”就可以创建新的字符串资源了。显示已创建的字符串资源就那么个小框框,将来界面做复杂了可怎么选个资源啊?

 

第三步,创建 Activity  类。用创建普通 Java 类的方法就行了,创建的时候把父类指定为 Activity 。不过这样创建好的类是完全空白的,要自己把布局加进去。从先前创建项目的时候自动生成的 Activity  类里面复制代码就可以了。我在两个界面里面各加了一个 Button,点击Button就在2个界面之间切换,其中登录界面的代码是这样的:
       
  Button button = (Button) findViewById(R.id.loginButton);
       
  button.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v)
   {
    /* 新建一个Intent对象 */
    Intent intent = new Intent();
    /* 指定intent要启动的类 */
    intent.setClass(HelloAndroid.this, LoginResult.class);
    /* 启动一个新的Activity */
    startActivity(intent);
    /* 关闭当前的Activity */
    HelloAndroid.this.finish();
   }
  });

 

第四步,注册  Activity  类。据说如果不在项目的 XXXManifest.xml 文件中注册, Activity  类就不能使用。这是谁从Struts那学来的坏毛病啊?还是Ruby省事。

 

目前碰到的问题:

1、在新建字符串资源的时候,那个弹出框的默认输入焦点不在最上面输入字符串文本的地方,却是在输入字符串资源键值的地方,设计失误吗?

2、既然所有的 Activity  类都必须注册才能用,那么为什么不像创建界面的时候自动修改 R.java 一样,自动在 Activity  类创建的时候往XXXManifest.xml 文件里面添加 Activity  类呢?

3、修改  XXXManifest.xml 文件来添加 Activity  的时候,那部分界面在我22英寸屏幕下都藏在下面,要拖出滚动条才能看到。这么重要个界面,不能单独分出一个标签页来吗?

4、在两个 Activity 之间怎样传递数据,是那个 Intent 吗?但是从名字来看不像啊。难道是 Content Provider ?太复杂了点吧。总不能用全局变量这么老土的方法来搞吧。

5、在重构的时候修改了界面组件的ID,R.java 文件里面的ID改掉了,可是我们自己的 Java 文件里面没有跟着修改,是Bug?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值