[整理]写Android+PHP+MySQL时遇到的问题

1、Android中 不可以直接使用JDBC链接服务器
    原因:Android无法存放库
              可能引起反序列化导致的漏洞
    解决途径:可以使用简易架构: Android访问PHP,由PHP链接服务器,获取表信息,PHP解析为JSON,Android中通过HttpCilent链接PHP,获取JSON数据,解析建立对象

2、Android中,HttpCilent链接需要在非主线程中打开
    原因:在Android4.0 之后,主线程只用来绘制界面
    解决方法:自建Thread

3、在Activity之间用Intent,无法传递User对象(i.putExtra())
    原因:如果传递User对象,需要用到序列化IO中,让对象实现Serializable接口,同时其包含的对象 也需要实现Serializable接口;
    解决方法:让ScoreBin 实现 Serializable接口;

4、XML无法创建
    原因:AndroidManifest 无法正常工作
    解决方法:需要检查AndroidManifest所相关的所有View,主要检查:是否注册,是否有关键属性(width,height),所对应Class是否正确关联。

5、ClassNotFoundError
    原因:在Android中,通过Eclipse是无法关联到相关lib的,需要手动将jar导入到lib文件夹中。
    解决方法:手动导入
    注意:该错误与ClassNotFoundException相类似,ClassNotFoundException是找不到类,而ClassNotFoundError是找不到适合的类

6、XML的UI中JPG无法透明
       原因:JPG格式中,透明处会自动填充白色
       解决方法:改为PNG格式

7、XML中,GridLayout是无法正确平分每一个格子的
    原因:底层代码缺陷
    解决方法:改用LinearLayout多次套用

8、在PHP中,GET模式:Http://Locahost/FirstPHP/index.php?select=login
    注意,变量赋值不需要引号
   (如果存在例如: xxx-xxx-xxx  其中有 “-”,需要在PHP端 写 MySQL语句的时候,特别使用 \" xxx-xxx-xxx\" 转译引号)

9、在非UI线程中,无法使用Toast
    原因:Toast属于UI
    解决方法:将Toast前后加Looper.prepare(); Looper.loop();使这条语句进入UI线程

10、关于构造方法默认构造写法,加强内聚
     aliDemo
     public DBTest() {    this("/DBConf.properties");   } 
     public DBTest(String conf) {    loadProperties(conf);    //setConn();  }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值