Android开发学习经历(二)

    今天参考网上的教程写了一个简单的只能进行两个数乘法的小程序,第一次用Java进行安卓开发,当中遇到了不少问题,当然现在在手机上调试后只生成了一个MainActivity而且闪退,咨询相关大神后需要查看logcat(日志),折腾了几天浪费了很多时间,原因就是Interger.parseInt将字符串转为int型要先判断字符串是否为空,setText()如果里面是int型会导致无法找到资源而闪退,所以这段代码的两个漏洞导致了程序闪退。调试代码的过程着实很花时间,作为初学者真应当虚心向会的人请教,这个过程会加强你对代码的理解,别人的代码也只有经过你的思考才能变成你的。
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);
        resultView = findViewById(R.id.result);
        //获得传递的值
        Intent intent = getIntent();
        String factorOneStr = intent.getStringExtra("one");
        String factorTwoStr = intent.getStringExtra("two");
        if (!TextUtils.isEmpty(factorOneStr)) {//判断是否为空
             factorOneInt = Integer.parseInt(factorOneStr);//将字符串转为int型
        }
        if (!TextUtils.isEmpty(factorOneStr)) {
             factorOneInt = Integer.parseInt(factorOneStr);
        }
        int result = factorOneInt * factorTwoInt;
        String resultString= Integer.toString(result);
        resultView.setText( resultString);//显示文本}

         Intent intent = new Intent(MainActivity.this,ResultActivity.class);
         getIntent().putExtra("one", factorOneStr);
         getIntent().putExtra("two", factorTwoStr);
         startActivity(intent);

这段代码的作用是将第一个Activity的两个字符串传递到下一个Activity,这是使用的显式Intent,MainActivity.this作为上下文,传入Result.class作为目标活动。

        Intent intent = getIntent();
        String factorOneStr = intent.getStringExtra("one");
        String factorTwoStr = intent.getStringExtra("two");

同样在ResultActivity必须有上面一段接收的代码。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值