
Android经验之谈
文章平均质量分 82
tz_1qu212
想要的自己拿去
展开
-
由强制更新引发的退出应用问题
最近编辑于2018年6月29日 //连续按两次才退出应用 @Override public void onBackPressed() { if (exit) { //回到桌面 Intent intent = new Intent(Intent.ACTION_MAIN); intent....原创 2018-06-29 16:40:23 · 514 阅读 · 0 评论 -
带有进退动画的fragment
编辑于2018年11月22日常常有这样的需求,有几个连续的表格页面需要填写,同时需要在最后一个页面一次性提交,于是我们想到使用fragment,但又要作出类似activity进退动画的效果。先看效果图:这里我使用了一个activity加载多个fragment的方法来实现。MainActivity:import android.support.v4.app.Fragment...原创 2019-07-28 04:20:27 · 1562 阅读 · 0 评论 -
android studio 能在真机上启动程序,不能在模拟器上启动(模拟器能启动,adb也能识别)
编辑于2016年6月18日虽然好得有点莫名奇妙(这里需要感谢我的QQ群友),不过还是做了一点总结.可能第一步需要检查sdk路径是否正确设置.这时候再运行程序突然又报错,这会儿连真机都不能运行了(之前没报,在真机上是能正常运行的,所以说莫名奇妙)这里的问题的解决方法比较肯定只需要像图中所示,去掉第一个勾就行了.之后,夜神模拟器也能正常运行了(莫名奇妙)...原创 2019-07-28 04:16:51 · 1016 阅读 · 0 评论 -
Android之UI界面--软键盘弹起至登陆按钮下方
编辑于2016年10月13日用户登陆大概是每一个项目最先遇到的需求,但有时UI界面的设计刚好使键盘弹起挡住登陆按钮,这多多少少让用户觉得麻烦。QQ登陆的时候有一个效果,随着键盘的弹起,整个页面向上弹起,使软键盘刚好位于登陆按钮下方,方便了用户在输入账号密码后直接登陆。<?xml version="1.0" encoding="utf-8"?><Linea...原创 2019-07-28 04:16:10 · 434 阅读 · 0 评论 -
MVP应用架构模式
编辑于2017年3月24日参考:《Android源码设计模式 解析与实战》一书大致分包如下图M:负责获取,存储,检索等操作数据,持有数据对象并直接对其进行操作。V: View Interface:抽取UI及数据展示隐藏等相关操作的方法(可能多个view用到这些方法)。 View:负责绘制、初始化UI;持有Presenter对象,view把与数据相关的业务逻辑都交给P...原创 2019-07-28 04:15:16 · 475 阅读 · 0 评论 -
一个关于invalidateOptionsMenu方法的小问题
编辑于2017年8月14日执行invalidateOptionsMenu()这一句代码后,并不会立即执行onCreateOptionsMenu()方法。所以如何判断已经或者再次创建了menu,然后再执行ActionProvider相关的操作。...原创 2019-07-28 04:12:57 · 398 阅读 · 0 评论 -
android studio一个编译时的bug
编辑于2017年8月24日Error:A problem occurred configuring project ':app'.> Could not resolve all dependencies for configuration ':app:_debugApkCopy'. > Could not resolve com.umeng.analytics:analy...原创 2019-07-28 04:12:04 · 663 阅读 · 0 评论 -
retrofit与rxjava搭建的网络框架使用的一个小技巧
编辑于2017年10月16日网络请求中的某个参数是固定的,而这个请求可能会多次用到,很可能某一处修改了而其他其他地方忘记修改。这里我们使用静态常量注解的方式,安卓中不推荐使用枚举。例如:public interface AppService { public static final String TERMINALTYPE = "0"; @StringDef({TE...原创 2019-07-28 04:09:49 · 1353 阅读 · 0 评论 -
内存泄漏检测
最近编辑于2017年12月26日LeakCanary确实是一个检测是否存在内存泄漏的好工具(PS:正常的Link检测也可以)。接入方式dependencies { debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4' releaseCompile 'com.squareup.leakcanary:...翻译 2019-07-28 04:06:39 · 161 阅读 · 0 评论 -
关于android studio中的模拟器与Android Device Monitor
编辑于2017年09月01日使用android device monitor可以导出一些/data/data下面的文件,但真机需要root后才有权限查看/data/data下的文件,这时我们就考虑到使用模拟器,像genymotion,夜神等一些模拟器其实会比较麻烦。通常还是使用android studio中自带的模拟器吧。这里我出现了android7.0的模拟器从浏览器安装应用提示应用未安装...原创 2019-07-28 04:05:13 · 1364 阅读 · 0 评论 -
android项目中常见问题
1、textSize使用sp,同时在BaseActivity中设置sp的缩放比例,使其不会收系统影响而变化大小。在BaseActivity中如下设置: @Override public Resources getResources() { Resources res = super.getResources(); if (Build.VERSI...原创 2017-10-10 10:21:44 · 3814 阅读 · 0 评论 -
不,这只是个名字,一个代号,你可以叫,我也可以叫
最后编辑于2019年4月25日提到事件总线我们总会想到EventBus和Otto,他们之间的区别是:1、Otto可以使用@Produce的方式来发布事件;2、EventBus提供了单例模式;3、EventBus支持threadMode;4、EventBus支持优先级;5、EventBus支持编译时把订阅方法放到集合中等待调用合并成新的集合;6、EventBus支持黏性事件。今天这...原创 2019-04-25 23:32:04 · 795 阅读 · 0 评论 -
Android内存泄漏以及MVC(P、VM)
内存泄漏的问题,其实就是已经过期的对象仍被引用(非过期对象互相引用),导致已经过期的对象不能被GC自动回收的问题。1、把过期的对象引用作为参数传给了还有生命周期的方法,如线程、计时器需等方法执行完毕才会释放内存;2、非静态内部类引用过期对象,如Handler、AsyncTask需等类对象生命周期结束才会释放内存;3、有生命周期的对象变量引用过期对象,如单例对象持有context,直到程序生命周...原创 2019-03-20 13:42:36 · 340 阅读 · 0 评论 -
android studio 导入微信支付demo的一些问题
最后编辑于2017年12月11日1、在模块gradle的android下添加 aaptOptions { cruncherEnabled = false useNewCruncher = false }为了能够使用.9图片等一些资源2、在模块gradle的dependencies下修改dependencies { compi...原创 2019-01-25 16:48:33 · 2500 阅读 · 5 评论 -
Android Studio添加注释模板
最后编辑于2018年10月18日参考: https://jingyan.baidu.com/article/e6c8503c7195b7e54f1a1898.html http://blog.youkuaiyun.com/zuiwuyuan/article/details/48201185修改文件注释:File->Setting->Editor->File and Code...转载 2018-10-18 18:00:10 · 947 阅读 · 0 评论 -
通过Android Studio查看SDK源码
最近编辑于2018年6月29日打开源码发现具体代码都变成了Stub!发现上面有一行提示Source for 'Android API 21 Platform'not found.点击右边的download打开android SDK manager如图所示勾选source for android sdk 21,右下角的install按钮变成可用,点击就可以了.但有时如...原创 2018-06-29 16:41:35 · 9485 阅读 · 0 评论 -
利用GreenDAO生成entity类
编辑于2017年3月24日步骤:1、新建一个Java Library模块:通过路径File->New->New Moudle,然后选中Java Library。2、给lib_dao模块导包。3、编写MyClass类。4、新建对应目录下的entity包。5、修改app模块的build.gradle,编辑android下面的sourceSets,...原创 2019-07-28 04:25:01 · 383 阅读 · 0 评论