零、前言 手机SD卡里有很多文件夹,感觉挺乱的,写个代码整理一下吧,就当巩固一下文件操作 封装一下文件夹信息,更方便获取其中的信息,如总大小,文件个数、文件夹个数 很多文件隐藏着,让它暴漏出来,获取空文件夹...将信息保存到文件中.png ---- 二、空文件夹 1.空文件夹的检测比较简单,将加入列表的条件限定一下即可 /** * 获取某文件夹下的所有空文件夹 * * @param dir 根文件夹...空文件夹检测.png 2.删除文件夹 /** * 删除文件夹里的所有文件 * * @param dir */ public void deleteDir(File dir) {...java的比较器,将比较条件向后推延,让用户自定义条件来更灵活控制 拿到空文件夹,拿到大于1000M的文件夹,拿到大小等于32B的文件夹,操作流基本一直,不同的只有比较条件 因此,写一个比较的接口,...项目源码 日期 备注 V0.1--无 2018-10-26 安卓中对于文件夹的综合操作 2.更多关于我 笔名 QQ 微信 爱好 张风捷特烈 1981462002 zdl1994328 语言 我的github
引言: 在我们每天使用的手机设备中,无时无刻都在进行着数据的存和取。...安卓作为一种手机操作系统,提供了如下方式的数据存取方式:Preference,File,Sqlite和网络,可以根据程序的实际需求选择合适的存取方式。...2、File 我们可以将一些数据直接以文件的形式保存在设备中,下面的例子分别举例说明了对文件的读取和从Sd卡中读写文件。...Sd卡中操作,需要在AndroidManifest.xml文件中添加一下许可:
对于一部分安卓手机来说,删除了自己的照片以后就是删除了,不可撤回,没有“最近删除”可以挽回失去的照片,遇到这样的情况,我只能默默说一声节哀,然后! 顺便送上一款可能能拯救你的部分照片的APP。...不能把全部照片找回来,找回一部分的可能性还是很大的。 使用平台:安卓 获取方式:在公众号后台回复『069』或『数据恢复』。 ?...使用说明 ❶为了测试软件的能力,小代删除了备用机的几十张截图和照片,仅留下46张照片。 ? ? ❷安装下载好的APP,取消提示,点击扫描。 ? ?...❸扫描过程中弹窗可能会再次弹出,等扫描完成取消即可,选择需要恢复的照片点击恢复。 ? 并不是所有照片都能找回来,只能是一部分,哪怕是刚刚删除的,中间的数据读写越多越不容易找回来。 ?...❺找回的照片已经在相册里面了。 ? ?
最近在github上遇到一个下拉刷新上拉加载的项目--BGARefreshLayout。地址。...使用里面的BGARefreshLayout嵌套一个 BGAStickyNavLayout 能很好解决上面banner,中间TabLayout(下拉时悬浮),下面一个ViewPaper或RecycleView...下面是BGAStickyNavLayout 的源码。...mDirectViewPager, currentItem); mNestedContentView = item.getView(); // 清空之前的...} else { throw new IllegalStateException(BGAStickyNavLayout.class.getSimpleName() + "的第三个子控件为
安卓手机删除的照片如何恢复?...现在很多需要买手机的用户对手机的像素都会有要求的,现在很多主流相机的手机上市,许多喜欢拍照的用户都会去入手,所以不管是在新手机中还是在以前的手机中都会有很多的照片,当时会有手误的现象将手机照片删除,那么如何恢复...安卓手机删除的照片如何恢复? 一:最近删除 现在的手机中都具备这最近删除这样的一个功能,我们可以从手机的相册中看到最近删除功能,只要还在最近删除中就可以从里面找到照片恢复。...进入云服务从里面找到【从已有备份恢复数据】然后里面好到相册选择需要的照片进行恢复。 安卓手机删除的照片如何恢复?根据以上的几个方法就可以轻松搞定了,操作步骤简单易懂,很容易上手的方法值得收藏。...温馨提示:在手机上的重要数据要做好备份操作。
端午放假,天气下雨,于是乎在家撸一下博客,本篇博客将为大家解析MVP模式在安卓中的应用。 本文将从以下几个方面对MVP模式进行讲解: 1. MVP简介 2. 为什么使用MVP模式 3. ...为什么使用MVP模式 在Android开发中,Activity并不是一个标准的MVC模式中的Controller,它的首要职责是加载应用的布局和初始化用户界面,并接受并处理来自用户的操作请求,进而作出响应...当我们将其中复杂的逻辑处理移至另外的一个类(Presneter)中时,Activity其实就是MVP模式中 View,它负责UI元素的初始化,建立UI元素与Presenter的关联(Listener之类...另外,回想一下你在开发Android应用时是如何对代码逻辑进行单元测试的?是否每次都要将应用部署到Android模拟器或真机上,然后通过模拟用户操作进行测试?...在各个Activitty中Presenter有很多类型,所以在BaseActivitty中,也需要对Presenter进行抽取成BasePresenter,MVP中Presenter是持有view的引用的
删除用户 db.removeUser("username") 2.删除当前数据库 db.dropDataBase() 3.删除集合 db.collectionName.drop() 4.删除集合内指定文档
为了使用方便也是为了代码规范化,我们都将文字信息放在res-values-strings.xml中, 因为开发中需要用到将文字的换行,百度了一下,可以将文字段信息直接在strings.xml文件中换行... 我们看到其中\n就是换行符, 需要注意的是在文字段信息中,想要输出%号可不是直接打一个百分比号,否则会出现错误 1 Description Resource Path...Unexpected end tag string strings.xml /群雄/res/values line 16 Android AAPT Problem 出现这两种错误,正确的做法就是在想要输出的
[1].既然ViewPager和Fragment都总结完了,那就插一个材料设计中的TabLayout控件吧,这三者关系挺好 [2].TabLayout在上面就是曾经的ViewPager指示器,想当年都是自己封装来用...,现在条件好了,安卓给了。...TableLayout.gif ---- 1.Activity的布局 <android.support.design.widget.TabLayout android:id="@...}; //为ViewPager设置适配器 mContentVp.setAdapter(contentAdapter); } //菜单栏点击...break; } return super.onOptionsItemSelected(item); } } ---- 本文由张风捷特烈原创,转载请注明 更多安卓技术欢迎访问
好了,让我们集中注意力开始学习吧~ 本文要点 保持ViewPager中Fragment的状态。 快速绑定已有数据的TabLayout与ViewPager。...在Fragment中显示标题栏,并为该标题栏添加菜单。 Fragment嵌套Fragment。 一行代码解决RecyclerView等视图的滚动冲突。...()); // 在Fragment中显示标题栏,并为该标题栏添加菜单。...(this); // Fragment中ViewPager嵌套Fragment,需要注意传入的FragmentMangager(),不然子Fragment可能无法显示。...dimen> // p.s 这样一来安卓4.4以上toolbar就距离顶部22dp了,而比4.4低的版本是没有沉浸式这一概念的,所以设为0dp就好。
SVG,即Scalable Vector Graphics 可伸缩矢量图形,这种图像格式在前端中已经使用的非常广泛了 SVG图片相对于一般的图片(png、jpg等),拥有占用体积小,支持等比例缩放不失真...,性能高等优势,谷歌在Android5.0引进了SVG,并转化为Vector,在Android中指的是Vector Drawable,也就是Android中的矢量图,可以说Vector就是Android...中的SVG实现(并不是支持全部的SVG语法,现已支持的完全足够用了) Vector图像刚发布的时候,是只支持Android 5.0+的,自从AppCompat 23.2之后,Vector可以使用于Android...Vector 语法简介 通过使用它的Path标签,几乎可以实现SVG中的其它所有标签,虽然可能会复杂一点,但这些东西都是可以通过工具来完成的,所以,不用担心写起来会很复杂。...中添加 defaultConfig { vectorDrawables.useSupportLibrary = true } 1.2、在gradle中添加 compile
这是一本安卓初创团队亲自书写的早期成长史,完美呈现了: 伟大产品的源头|极客精神的胜利 创新世界的密码|团队冲突的跌宕 技术路线的碰撞|融资创业的艰辛 天才扎堆的轶事|功能模块的前生 15年席卷30亿台设备的传奇...《安卓传奇:Android缔造团队回忆录》按时间顺序讲述了这家初创公司是如何起步的,团队成员是如何走到一起的,以及他们是如何构建出这个操作系统的。...本书揭示了这个雄心勃勃的项目从脆弱的低谷开始,这家初创公司最终被谷歌收购,并在激烈的行业竞争中披荆斩棘,成为席卷全球的移动操作系统。...它实际上只是一个精彩纷呈的故事,故事的主人公就是最早给这个世界开发出安卓操作系统的那些人。 如果你曾好奇 Android 是如何成为这个星球上受欢迎的移动操作系统的,那这本书里有你想要的答案。...San Mehat ,谷歌安卓操作系统团队0号成员 Dianne Hackborn,谷歌Android核心框架工程师 Dave Burke,谷歌Android工程副总裁 Jonathan Littman
5.0以后的TabLayout 最近推出的 Bottom navigation 在上一篇我介绍了如何使用(Fragment+FragmentTabHost++ViewPager) 实现底部菜单栏,...(5.0可用) 1.2 ViewPager 定义:ViewPager是android扩展包v4包中的类 作用:左右切换当前的view,实现滑动切换的效果。...2.它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除 3.Fragment不能独立存在,它必须嵌入到activity中,而且Fragment的生命周期直接受所在的...实现步骤 利用(TabLayout+ViewPager+Fragment)实现顶部&底部Tab导航栏的步骤一共有6个: 步骤1:添加依赖 步骤2:创建需要的Fragment布局文件(需要多少个Tab选项...总结 本文对利用Google最新的控件库TabLayout实现顶部&底部Tab导航栏进行了全面的讲解,接下来我会继续介绍Android开发中的相关知识,有兴趣可以继续关注Carson_Ho的安卓开发笔记
对于安卓这两个属性一直没有分清,和当初学C语言a++,++a的区别一样苦恼。现在记录一下自己的理解。...定义: gravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置 (1).android:gravity:是对view控件本身来说的,是用来设置view本身的内容应该显示在view的什么位置...也可以用来设置布局中的控件位置 (2).android:layout_gravity:是相对于包含改元素的父元素来说的,设置该元素在父元素的什么位置; 演示: 最初的样式: ?
本文链接:https://blog.csdn.net/solaraceboy/article/details/100040524 Kuberntes 中无法删除 PV 的解决方法 一 背景 系统内有一个已经不再使用的...PV ,已经删除了与其关联的 Pod 及 PVC ,并对其执行了删除命令,但是无法正常删除,一直出于如下状态: $ kubectl get pv NAME CAPACITY ACCESS...通过系统帮助信息,我们可以获取patch的简要使用说明: patch: 使用 strategic merge patch 更新一个资源的 field(s)。
0x00前言 对于安卓题目的操作,网上对于此类的教程也不太详细,这里我们以jarvisoj-Findpass为例子介绍如何动态调试apk出flag,首先我们需要Android studio + smailidea...+ apktool box + jeb四样东西,smailidea是Android studio的一个插件,能够对smail文件操作从而动态调试apk,可以从https://bitbucket.org.../JesusFreke/smali/downloads/下载 首先我们拿到apk,第一时间是打开模拟器安装,大概知道apk有什么功能(这里我用的逍遥安卓模拟器), ---- ?...---- 进入命令行,输入 adb.exe connect 127.0.0.1:21503 (跟第二步中获取到的模拟器的端口) ?...---- 然后我们要看模拟器中启动app的进程号 ---- adb shell ps ---- ---- ?
本文我们简单来汇总下在Androd渗透中常用的一些逆向工具,以及她的基本使用方法吧。 Apktool Apktool是最常用的一款安卓反编译工具。...支持多平台,在Linux中我们可以用apt命令直接安装。.../gradlew build 编译完成后,可执行文件位于dex-tools/build/distributions/dex-tools-.zip中。解压该压缩包,即可得到可执行文件。...如果不想编译,可以在github仓库中,直接下载编译好的。 JD-GUI 需要对普通的Java程序进行反编译,或者需要对Android应用程序进行简单的反编译和查看,可以使用JD-GUI。...具体的使用,我们会在后面的文章中给大家详细解读。
对于层之间的通信,在经典的MVP案例中,我们发现它是通过回调完成的(这将最终把我们的应用程序变成回调地狱),而在MVVM LiveData中使用,虽然它允许我们避免回调,但它没有为我们提供大量的操作符来操作数据...像这样,我们可以使用RxJava在我们的服务,所以我们可以操作数据与我们所有这个库提供的运营商和LiveData视图的一部分,这将使我们能够使一个实现,意识到我们的活动的生命周期的变化,甚至使用谷歌提供的视图模型...这里不讨论视图是由N个片段组成的活动的情况,因为每个片段都有M个演示者,我们可以假设视图是这些片段中的每一个,尽管它们随后被分组到一个片段中(甚至在另一个片段中)。...正是由于使依赖服务=>视图反转,而且不仅依赖视图=>服务,我们还可以做以下事情: 在运行时视图中添加/删除更多侦听器 时使用多个“侦听器”的相同视图。...由于在这个体系结构中,我们的组件是接收事件和发出信息的黑盒,因此很容易验证在接收X事件时发出了信息Y。
} private void initFragmentList() { mTitleList.clear(); mTitleList.add("玩安卓...wrap\_content" android:layout\_height="wrap\_content" android:text="玩安卓...content" android:layout\_height="wrap\_content" android:text="干货 | 安卓...public void onTabSelected(TabLayout.Tab tab) { // 选中 逻辑操作 (再次点击不会触发) } @Override...(TabLayout.Tab tab) { } }); 3.点击滑动到屏幕中央,并再次点击可取消 [tablayout03.gif] 这样的效果很实用,很多App都会有这样的效果,以前我都是用
一、背景 看到之前曾有人发贴,贴名【stf 连接各操作系统上安卓设备的操作方法分享】,介绍了一下,虽然说方法和理论都有,但下述评论中还是有很多人不知如何操作,特别是不知道stf provider命令如何使用...,特此,提供具体的解决方法,当然本人注重结果导向,所以下述方法中,重点都是通过截图方法来展开,不涉及理论上的过多解释。...连接成功后,Mac服务上接收到的日志 下述日志,说明windows上的安卓设备已经连接成功: ? 下述日志,说明liunx上的安卓设备已经连接成功: ? 六、Mac平台连接效果展示 ?...七、补充说明 上述操作行为,仅针对其它操作系统上没有安装stf,所以采用 adb host 的方式连上 对应操作系统上的安卓设备,假如某此系统服务上已安装stf相应组件, 如:10.16.6.63_Liunx...主机,安装了 stf,想将Liunx主机的安卓设备连接到主Master(MAC:172.17.9.49)平台上。
领取专属 10元无门槛券
手把手带您无忧上云