最近开发安卓软件预见了很多问题,也许是自己太笨,总是犯一些低级错误,且在王珊搜找答案解决问题总是很慢,有时候一个 问题卡一两天,于是特地整理了这一段时间所遇到的一些问题以及解决办法。
1.用真机调试软件
基本上我们开发软件都是要在真机上运行的,因此光用模拟器调试不够,虽然模拟器调试可以调试多个不同版本,但轮到真机时总是会出现各种各样的问题,比如闪退啊之类的。所以,这里我推荐直接用真机调试,当需要兼容Android版本的时候再用模拟器。
那么,真机调试的步骤如下:
打开手机的设置——关于手机——系统版本 ,连续点击七下,进入开发者模式,这时在更多设置里面会出现<开发者选项> 这一栏(平常是隐藏的),点进去之后将usb调试 打开,然后用数据线连接上电脑,AVD Manager即会自动识别。当然因为手机厂商的不同,开发者选项的位置是不一样的,但都大同小异。以笔者的手机为例,笔者用的是小米mix2,系统为miui,在设置的最顶端有个<我的设备>,点进去再点击<全部参数>,即可显示手机的内存等参数,然后在<miui版本>上点击七下即可打开开发者选项。
有的朋友可能会发现即使打开了usb调试,安装的时候也会报错,报错信息如下:
INSTALL_FAILED_USER _RESTRICTED: Install canceled by user. It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.
这是因为在高版本的安卓系统里面,<开发者选项>里面都有一个“允许通过USB安装软件” 设置,默认是关闭的,所以当通过AVD安装软件时会报错,解决方法即将其打开即可。
有的人也许会注意到在”允许通过USB安装软件“这一项下面有个“USB调试(安全设置)” ,这一项在调试软件的时候也必须开启(如果软件需要权限的话,当然,大部分软件或多或少都需要一点),否则程序会因不能修改权限而闪退。
2.Fragmen相关问题
安卓的fragment是一个非常好用的东西,从字面上看fragment即碎片,其实相当于一个Activity,fragment类的方法跟Activity是一脉相承的。
(1)fragment的初始化
很简单,只需在onCreantView方法里面加入你的布局文件即可,如下:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view=inflater.inflate(R.layout.activity_speed,container,false);
return view;
}