Android开发( 右侧选择分类 )
android

Handler笔记(Handler作用和使用方法)

说明本文是Handler的笔记:一、Handler的作用1,执行计划任务(按照你指定的计划的安排,来执行某些任务)2,线程间的通信(例如在Android应用中,去请求一个网络操作,你就需要在主线程中启动一个子线程来执行网络任务,当网络任务执行完了,你就需要拿到主线程的Handler发送一个消息,让主线程去更新UI)
3530 人浏览
android01

Android产品研发(五)-- 多渠道打包

国内的Android开发者还是很苦逼的,由于众所周知的原因,google play无法再国内打开,所以android系的应用市场,群雄争霸,而后果就是国内存在着有众多的应用市场,产品在不同的渠道可能有这不同的统计需求,为此android开发人员需要为每个应用市场发布一个安装包,这里就涉及到了android的多渠道打包。本文主要讲解的就是几种主流的多渠道打包方式,以及其优劣势。通过配置gradle脚
3521 人浏览
android

Android-string.xml动态替换文本

需求:我是做Android开发的,工作3年了。这段字符串中,Android和3需要动态替换。在string.xml中定义:<stringname="demo">我是做%1$s开发的,工作%2$d了。</string>在程序中使用:Stringinput=getResources().getString(R.string.demo); Stringoup
3515 人浏览
cheng

5 天 将近 1500 Star 的Google Flutter UI 模板

2019 年 9 月 10 日 - 11 日,Google 开发者大会在上海召开,Android 团队更新了最新产品 Android 10;Google 产品经理樊舟颖宣布了 Flutter 1.9 版本上线,这一版本支持更多的功能和语言,并大幅度改进了 Flutter 网页版。 可见 Google 对 Flutter 的重视。 今天推荐的这个项目是:Best-Flutter-UI-Templ
3513 人浏览
android01

Android产品研发(六)-- Apk混淆

前面一篇文章中我们讲解了android里面的多渠道打包,对于大型的app来说,几百个上千个渠道包都是很正常的事,所以效率定制化是一件很重要的事。主要讲解了三种多渠道打包方式,并分析了其各自的利弊,在各自产品多渠道打包的时候,可以根据自身的产品需求选择相应的打包方式。而本文主要讲解Apk的混淆,这里的混淆分为两种代码混淆和资源文件混淆。实际的产品研发中为了防止自己的劳动成果被别人窃取,混淆代码能有效
3510 人浏览
android

Android ButterKnife Zelezny插件的安装与使用

Android ButterKnife Zelezny是Androidstudio Plugins里面的一款插件。官网地址:https://github.com/avast/android-butterknife-zelezny题外话:本人菜鸟一个,写博客仅仅是一个记录的作用。ButterKnife Zelezny这个插件有些小伙伴一直在用,还有很多小伙伴可能还不知道。个人认为他最大的作用就是一键
3507 人浏览
cnbzlj

android 解决String.format多语言存在的问题

今天,简单讲讲android里如何解决String.format在切换语言时存在的问题。 之前,我写过一篇博客,讲关于String.format的基本使用,大家如果没有看过,建议看看或者去网上查找资料。但是昨天,发现当手机切换成阿拉伯语时,String.format格式化的数据是一串奇怪的字符串。于是在网上查找资料,最终解决了问题。这里记录一下。 这里还是先回顾一下String.format的
3506 人浏览
androidproject

封装带分类的RecyclerViewAdapter UniversalTypeRecyclerView

