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

android 获取文件夹下的所有文件

在做工作时,我们经常需要遍历所有一个文件夹下的所有文件夹,发现其实也很简单。直接上代码/*读取输入的某个文件夹中所有的txt文件 * 显示文件名、文件内容 * */ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOExce
577 人浏览
android01

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

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

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

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

Android产品研发(一)-->实用开发规范

从这篇文章开始我们暂停一下对android源码的分析,开始讲一下android产品研发中一些常用的技术,技巧,方法,实践等姿势。这里需要强调的是我们所讲解的这些东西可能对产品开发中比较常用的,因为对于项目开发中,可能更多的强调管理,进度方法的东西,对工程化的东西比较强调,而我们这里更多的是对产品技术方面的归纳总结。而本文中选择将开发规范作为这个系列的第一篇文章,就是个人感觉产品研发过程中,开发规范
575 人浏览
android01

Android产品研发(二十一)-- Android中的UI优化

上一篇文章中我们讲解了android产品研发过程中的代码Review。通过代码Review能够提高产品质量,增强团队成员之间的沟通,提高开发效率,所以良好的产品开发迭代过程中,代码Review是一个必不可少的步骤。那么如何进行代码Review呢?我们主要讲解了团队成员之间的代码Review,代码lint检查,开发规范等方面的知识点,更多关于代码Review相关的知识可参考我的:android产品研
573 人浏览
android01

Android源码解析(十八)-- Activity布局绘制流程

这篇文章是承接上一篇文章(Android布局加载流程:android源码解析(十七)-->Activity布局加载流程)来写的,大家都知道Activity在Android体系中扮演者一个界面展示的角色,通过上一篇文章的分析,我们知道Activity是通过Window来控制界面的展示的,一个Window对象就是一个窗口对象,而每个Activity中都有一个相应的Window对象,所以说一个Ac
571 人浏览
android01

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

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

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

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

Android Studio butterknife安装以及使用

第一步:打开Androidstudio的配置,找到Plugins,在右边搜索ButterKnife ,你就会看到下面这个界面。没有错,这样是搜不到的,因为这个是搜的应该是已经安装的,没有安装的就需要点击Search in repositories,你就会看到你想要的东西了。第二步: 如图选中 Zelezny,点击Install,等安装完成之后,再点击Restart Android Studio重启
565 人浏览
cheng

点击返回键,关闭Dialog,并且关闭Activity

点击返回键,关闭Dialog,并且关闭Activity当我们点击返回键,需要将整个Activity和Dialog一块关闭时。我们首先想到的就是通过onKeyDown()方法,重写Activity的返回键事件;但结果并不愉快,好像没有达到我们想要的效果。原来是Dialog抢走了Activity的焦点,Activity不再是当前的焦点,所以无法获取back键事件,因此我们需要重写Dialog的返回键事
563 人浏览
cnbzlj

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

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

Android产生随机数

Android产生随机数1.产生指定位数的随机数以产生6位数随机数为例int num = (int) ((Math.random() * 9 + 1) * 100000);产生其他位数随机数在最后面要乘的数即 100000 后加0即可2.产生指定范围的随机数以产生[10,99]范围内的随机数为例int min=10; int max=99; Random random = new Random
562 人浏览
android01

Android产品研发(十九)-- Android Studio 单元测试

上一篇文章中我们讲解了webview中问题集锦,讲解了webview的性能优化,讲解了webview种入Cookie信息,讲解了activity退出的时候清除webview信息报错,讲解了如何通过java代码和js代码相互交互,讲解了webview如何下载文件以及腾讯的X5浏览服务等知识,这些都是我在使用webview中遇到的问题,难点,实践等,更多关于这些问题的说明,可以参考我的:android
561 人浏览
android

android OKHttp的基本使用详解

简单说一下学习okhttp的理由google在Android 6.0中删除了HttpClient的Api,采用的是则是okhttp高效的使用HTTP,使应用运行更快更省流量响应缓存数据避免重复网络请求无缝的支持GZIP来减少数据流量使用非常简单,请求和响应的Api具有流畅的建造和不变性,同时支持同步异步调用回调函数如果网络出现问题,它会从常见的连接问题中恢复如果服务器配置有多个IP地址,当第一个I
559 人浏览
android

android gradlew几条命令

常用的几条命令,暂且记录一下,后边有时间会继续更新编译查看错误gradlew compileDebugJavaWithJavacgradlew processDebugManifest --stacktracegradlew assembleDebug --stacktracegradlew transformClassesWithMultidexlistForDebug// 查看依赖gradle
559 人浏览
androidproject

一个零耦合的侧滑菜单 SwipeMenuLayout

Android侧滑菜单-SwipeMenuLayoutSwipeMenuLayout是一个零耦合的侧滑菜单,使用方式及其简单!只需要正常编写xml布局文件即可。目前功能如下支持启用或禁用侧滑菜单支持菜单在条目的左边或者右边支持滑动阻塞或非阻塞支持点击了menu后是否自动关闭menu支持menu打开和关闭的回调监听可快速打开和关闭menu简单用例只需正常编写xml文件即可SwipeMenuLayou
554 人浏览
androidproject

一款针对RecyclerView高效刷新,多类型列表,异步数据更新,崩溃等各种复杂难处理场景的高性能易用的列表库

Diffadapter 一款针对RecyclerView高效刷新,多类型列表,异步数据更新,崩溃等各种复杂难处理场景的高性能易用的列表库Demodiffadapter.apk图像url,名称,价格都是异步或者通知变化的数据Introduce如何实现一个高效、高性能的、异步数据实时刷新的列表diffadapter就是根据实际项目中各种复杂的列表需求,同时为了解决DiffUtil使用不方便,容易出错而
554 人浏览
cnbzlj

Android 设置TextView字体加粗

今天,简单讲讲Android里如何设置TextView字体加粗。不废话了,用过多次,还是没记住。直接上代码。1.布局文件中这样设置即可:XML/HTML代码android:textStyle="bold"2,java代码中字体加粗:TextView textView= new TextView(context);//或从xml导入 TextPaint paint = textView.getPai
553 人浏览
kotlin

分享一个我开发的MVVM架构的开源小项目

大家好,今天跟大家分享一个我开发的MVVM架构的开源小项目。话说这个小项目已经提前跟大家预热很久了,也是被不少朋友催了很多次。我之前在公众号里透漏过这个项目能够帮助大家更好地理解MVVM架构,当然我也希望确实如此。虽说这篇文章重点是向大家介绍这个开源小项目的,但是我并不希望就写得如此简单,我准备把它写成一篇干货文章。一切先从Jetpack说起。我在去年年底的时候抽时间研究了下Google的Jetp
552 人浏览
android01

Android产品研发(二十)-- 代码Review

上一篇文章中我们讲解了如何在android studio中进行单元测试。实际开发过程中有一些功能性的需求,比如测试工具类,测试数据存储等测试工作,如果还是通过重复执行apk文件的编译,安装,运行等会浪费大量的时间,而这些功能与android的开发环境无太大的关系,我们完全可以使用单元测试来执行。android studio中默认是支持进行单元测试的,并提供了获取Context等系统对象的API,我
550 人浏览