Android开发走过的坑(持续更新)
1 华为 nova真机 打印不出Log
参考资料:http://www.apkbus.com/thread-585228-1-1.html
解决:针对权限问题,我们当然也可以解决的,华为手机在你的拨号界面,请拨*#*#2846579#*#*,我们就进入了工程菜单,接下来我们就可以操作了。点击ProjectMenu,进入后台设置,很容易看到的就是LOG设置。进入LOG设置,将AP日志打钩并关闭,或许你还有顾虑,那你就全部选中然后关闭,然后重新启动手机。
2 AS 在用vivo x9手机运行程序时,出现“解析软件包时出现问题”的问题。
参考资料:https://blog.csdn.net/wl521124/article/details/80558155
解决方法:
打开as 的setting界面,把instant run 界面的 enable 前面的√去掉,如下图:
3 launching app client not ready yet
新建工程时,打包运行,没有打包,也没有报错,提示 launching app client not ready yet
这个是一个很低级的错误,因为我新建工程时选择的是no activity, java文件下都没有代码,能打包成功才怪呢,估计只有像我这种菜鸟才犯这样的低级错误吧。老鸟也是一个坑一个坑过来的,这就是成长吧
从新建了一个工程,这次选的是empty activity, 这样再打包运行就可以了
4 kotlin定时器的使用
protected var mCompositeDisposables: CompositeDisposable? = null
var disposable = Observable.timer(, TimeUnit.MILLISECONDS).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()).subscribe{mAdapter.notifyDataSetChanged()}
mCompositeDisposables?.addAll(disposable)
上面代码表示延迟执行mAdapter.notifyDataSetChanged() 800ms
5 用Java代码改变xml布局中的margin
ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams)plSupport.getLayoutParams();
layoutParams.bottomMargin = 0;
plSupport.setLayoutParams(layoutParams);
6 本地打包是好的,jenkins打包有一个弹窗显示和本地打包显示的不一样
原因:定义的bean类没实现 basebean 导致解析不了
解决,定义的bean类实现 basebean
7 Namwspace 'app' is not bound
主要的问题是根节点少了一个声明。
xmlns:app="http://schemas.android.com/apk/res-auto"
参考:https://blog.csdn.net/mr_hjy/article/details/87436179
8 用Java改变TextView中的textStyle
例 字体加粗
xxx.setTypeface(null, Typeface.BOLD);
9 Java 自定义路由
try {
JSONObject param = new JSONObject();
param.put("selectTopic", true);
JSONObject data = new JSONObject();
data.put("name", "topic_list");
data.put("param", param);
JSONObject route = new JSONObject();
route.put("page", "flutter");
route.put("data", data);
.jump(route);
}catch (Exception e){
e.printStackTrace();
}
10 Android开发神器 Pandora
将pandora集成后,app只需摇一摇即可出现工具箱,包含ui、网络、沙盒(数据库等)、选择控件等功能
11 命令行编辑
./gradlew build (或者执行 ./gradlew assembleEnvtest 只打包测试版本)
cd build/outputs/apk/debug
adb install -r app-debug.apk 安装
12 【android】AudioManager音量控制
//音量控制,初始化定义
AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
//最大音量
int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
//当前音量
int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
直接控制音量的多少:
if(isSilent){
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
}else{
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, tempVolume, 0); //tempVolume:音量绝对值
}
13 AudioManager(音频管理器)
https://www.runoob.com/w3cnote/android-tutorial-audiomanager.html
14 大家对HttpUrlConnection这个类并不陌生,它处于java.net包下的,是JDK支持的。它主要用来服务器端发送Http请求
15 EventBus发消息所在文件,不用注册EventBus,如果注册了EventBus,没有接受,就会报错
EventBusException: Subscriber class *** and its super classes have no public methods with the @Subsc
16 ScrollView下轮播图片加载不出来,原因是ScrollView下只有一个轮播组件
结局:ScrollView下放一个RelativeLayout或者LinearLayout,再把轮播组件放到RelativeLayout内
注意:ScrollView
的子元素只能有一个,可以是一个View
(如ImageView
、TextView
等) 也可以是一个ViewGroup
(如LinearLayout
、RelativeLayout
等),其子元素内部则不再限制,否则会报以下异常。
17 adb导出手机日志
1 adb devices 看看有没有连接成功手机
2 adb logcat -d > log.txt 已log.txt文件名保存
18 在Android开发中,常常需要调用对话框,但会遇到这样一种情况,在显示对话框的时候,点击对话框以外的屏幕其他区域,会关闭对话框。以下是解决该问题的设置:
//不关闭写法
builder.setCancelable(false);
//关闭写法
builder.setCancelable(true);
参考:https://blog.csdn.net/xiaohei5188/article/details/16827709
最新文章
- c# 如何中List<;object>;中去掉object对象中的重复列数据?
- iOS 杂笔-25(不要用copy修饰NSMutableString)
- Git相关知识
- ThinkPHP报错处理
- windows下使用VS2010编译jpeglib
- 一张图解释Hadoop IPC
- linux系统tomcat启动正常访问不到主页面
- [原创]java WEB学习笔记85:Hibernate学习之路-- -映射 一对一关系 ,基于主键方式实现
- 无缝漫游 Seamless Roaming
- Unix守护进程
- left join 和 left outer join 有什么区别?
- Javascript进阶篇——( 事件响应)笔记整理
- split()方法
- aspnetcore.webapi实战k8s健康探测机制 - kubernetes
- Java获取Ip发送邮件
- [转]OpenContrail 体系架构文档
- python中执行py文件出错(提示File “<;stdin>;”,line 1,SyntaxError:invalid syntax)
- springboot配置Druid监控
- reentrantlocklock实现有界队列
- 导出文件为excle
热门文章
- nevertheless|magnificent |prosperous|
- TortoiseSVN配置和使用教程
- 全文检索ElasticSearch的简单使用笔记
- 吴裕雄--天生自然KITTEN编程:飞船大战
- mysql-5.7.25解压版本安装和navicat 12.1版本破解-4.8破解工具
- Mongdb创建 连接过程
- 从iPhone X到三星S9,为何现在山寨还能如此肆无忌惮?
- 来自ebay内部的「软件测试」学习资料,覆盖GUI、API自动化、代码级测试及性能测试等,Python等,拿走不谢!...
- 多个计数器在Vuex中的状态
- C++走向远洋——55(项目一3、分数类的重载、>>