android
文章平均质量分 69
.
villen_t
简单的坚持,也能成就非凡。
展开
-
Android 架构模式之 MVVM
如果有看过 MVP 架构,会感觉这两个是一样的,不用怀疑,就是一样的,还有 MVC 也是一样的,因为这些都是从 MVC 演变过来的,只是每次演变都是为了解决特定的问题,区别就是实现方式不一样了,MVVM 变成了基于数据驱动。原创 2024-08-23 22:53:32 · 1953 阅读 · 0 评论 -
Android 架构模式之 MVP
在 MVP 架构中,Activity 就全心的处理着和 View 相关的事情,Model 负责处理数据请求,替 Presenter 分担了很大一部分负担,这里特意新增了一个 CacheRepository 来体现提取 Model 层的用意,这样就可以在 Model 层进行不同渠道的分发,既体现了单一职责原则,又很好的提高了代码的可读性。其次,由于 View 会只有 Presenter 引用,Presenter 持有 View 和 Model 的引用,如果处理不当,也会存在内存泄漏/空指针的风险。原创 2024-08-20 02:45:22 · 1031 阅读 · 0 评论 -
Android 架构模式之 MVC
不幸的是,在 Android 中,通常由 Activity 充当 Controller,与此同时,由于 xml 的弱功能性,导致 Activity 还需要负责视图的显示,所以原本是负责初始化页面的 Activity,就变成了 View 和 Controller 的载体,导致这两部分内容耦合在 Activity 中。原创 2024-08-18 22:59:57 · 944 阅读 · 0 评论 -
Git 常用命令记录 - 如何在不提交当前分支修改的内容的情况下切换到其它分支进行操作
> 目录> - git status> - git diff> - git add> - git commit> - git pull> - git push> - git log> - git reset 回退最近一次commit的内容等操作> - Git 如何在不提交当前分支修改的内容的情况下切换到其它分支进行操作> 使用场景:假如现在手中的 Bug 还没有解决完,而上边又派了一个新的Bug,而这个新 Bug 又比较急着解决,可是之前的 Bug 还没有解决完而不能提交。该怎么办?原创 2018-05-29 11:06:57 · 12927 阅读 · 6 评论 -
apk 反编译(使用android逆向助手,进行反编译apk,查看apk源码)
第一步:下载逆向助手第二步:将apk文件拷贝到逆向助手的apktool目录,在逆向助手的apktool目录下按住shift同时点击鼠标右键,选择“在此处打开命令窗口,即CMD”第三步:在cmd命令行中输入命令 apktool d -f 应用程序名,得到以apk名字命名的文件夹,里面可以直接看到res目录下的资源文件和Android的清单文件,但是看不到Java文件第四步:双击打...原创 2017-04-28 09:49:16 · 18151 阅读 · 0 评论 -
Apk 反编译、查看源码
JD-GUI 虽然可以将 class 反编译成 java 源代码,但是对于一些被混淆过的 class,反编译的效果就不是那么理想了,被混淆过的 class 反编译后,类文件名称以及里面的方法名称都会以 a,b,c…这个命令是启动 apktool_2.0.1.jar,并将当前目录下的 release-1.0.2.apk 进行反编译,将反编译生成的文件存放在当前目录下新建的 MMTS 文件夹中,MMTS 这个文件夹的名字是可以随便取的。第二步:使用dex2jar反编译apk得到Java源代码。原创 2018-06-04 16:36:58 · 11381 阅读 · 3 评论 -
EventBus的使用(组件间通信)
主要功能:替代Intent,Handler,BroadCast 在 Activity与Activity、Activity与Fragment,Service,线程之间传递消息或数据。EventBus 3.0版本后,开发者能够自定义订阅方法的名字,而没必要规定以“onEventXX”开头的方法了,这样也自由化了很多,而且支持了粘性事件的分发等。官方混淆配置: http://greenrobot.org/eventbus/documentation/proguard/粘性事件(未完待续)原创 2018-01-02 16:51:37 · 1356 阅读 · 0 评论 -
百度地图简单实现
步骤一: 在百度开放平台,注册 ak 注册 ak 时,需要用到 app 的 SHA1 和 包名,而获取 SHA1,需要用到 release 版 的签名文件 故需要先生成签名文件 然后在签名文件所在文件夹中打开 CMD 命令,输入 keytool -list -v -keystore 签名文件名.jks步骤二: 添加相关 jar 包和 .so 文件(注:jni...原创 2018-05-17 15:28:50 · 7247 阅读 · 1 评论 -
Apk 数据统计(友盟统计)Android Studio
特别提醒 :建议开发者在注册账号时使用企业邮箱,避免使用个人邮箱注册,防止由于个人离职带来的问题,建议使用的账号形式:umeng@企业域名到 【友盟+】官网注册并且添加新应用,获得AppKey。 https://mobile.umeng.com添加依赖compile 'com.umeng.sdk:common:latest.integration'compi...原创 2018-06-06 17:57:46 · 2579 阅读 · 0 评论 -
Android 原生控件的特殊效果处理
自定义 View 实现圆形表盘 CustomDialPlate使用 DrawerLayout 实现侧边栏相机、相册选择的 Dialog使用 BottomSheetDialogFragment 实现可以滑动指定距离后才关闭的 Dialog使用 SpannableString 打造绚丽多彩的 TextView 显示效果ScrollView 嵌套多个竖直向的 Recyclerview 图片显示不全反弹效果的 ScrollView原创 2017-12-13 16:10:35 · 5145 阅读 · 0 评论 -
登录、退出(关于token)
关于tokenhttps://www.jianshu.com/p/8d28e60af440一般APP都是刚安装后,第一次启动时需要登录(提示你需要登录或者直接启动在登录界面)。而只要登录成功后,以后每次启动时都是登录状态,不需要每次启动时再次登录。不过,也有些APP若你长期未启动,再次启动时,它会提示你登录过期,让你重新登录。这个是怎么实现的?APP是怎么保持登录状态的? 比较标准...原创 2018-06-26 18:00:29 · 37567 阅读 · 4 评论 -
常用工具汇总 Utils
File 文件工具类Log 日志工具类原创 2018-11-11 13:28:38 · 4560 阅读 · 0 评论 -
android studio 下载&配置
设置/修改 SDK 路径设置编码格式为 UTF-8设置护眼色背景色配置作者姓名、邮箱、类描述等模板删除多余的 import,减少警告出现自动生成 SerializableID生成 SHA1 和 MD5 值Apk 多渠道打包资源文件分包原创 2017-12-14 16:34:56 · 3290 阅读 · 0 评论 -
封装的好处
封装的好处提高了数据的安全性 别人不能够通过 变量名.属性名 的方式来修改某个私有的成员属性操作简单 封装后,多个调用者在使用的时候,只需调用方法即可,调用者不需要再进行判断隐藏了实现 实现过程对调用者是不可见的,调用者只需调用方法即可,不知道具体实现过程...原创 2018-07-11 19:49:59 · 11762 阅读 · 0 评论 -
Intent 用途汇总
使用场景:引导用户去给 app 评分,或者在别的应用中直接跳转到 app 市场进行下载某个应用。通过查看系统源码,使用。原创 2017-12-12 14:17:46 · 2707 阅读 · 0 评论 -
RecyclerView 的简单使用 -- (横向/纵向)列表、网格、瀑布流的实现
代码实现Activity.javapublic class RecyclerViewActivity extends BaseActivity { private RecyclerView recyclerView; @Override protected void onCreate(@Nullable Bundle savedInstanceState) {...原创 2018-06-01 15:56:00 · 21996 阅读 · 0 评论 -
adb logcat 的妙用(输出 log 到指定文件中)
原文地址:https://blog.csdn.net/tumuzhuanjia/article/details/39555445新建空文件夹 log,用于存储 log 日志文件在 log 文件夹中,右键选择“在此处打开命令行”命令行中,执行命令,清空日志信息adb logcat -c操作手机,直到需要打印 log 时为止 为了便于区分,以下输入的log文件,均以...原创 2018-07-12 14:19:10 · 183225 阅读 · 1 评论 -
省份的 Json:province.json
[ { "name": "北京市", "city": [ { "name": "北京市", "area": [ "东城区", "西城区", "崇文区", "宣武区",原创 2018-11-03 23:35:40 · 1931 阅读 · 0 评论