android应用开发详解里的一个例子

问题描述

android应用开发详解里的一个例子

我导入的书上例子可以运行,照着书打进去的代码就不能运行,同样从例子里面复制过来的代码也不能运行,MainActivity可以显示,但是点击register后跳转的ResultActivity就不能显示,模拟器弹出has stopped字样,求解答
以下是代码

package com.amaker.test;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.ToggleButton;

public class MainActivity extends Activity {

    private Button register,cancel;
    private ToggleButton marriged;
    private RadioButton male,female;
    private EditText username,password;
    private Spinner position;
    private CheckBox reading,swimming;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        username = (EditText)findViewById(R.id.username);
        password = (EditText)findViewById(R.id.password);

        male = (RadioButton)findViewById(R.id.male);
        female = (RadioButton)findViewById(R.id.female);

        reading = (CheckBox)findViewById(R.id.reading);
        swimming = (CheckBox)findViewById(R.id.swimming);

        marriged = (ToggleButton)findViewById(R.id.marriged);

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

        String[] str = {"CEO","CFO","PM"};

        ArrayAdapter aa = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item,str);

        position.setAdapter(aa);

        register = (Button)findViewById(R.id.register);
        cancel = (Button)findViewById(R.id.cancel);

        register.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Bundle b = new Bundle();
                b.putString("username", "用户名称:"+username.getText().toString());
                b.putString("password", "用户密码:"+password.getText().toString());

                if(male.isChecked()){
                    b.putString("gender", "性别:男");
                }else{
                    b.putString("gender", "性别:女");
                }
                String temp = "爱好:";
                if(reading.isChecked()){
                    temp+="阅读";
                }
                if(swimming.isChecked()){
                    temp+=" ";
                    temp+="游泳";
                }

                b.putString("hobby", temp);

                if(marriged.isChecked()){
                    b.putString("marriged", "婚否:已婚");
                }else{
                    b.putString("marriged", "婚否:未婚");
                }

                b.putString("position","职位:"+ position.getSelectedItem().toString());

                Intent intent = new Intent(MainActivity.this,ResultActivity.class);

                intent.putExtra("data", b);

                startActivity(intent);
            }
        });

    }
}

import android.widget.ArrayAdapter;
import android.widget.ListView;

public class ResultActivity extends Activity{
    private ListView listView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.result);
        listView = (ListView) findViewById(R.id.ListView01);

        Intent intent = this.getIntent();

        Bundle b = intent.getBundleExtra("data");

        System.out.println(b.getString("username"));

        List list =  new ArrayList();

        list.add(b.getString("username"));
        list.add(b.getString("password"));
        list.add(b.getString("position"));

        list.add(b.getString("gender"));
        list.add(b.getString("hobby"));
        list.add(b.getString("marriged"));

        ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);

        listView.setAdapter(adapter);

    }
}

布局的xml
main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

<TableLayout
    android:id="@+id/TableLayout01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:stretchColumns="1"
    >

    <TableRow
    android:id="@+id/TableRow01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
        <TextView
        android:text="用户名称"
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></TextView>

        <EditText
        android:text=""
        android:id="@+id/username"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        ></EditText>
    </TableRow>

    <TableRow
    android:id="@+id/TableRow02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
        <TextView
        android:text="用户密码"
        android:id="@+id/TextView02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></TextView>

        <EditText
        android:text=""
        android:id="@+id/password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:password="true"

        ></EditText>
    </TableRow>

    <TableRow
    android:id="@+id/TableRow03"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
        <TextView
        android:text="性别"
        android:id="@+id/TextView03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></TextView>

        <RadioGroup
        android:id="@+id/gender_g"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <RadioButton
        android:text="男"
        android:id="@+id/male"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></RadioButton>

        <RadioButton
        android:text="女"
        android:id="@+id/female"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></RadioButton>

        </RadioGroup>
    </TableRow>

    <TableRow
    android:id="@+id/TableRow04"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
        <TextView
        android:text="婚否"
        android:id="@+id/TextView04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></TextView>

    <ToggleButton
    android:text="@+id/ToggleButton01"
    android:id="@+id/marriged"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"></ToggleButton>
</TableRow>

    <TableRow
    android:id="@+id/TableRow05"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >
        <TextView
        android:text="爱好"
        android:id="@+id/hobby"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></TextView>

        <CheckBox
        android:text="阅读"
        android:id="@+id/reading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="1"
        ></CheckBox>
        <CheckBox
        android:text="游泳"
        android:id="@+id/swimming"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_column="1"
        ></CheckBox>

    </TableRow>

    <TableRow
    android:id="@+id/TableRow06"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
        <TextView
        android:text="职务"
        android:id="@+id/TextView05"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></TextView>

        <Spinner
        android:id="@+id/position"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></Spinner>
    </TableRow>

    <TableRow
    android:id="@+id/TableRow07"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
        <Button
        android:text="取消"
        android:id="@+id/cancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></Button>

        <Button
        android:text="注册"
        android:id="@+id/register"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"></Button>

    </TableRow>

</TableLayout>
</LinearLayout>

result.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <ListView
    android:id="@+id/ListView01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"></ListView>
</LinearLayout>

解决方案

是不是没有在Manifest文件里注册ResultActivity?每个Activity都要在Manifest文件里注册后才能使用的。

时间: 2024-12-31 05:55:21

