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

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

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

封装带分类的RecyclerViewAdapter UniversalTypeRecyclerView

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

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

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

android中?attr/**与@drawable/**或@color/**等的区别

今天在写一个Demo的时候,突然遇到?attr/colorPrimary这个用法,我苦思冥想,最终还搬出了Android源码,终于知道了意思,暂且记下来,作为备忘录吧。一、?attr/** 这个google叫预定义样式 这个是用在多主题时的场景,属性值会随着主题而改变。但并不是一上来就可以用的,必须做足以下准备工作:1,如果是自定义控件,请在style.xml中或attrs.xml中声明属性:&l
3821 人浏览
android

Android-string.xml动态替换文本

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

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

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

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

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

Android ButterKnife Zelezny插件的安装与使用

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

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

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

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

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

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

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

Android webview https 链接中加载http图片,加载不出

问题:链接是https的,但是里面的图片是http的,所以导致图片加载不出。解决:在webview中加上代码webView.getSettings().setJavaScriptEnabled(true); // 启用js webView.getSettings().setBlockNetworkImage(false); // 解决图片不显示 if(Build.VERSION.SDK_INT
3734 人浏览
android01

Android产品研发(十)-- 不使用静态变量保存数据

上一篇文章中我们讲解了Android中的几种常见网络协议:xml,json,protobuf等,以及各自的优缺点,一般而言主要我们的App涉及到了网络传输都会有这方面的内容,具体可根据项目的需求确定各自的网络传输协议。这里可参考 android产品研发(九)-->App网络传输协议而本文讲解的其实并不是一个技术方面,而是一个android产品研发过程中的技巧:尽量不使用静态变量保存核心数据。
3732 人浏览
android01

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

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

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

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

Andorid adb 截屏

$ adb shellshell@ $ screencap /sdcard/screen.pngshell@ $ exit$ adb pull /sdcard/screen.png
3721 人浏览
android01

Android产品研发(二十二)-- Android 使用调试技巧

上一篇文章中我们讲解了android UI优化方面的知识。我们讲解了android中的include、marge、ViewStub标签,在使用这些标签时可以简化我们的布局文件,优化组件绘制流程;讲解了android中的过度绘制相关知识点,通过优化我们的App过度绘制可以提高App的UI绘制流程与性能;我们还讲解了App中一些UI优化的小tips。更多关于android UI优化方面的知识可以参考我
3707 人浏览
android

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

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

Android源码解析(二十四)-- Android onSaveInstanceState方法的执行时机

我们已经分析过Activity的启动流程,从中也分析了Activity的生命周期。而其中有一个生命周期方法:onSaveInstanceState方法,今天我们主要讲解一下onSaveInstanceState方法的执行时机。可能部分同学对Activity的onSaveInstanceState方法不是特别熟悉,这里我们简单介绍一下。onSaveInstanceState方法是Activity的成
3691 人浏览