UniversalAdapter这是封装的带分类Recyclerview的Adapter,主要解决项目中分类列表繁琐的重复劳动。不影响Recyclerview或其他封装的上拉下拉Recyclerview的正常使用只需写一个继承UniversalAdapter的adapter支持分类和子项部分的自定义布局数据类需实现OnTypeList接口数据结构JSON示例[ { "title&qu
3470 人浏览
android01

Android产品研发(十五)-- 内存对象序列化

上一篇文章中我们讲解了android app中的升级更新操作,app的升级更新操作算是App的标配了,升级操作就是获取App的升级信息,更新操作是下载,安装,更新app,其中我们既可以使用app store获取应用的升级信息,也可以在应用内通过请求本地服务器获取应用的升级信息,并通过与本地app的版本号对比判断应用是否需要升级。升级信息是app更新的基础,只有我们的app的升级信息指明需要更新,我
3467 人浏览
android

Android显示网络请求的有转义符的字符串

在我们的开发中,经常会遇到从后端请求回去的数据带有转义符的字符串,如何显示呢 答案其实很简单, 直接用 Html.fromHtml 函数就可以了 例如:请求来的数据
3454 人浏览
android01

Android产品研发(十七)-- Hybrid开发

上一篇文章中我们介绍了android开发中经常会涉及到但又常常被忽视掉的开发者模式。主要讲解了包括如何打开手机的开发者模式,开发者模式中各个菜单的意义和作用,如何清除手机App数据,以及清除手机App数据具体清除那些数据等知识点,具体关于android中开发者模式的知识,可参考我的: android产品研发(十六)-->开发者选项本文将介绍android中hybird开发相关的知识点。hyb
3442 人浏览
android01

Android产品研发(二)-- 启动页优化

上一篇文章中我们介绍加单说明了一下android的编码规范,这里我是强烈建议大家在团队合作中约定编码规范的,哪怕是一个并不是十分规范的规范总比没有规范好得多,尤其是团队产品的研发,对产品的持续迭代过程中你会越发的意识到编码规范对产品迭代的好处,当然了,这里并不是要求大家一定按照文中给出的编码规范作为团队中使用的编码规范,而是希望大家在团队合作中能够约定出自身的编码规范,哪怕其并不是十分的规范。而这
3412 人浏览
cheng

Android Dialog点击返回键不消失

在开发过程中我们经常需要各种对话框,使用最多的应该就是Dialog;面对不同的需求,可能需要不同的效果。1,点击返回键,不关闭Dialog// 默认为 true,为 false 时表示不可取消 mDialog.setCancelable(false);
3410 人浏览
cnbzlj

android轮播图Banner的使用及详解

今天带给大家一个比较实用的轮播图框架,banner1.导入依赖Gradledependencies{ compile 'com.youth.banner:banner:1.4.10' //最新版本 }或者引用本地libcompile project(':banner')2.添加权限<uses-permission android:name="android.permissio
3396 人浏览
androidproject

SpriteAnimationView:一个用于播放精灵图动画的组件

SpriteAnimationViewA customized view to play sprite sheet animation查看中文版本Usage:<com.xinxin.spritesheetanimation.SpriteAnimationView android:id="@+id/animation_view" android:layout_width
3393 人浏览
cnbzlj

Mac彻底卸载Android Studio

需要卸载Android Studio应用及相关配置,在终端(terminal)执行以下命令:rm -Rf /Applications/Android\ Studio.app rm -Rf ~/Library/Preferences/AndroidStudio* rm ~/Library/Preferences/com.google.android.studio.plist rm -Rf ~/
3385 人浏览
cnbzlj

android 解决listview.notifyDataSetChanged刷新时Imageloader加载图片闪烁问题

今天,简单讲讲android里再listview调用notifyDataSetChanged刷新界面时,Imageloader加载图片会闪烁的问题。最近,发现app里的listview图片会出现闪烁的情况。我发现是由于调用notifyDataSetChanged这个方法时候,图片全部闪烁一下,原因是图片全部重新加载了一次,导致闪烁。后来修改为局部刷新,但是还是还是存在是不是闪烁的情况,于是在网上查
3379 人浏览
android01

Android产品研发(七)-- 较少Apk热修复

去年一整年android社区中刮过了一阵热修复的风,各大厂商,逼格大牛纷纷开源了热修复框架,恩,产品过程中怎么可能没有bug呢?重新打包上线?成本太高用户体验也不好,咋办?上热修复呗。好吧,既然要开始上热修复的功能,那么就得调研一下热修复的原理。下面我将分别讲述一下热修复的原理,各大热修复框架的比较,以及自身产品中热修复功能的实践。热修复的原理通过更改dex加载顺序实现热修复最新github上开源
3379 人浏览
android01

Android源码解析(九)-- SystemServer进程启动流程

上面一文中我们讲过android系统中比较重要的几个进程:init进程,Zygote进程,SystemServer进程已经各种应用进程,其中Zygote进程是整个android系统的根进程,包含SystemServer进程已经各种应用进程在内的进程都是通过Zygote进程fork出来的,具体可参见: android源码解析之(八)-->Zygote进程启动流程那么SystemServer进程
3363 人浏览
android01

Android产品研发(二十三)-- Android 中保持静态密钥实战

上一篇文章中我们讲解了android中的实用调试技巧。讲解了android中的原生Log API以及其使用方式,讲解了自定义日志API、使用方式和实现原理,讲解了通过gradle配置日志框架在正式环境中屏蔽日志信息等。最后我们还重点讲解了android studio中的断点调试技巧,主要包括:断点调试功能、日志断点、求值调试、异常断点、方法断点等。更多关于android中实用调试技巧的知识,可以参
3360 人浏览