java吧 关注:1,298,834贴子:12,836,196
  • 6回复贴,共1

大佬,想问下Android怎么声明final?声明后报错UnhandledException

只看楼主收藏回复

如图,是查询Mysql数据库并表格显示。用到了JDBC的ResultSet接口,因为android要求在线程内更新UI,所以要声明final。图中result是java.sql.RecordSet。
Android开发学的不多,硬着头皮做的。。。


IP属地:上海1楼2019-02-11 00:10回复
    不懂安装, 不过你为什么要新建一个线程来操作resultset?


    IP属地:广东2楼2019-02-11 01:36
    收起回复
      2026-03-07 08:06:16
      广告
      不感兴趣
      开通SVIP免广告
      在try块中声明ResultSet并加上final修饰符。


      IP属地:四川来自Android客户端3楼2019-02-11 03:51
      回复
        另外,try catch无法捕获新线程的异常,你需要在新线程的run方法中再写一个try catch来捕获异常。


        IP属地:四川来自Android客户端4楼2019-02-11 03:55
        回复
          按照提示,这里就是让你处理一下异常,就是try-catch或是throws出去。


          IP属地:广东5楼2019-02-11 08:52
          回复
            使用子线程进行数据库操作,是因为不能阻塞UI线程;而声明为final变量是因为你的子线程是内部类;图片这种错误就受检异常,直接catch即可。你这种写法就只能写写demo玩而已,实际生产环境并不允许出现客户端直接操作远程数据库,都是设计成restful风格接口进行交互,因为数据库账号,密码有在apk包中泄露的风险。


            IP属地:广东6楼2019-02-11 09:38
            回复