Android开发经验日志

来源:互联网 发布:承德县德鸣大数据招聘 编辑:程序博客网 时间:2024/05/16 07:36

经常遇到一些重复性的错误,说不准什么原因造成的,原因太多,也经常忽视忘记,常找半天后发现原来是这么简单。每遇到一次致命的bug或者发现容易犯的错误我基本上会每次进来添加一下。

锦囊妙计1:在adb shell下面平板ping不上电脑,但wifi是开着的,那么重新连接一下wifi。结果我试了一下就ping成功了。

锦囊妙计2:在新建的apk里写连接服务器的程序后,运行出错说连不上网络。请看一下AndroidManifest里有没有加安卓权限INTERNET。

锦囊妙计3:我写了个播放mp3的apk有个问题,每转一次屏幕就默认打开一个新的页面,而之前的页面不再出现但进程还在。照此多转几次就开了多个音乐进程,而你只能控制最后一个进程。所以可以在AndroidManifest里把横竖屏定死了。或者不知道能不能监听横竖屏的切换来杀死之前一个屏幕的进程。

锦囊妙计4:获取内存里的文件信息报错。请看下AndroidManifest里有没有加安卓权限READ_EXTERNAL_STORAGE。

锦囊妙计5:防止自动锁屏的Android权限<uses-permission android:name="android.permission.WAKE_LOCK"/> 

锦囊妙计6:Android4.4监听广播的写法是这样子,不然只有系统才能扫描SD哦。sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath())));

锦囊妙计7:在Android的客户端通过ip和端口与服务器连接的socket的初始化部分一定要放在子线程里面,否则连不上服务器而异常处理。

锦囊妙计8:连不上socket服务器的话,请检查你的ip是不是正在连接的服务器的ip。

锦囊妙计9:%是取余数

锦囊妙计10:new Thread(this).start();//循环调用当前这个子线程。这个可以在该子线程中用while循环子线程里接受发送数据的部分,以此替代。.

在socket编程时学会使用while(true){}死循环来不停的接受数据,可以在里面判断接收到某数值时break出去。

 锦囊妙计11:bype[]  b=0x563412,56是一个字节,34是一个字节,12是一个字节,5634就是两个字节的组合,563412就是3个字节。

 锦囊妙计12:我们开发的wifi音箱的协议里正常情况下校验码一定检验为0,否则是黑客攻进了。开发时遇到的校验错误则可能是代码变量等失误,要检查修改哦。

锦囊妙计13:接受数据时,数组溢出,分包处理。

锦囊妙计14:若采用优先存储在外部存储卡中,没有外部存储卡是再用内部存储卡,这需要第三方应用控制存储逻辑实现。系统则不改存储方案。

锦囊妙计15:系统在线更新提示遇到未知错误,说明没有连上服务器,可以用adb logcat命令来查看问题。

锦囊妙计16:用DragonFace V2.2.0这个工具修改固件,包括语言,apk等。改成英语在build.prop里persist.sys.language=en_US,persist.sys.country=US,中文是persist.sys.language=zh,persist.sys.country=CN

锦囊妙计17:mv: cannot stat   ../framework-res.apk   这个命令不能用../开头

锦囊妙计18:EditText 是输入数据自动回车的,加上android:singleLine="true"  就不会自动回车。

锦囊妙计19:RelativeLayout里控件的位置调整了,若它在Java类中被调用了,就要改一下id,否则运行后程序报错。

锦囊妙计20:context = (MainActivity) getActivity()写了这句话后,有时却不能用context代替,只能直接用(MainActivity) getActivity()。如sqlQuery = ((MainActivity) getActivity()).getSqlQuery();再如sqlQuery = new SqlQuery((MainActivity) getActivity());

锦囊妙计21:用implement实现了某个接口,必须重写里面的所有方法。 

锦囊妙计22:CharSequence的对象charSequence,判断是否为空不能直接 charSequence.equals("");它不会为空字符串的!只能这么的:charSequence.toString().equals("");

锦囊妙计22:List<String> list = new ArrayList<String>();如果这个用List<String> list;代替写在全局不初始化,并且直接return (ArrayList<String>) list;的话,会有黄色警告线。所以最后初始化。

锦囊妙计23:String stext = String.format("确定注销\"%s\"?", this_app_name);//确定注销“政协提案”?

锦囊妙计24:getClass().getSimpleName();获得当前类的类名

锦囊妙计25:在浏览器的搜索栏里输入192.168.2.113:8015进不去,后来重新输入http://192.168.2.113:8015就进去了。

锦囊妙计26:RadioGroup里面写了3个radioButton,若其中2个radioButton的id一样,则运行效果不是正常的单选。固然id不能设置一样。

锦囊妙计27:在非类的Java文件里获得Strings文件里的数据,如用bpowerRPCActiity.getString(R.string.mobile_data_provider)。

锦囊妙计28:在Windows+R的运行命令中输入\\nt1或者\\192.168.3.101进入相关网络目录,当然没有用户名和密码是进不了滴。

锦囊妙计29:id的设置与否可以使某个引用的布局显示或不显示。

锦囊妙计30:case对应使用break跳出去,但是在if或for语句里要用return才能跳出所在的函数。

……



0 0
原创粉丝点击