android应用开发详解里的一个例子的相关文章

《Android游戏开发详解》一2.4 执行Java程序

2.4 执行Java程序 Android游戏开发详解要执行一个程序,我们直接在项目的src文件夹(或FirstProgram类)上点击鼠标右键(在Mac上是Control +点击),如图2-16所示. 当执行该程序的时候,会弹出Console(如图2-17所示),并且显示消息"Hello, world! I am now a Java programmer".如果由于任何原因,控制台没有出现,那么可以点击工具栏(Eclipse窗口顶部)上的Windows菜单,然后选择Show View

《Android游戏开发详解》——第2章,第2.4节执行Java程序

2.4 执行Java程序Android游戏开发详解要执行一个程序,我们直接在项目的src文件夹(或FirstProgram类)上点击鼠标右键(在Mac上是Control +点击),如图2-16所示. 当执行该程序的时候,会弹出Console(如图2-17所示),并且显示消息"Hello, world! I am now a Java programmer".如果由于任何原因,控制台没有出现,那么可以点击工具栏(Eclipse窗口顶部)上的Windows菜单,然后选择Show View

《Android游戏开发详解》一2.20 对象的更多实践——模拟一个色子

2.20 对象的更多实践--模拟一个色子 Android游戏开发详解 在我们的下一个项目中,将模拟一个六面色子的滚动.色子会出现在许多现代的桌上游戏中,因为它们增添了不可预期的因素,如图2-26所示.在本节中,我们将展示在Java程序中如何模拟这种随机性. 我们首先创建一个名为"DiceProject"的新的Java项目.其中,创建一个名为DiceMaker的新的类,并且像通常一样给它一个main方法. 要产生一个随机数,我们必须使用Java库中名为Random的一个内建类.我们使用熟

《Android游戏开发详解》——第2章,第2.20节对象的更多实践——模拟一个色子

2.20 对象的更多实践--模拟一个色子 Android游戏开发详解 在我们的下一个项目中,将模拟一个六面色子的滚动.色子会出现在许多现代的桌上游戏中,因为它们增添了不可预期的因素,如图2-26所示.在本节中,我们将展示在Java程序中如何模拟这种随机性. 我们首先创建一个名为"DiceProject"的新的Java项目.其中,创建一个名为DiceMaker的新的类,并且像通常一样给它一个main方法. 要产生一个随机数,我们必须使用Java库中名为Random的一个内建类.我们使用熟

《Android游戏开发详解》一2.7 构建一个简单的计数程序

2.7 构建一个简单的计数程序 Android游戏开发详解在下一个示例中,我们将利用第1章中介绍过的for循环来打印出数字5到12之间的每一个偶数.这是一个简单的游戏示例,但是,掌握for循环语法的技巧很重要. 创建一个名为CountingProject的新的Java项目,并且创建一个名为EvenFinder的新类,添加程序清单2.7所示的main方法. 程序清单2.7 EvenFinder类 01 public class EvenFinder { 02 03 public static vo

《Android游戏开发详解》——第2章,第2.6节构建一个简单的计算器程序

2.6 构建一个简单的计算器程序Android游戏开发详解现在,我们已经尝到了甜头,让我们回过头来看看第1章介绍过的一些概念,并且构建一个简单的计算器程序.让我们给出一些动手实践的指导,来构建一个新的Java程序.请记住如下的主要步骤. ① 创建一个新的Java项目(将其命名为SecondProject). ② 在src文件夹中创建一个新的类(将其命名为SimpleCalculator). ③ 创建一个main方法. 如果任何时候你碰到困难,应该参考前面的小节.一旦按照上面的步骤进行,应该会看到

《Android游戏开发详解》一2.6 构建一个简单的计算器程序

2.6 构建一个简单的计算器程序 Android游戏开发详解现在,我们已经尝到了甜头,让我们回过头来看看第1章介绍过的一些概念,并且构建一个简单的计算器程序.让我们给出一些动手实践的指导,来构建一个新的Java程序.请记住如下的主要步骤. ① 创建一个新的Java项目(将其命名为SecondProject). ② 在src文件夹中创建一个新的类(将其命名为SimpleCalculator). ③ 创建一个main方法. 如果任何时候你碰到困难,应该参考前面的小节.一旦按照上面的步骤进行,应该会看

android网络应用开发详解

Android网络应用开发,主要有两种方式,一种是socket(是对tcp/udp协议的封装),另外一种就是使用Http协议,Android中主要提供了两种方式,HttpURLConnection和Apache HttpClient.下面对Android网络应用开发进行具体的阐述. 一.基于socket的网络通信 socket是为了网络服务提供的一种机制.通信的两端都是socket. 网络通信其实就是socket间的通信. 数据在两个socket间进行io传输. 1.基于udp的socket编程

《Android游戏开发详解》——第1章,第1.3节声明和初始化变量

1.3 声明和初始化变量 Android游戏开发详解 所有的基本数据类型(和字符串)都可以表示为变量.它们都是使用相同的基本语法来声明(创建)的. 创建一个新的变量的时候,我们总是要声明两件事情:变量的数据类型(data type)和变量的名称(variable name).在大多数情况下,我们还使用赋值运算符(assignment operator,即=)给变量指定一个初始值.有两种方法做到这点.第一种方法是指定一个字面值(literal value),例如,图1-1所示的'J'.第二种方法是