人品计算器



在src的Java代码当中,com.xiakai.rpcalc.MainActivity
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;

    public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            new Thread(){
                public void run() {
                    try {
                        Thread.sleep(2000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    Intent intent = new Intent();
                    intent.setClass(MainActivity.this, CalcActivity.class);
                    startActivity(intent);
                    finish();//把mainActivity关闭
                };
            }.start();

        }
    }
在src的Java代码当中,com.xiakai.rpcalc.CalcActivity
    import android.app.Activity;
    import android.content.Intent;
    import android.graphics.BitmapFactory;
    import android.os.Bundle;
    import android.text.TextUtils;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.RadioGroup;
    import android.widget.Toast;

    public class CalcActivity extends Activity {
        private EditText et_name;
        private RadioGroup rg_sex;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_calc);
            et_name= (EditText) findViewById(R.id.et_name);
            rg_sex = (RadioGroup) findViewById(R.id.rg_sex);
        }

        public void calc(View view){
            String name = et_name.getText().toString().trim();
            if(TextUtils.isEmpty(name)){
                Toast.makeText(this, "姓名不能为空", 0).show();
                return;
            }

            //把字符串的数据传递给第三个界面
            Intent intent = new Intent(this, ResultActivity.class);
            intent.putExtra("name", name);//在意图对象里面携带要传递的字符串数据
            intent.putExtra("sex", rg_sex.getCheckedRadioButtonId());
            intent.putExtra("bitmap", BitmapFactory.decodeResource(getResources(), R.drawable.logo));
            startActivity(intent);
        }
    }
在src的Java代码当中,com.xiakai.rpcalc.ResultActivity
    import java.io.UnsupportedEncodingException;

    import android.app.Activity;
    import android.content.Intent;
    import android.graphics.Bitmap;
    import android.os.Bundle;
    import android.widget.ImageView;
    import android.widget.TextView;

    public class ResultActivity extends Activity {
        TextView tv_result;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_result);
            tv_result = (TextView) findViewById(R.id.tv_result);

            Intent intent = getIntent();
            String name = intent.getStringExtra("name");
            Bitmap bitmap = intent.getParcelableExtra("bitmap");
            ImageView iv = (ImageView) findViewById(R.id.iv);
            iv.setImageBitmap(bitmap);
            int rb_id = intent.getIntExtra("sex", R.id.rb_male);

            byte[] result = null;
            try {
                switch (rb_id) {
                case R.id.rb_male://男性
                    result = name.getBytes();
                    break;

                case R.id.rb_female://女性
                    result = name.getBytes("gb2312");
                    break;

                case R.id.rb_unknow://未知性别:
                    result = name.getBytes("iso-8859-1");
                    break;
                }
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            int total = 0;
            for(byte b: result){
                int number = b&0xff; //-128~127
                total += Math.abs(number);
            }
            int rp = total%100;
            String info = null;
            if(rp>90){
                info = ("姓名:"+name+"\n人品为:"+rp+"\n评价:您的人品很好,祖坟冒青烟");
            }else if(rp>60){
                info = ("姓名:"+name+"\n人品为:"+rp+"\n评价:您的人品还不错,继续保持");
            }else if(rp>30){
                info = ("姓名:"+name+"\n人品为:"+rp+"\n评价:您的人品为渣...");
            }else{
                info = ("姓名:"+name+"\n人品为:"+rp+"\n评价:我的错,不该跟你提人品.");
            }


            tv_result.setText(info);
        }
    }
在res/layout/activity_main.xml 代码的写法
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >

        <ImageView
            android:layout_centerInParent="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/logo" />

    </RelativeLayout> 
在res/layout/activity_calc.xml 代码的写法
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/logo" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="请选择用户的性别:" />

        <RadioGroup
            android:id="@+id/rg_sex"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

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

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

            <RadioButton
                android:id="@+id/rb_unknow"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="未知" />
        </RadioGroup>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <EditText
                android:id="@+id/et_name"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="3"
                android:hint="请输入要计算的姓名" />

            <Button
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="calc"
                android:text="计算" />
        </LinearLayout>

    </LinearLayout>     
在res/layout/activity_result.xml 代码的写法
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#44ff0000"
        android:gravity="center"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/iv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/tv_result"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="结果:"
            android:textColor="#000000"
            android:textSize="18sp" />

    </LinearLayout>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值