Android官方 compile 'com.android.support:appcompat-v7:23.0.0' compile 'com.android.support:cardview-v7:...23.0.0' compile 'com.android.support:gridlayout-v7:23.0.0' compile 'com.android.support:recyclerview-v7...:23.0.0' compile 'com.android.support:design:23.0.0' compile 'com.android.support:support-v4:23.0.0'...'com.hwangjr.rxbus:rxbus:1.0.5' ★★项目使用Rxjava 作者好长时间未更新 otto compile 'com.squareup:otto:1.3.8' ★★ 数据库...:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE
1.paging库简介 Paging 使您的应用程序配合RecyclerView更容易从数据源中高效优雅地加载所需的数据,不会因为数据库数据量大而造成查询时间过长。说白了就是分页加载的优化。...paging.png 1.2 重要的类介绍 paging库最重要的三个类就是DataSource,PageList,PageListAdapter。...比如从数据库中的1200条开始加在20条数据。...在里面可以看到 mStorage.appendPage 2.自己动手实现一个 paging demo 首先我们来简单看一下Paging库的工作示意图,主要是分为如下几个步骤 使用DataSource从服务器获取或者从本地数据库获取数据...Paging library详解(一) Android Paging library详解(二) Android Paging
Ubuntu 中交叉编译 Android 动态库 II . Ubuntu 中交叉编译 Android 静态库 I . Ubuntu 中交叉编译 Android 动态库 ---- 1 ....共享动态库编译参数 : 编译动态库需要添加 “-fPIC” 和 “-shared” 两个参数 ; 3 ...., 该动态库可以放到 Android Studio 项目中使用 ; II ....Ubuntu 中交叉编译 Android 静态库 ---- 1 ....共享动态库编译参数 : 编译动态库需要添加 “-fPIC” 参数 , 先输出 .o 文件 , 然后 根据 .o 文化生成 静态库 ; 3 .
Android Studio 中使用 Android.mk 配置静态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV ....Android Studio 中使用 Android.mk 配置静态库 总结 ---- Android Studio 中使用 Android.mk 配置第三方 静态库 : ① Android.mk 脚本路径设置...path "src/main/ndkBuild_Static/Android.mk" } } ② 预编译第三方动态库 : 在 Android.mk 中预编译动态库 , 注意动态库与静态库使用的配置不同...Ubuntu 交叉编译过程 : 参考 【Android NDK 开发】Ubuntu 函数库交叉编译 ( Android 动态库交叉编译 | Android 静态库交叉编译 ) , 最终编译出 libadd.so...博客资源 ---- CSDN 博客地址 : 【Android NDK 开发】Android.mk 配置静态库 ( Android Studio 配置静态库 | 配置动态库与静态库区别 | 动态库与静态库打包对比
以上信息来源于 Android-32 android\media\SoundPool.java 源码中的注释 总而言之就是: 使用SoundPool 可以播放多种音频,甚至可以混音播放。...使用 老版本SoundPool是可以直接new SoundPool()进行创建的,但是自从Android-API 21 之后就被废弃了。...从Android API 29 开始只能捕获USAGE_UNKNOWN,USAGE_MEDIA和USAGE_GAME。
Gif 动态图,而 Picasso 不支持该特性 Fresco在5.0以下的内存优化非常好,代价就是体积也非常的大,按体积算Fresco>Glide>Picasso UIL可以算是老牌最火的图片加载库了...常用网络库使用方法 public interface netApi { @GET("repos/{owner}/{repo}/contributors") Call<ResponseBody...在Android 2.2版本之前,HttpClient是最好的选择。因为HttpURLConnection有一些bug。...Retrofit和其它Http库最大区别在于通过大范围使用注解简化Http请求(请求方式、请求参数)。 网络请求的工作本质上是OkHttp完成,而 Retrofit 仅负责网络请求接口的封装。...EventBus是一款针对Android优化的发布/订阅事件总线。
由于制作很简单,然而没有利用开源库,于是自己尝试写了一个比较简单的,【百度云】 ? ---- 沉浸式状态栏 ---- 改变状态栏的颜色使之与APP风格一体化!...当然这种效果只支持在API 19(Android4.4)及以上使用沉浸式状态。参考了GitHub/niorgai。...但是还是感觉乱,于是又走上了【百度云】 简单说一下使用(Android API>=19):很简单【Only two steps】 首先要在布局文件中加入下面两个属性: android:clipToPadding...---- 扫描【条形码】和【二维码】----- ZXing 但是我觉得整一个库作为一个项目的扫描库那就没有这个必要,ZXing这一个库是非常庞大的。...所以,我就简化并修改了它,减轻并成为轻量级的扫描库【百度云盘】 ?
QS,为了整合常用的各大加解密工具,把各大常用加密方式集合成一个工具库,目前包括: 1 RSA 2 AES 3 3DES/DES 4 HMAC_SHA1 5 国密SM2/SM3/SM4 6
然后同步 在xml里写<androidx.recyclerview.widget.RecyclerView />即可
Glide是一个加载图片的库,作者是bumptech,它是在泰国举行的google 开发者论坛上google为我们介绍的,这个库被广泛的运用在google的开源项目中。 Glide解决什么问题?...首先,当我们使用这两个库的时候第一步要做的就是导入库,Picasso好说,直接依赖就行,但是Glide要注意,这个库是要依赖于support liberary v4的,所以用这个库的时候,不要忘了依赖v4...库的大小 Picasso的大小大约是118KB,而Glide大约有430KB。 ? 一个库的大小有什么意义吗?确实,我也认为意义不大!...资源 以下是一些关于Glide的资源: Glide 3.0: a media management library for Android Glide Wiki Android Picasso vs...Glide Android: Image loading libraries Picasso vs Glide
Android官方 implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support.constraint...:constraint-layout:1.1.0' implementation 'com.android.support:design:27.1.1' implementation 'com.android.support...:cardview-v7:27.1.1' implementation 'com.android.support:support-v4:27.1.1' 我的常用组件 Kotlin & anko anko...3.0.4' implementation 'com.lzy.net:okrx2:2.0.2' //JSON implementation 'com.alibaba:fastjson:1.2.46' 数据库...:gpuimage-library:1.4.1' Gif加载 android-gif-drawable implementation 'pl.droidsonroids.gif:android-gif-drawable
03 创建Android项目 打开Android Studio后,新建一个androidtestlib的项目,目录就选择在我们刚才创建的本地仓库中。 ?...,具体看 https://github.com/dcendents/android-maven-gradle-plugin dependencies { classpath 'com.android.tools.build...到这里Android上的配置就根本完成了,下一步我们就要在GitHub中进行发布了 发布自己的开源库 ? 微卡智享 01 提交代码至GitHub 首先把我们的代码提交到GitHub上 ?...这样我们的开源库就已经发布完成了。 查看并使用开源库 ?...开源库的使用 刚才图上有介绍开源库的使用 ?
这是一篇自己从Android开发文档中翻译来的关于Room 的文档。...原文 https://developer.android.com/training/data-storage/room/migrating-db-versions.html 在APP升级时可能需要更改数据库来策应新的功能...为了测试迁移,增加 Room 的测试工件依赖,并设置数据库模式文件地址,如下所示: android { ......测试数据库有两种方法 在Android 设备上 在开发主机上(不推荐) 关于测试指定数据库升级的信息 上面已经说过了。 注意:在测试时,Room允许创建Dao的模拟实例。...这样的话,如果不是测试数据库本身就不需要创建完整的数据库,这个功能是很好的,Dao不会泄露数据库的任何信息 在设备上测试 测试数据库实现的推荐方法是编写在Android设备上运行的JUnit测试,由于这些测试不需要创建活动
本类库是单纯的下拉刷新。如果你需要用到加载更多,看这个项目: https://github.com/liaohuqiu/android-cube-app 先上两张StoreHouse风格的截图!... 使用方式 中央库依赖 项目已经发布到了Maven中央库,包括aar和apklib两种格式。..." xmlns:cube_ptr="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent...:id="@+id/store_house_ptr_image_content" android:layout_width="match_parent" android:...:id="@+id/store_house_ptr_image" android:layout_width="match_parent" android:
与其他依赖注入框架相比,Dagger 2 最大的优点是他不使用反射,严格的生成实现类,这意味着他可以使用在 Android 应用上。但是在Android上使用仍有一些注意事项。...使用Dagger编写Android应用程序的一个主要困难是,许多Android框架类都由操作系统本身实例化,如Activity和Fragment,但如果Dagger可以创建所有注入的对象,则效果最佳。...dagger.android中的类提供了一种简化此模式的方法。...支持库 对于Android支持库的用户,dagger.android.support 包中存在相同类型。...extends android.support.v4.app.Fragment>,对于AppCompat,用户应该继续实现AndroidInjector.Factory <?
Android数据库加密 一、简介 SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的读写效率、资源消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如Android...Android系统内置了SQLite数据库,并且提供了一整套的API用于对数据库进行增删改查操作,具体就不详细说明了。 然而,Android平台自带的SQLite有一个致命的缺陷:不支持加密。...三、解决方案* 1.将数据加密后再写入数据库: 我们可以对数据的数据库名,表名,列名就行md5,对存储的数据进行加密,例如进行aes加密(Android数据加密之Aes加密),查询的时候再对数据进行解密...github地址 导入SQLCipher加密库 implementation 'net.zetetic:android-database-sqlcipher:4.2.0' 替换原生的包 android.database.Cursor...android.database.SQLiteOpenHelper 为 net.sqlcipher.database.SQLiteOpenHelper 加载SQLCipher所需要的SO库 SQLiteDatabase.loadLibs
这两个方法都可以创建或打开一个现有的数据库,并返回一个可对数据库进行读写操作的对象。...参数: Context; 数据库名; Cursor:允许我们在查询数据的时候返回一个自定义的Cursor,一般传null; 当前数据库的版本号:可用于对数据库进行升级操作。...android:layout_height="wrap_content" android:text="Create Database" /> 添加一个按钮用于创建数据库...升级数据库的最佳写法 之前升级数据库是简单的在onUpgrade()方法中删除当前所有表然后重新执行一遍onCreate()。 这样做的弊端为如果你的应用升级一次数据库用户之前的数据就会被清空。...当指定的数据库版本号大于当前数据库版本号的时候,就会进入onUpgrade()方法中执行更新操作,这里需要为每一个版本号赋予其所对应的数据库变动,然后再onUpgrade()方法中对当前数据库的版本号就行判断
以下是一些在开发中比较常使用的控件和库。...垂直滑动的ViewPager https://github.com/JakeWharton/Android-DirectionalViewPager ImageView android-gif-drawable...github.com/florent37/MaterialViewPager material-design-dimens 符合material design设计风格的color和dimens,可直接使用这个库的定义...富文本编辑器 https://github.com/wasabeef/richeditor-android android-viewbadger 消息提示小红点 https://github.com.../jgilfelt/android-viewbadger
文章目录 一、拷贝 /system/lib/ 中的 Android 系统 so 动态库 一、拷贝 /system/lib/ 中的 Android 系统 so 动态库 ---- 将 Android 系统的.../system/lib/libc.so 动态库 , 拷贝到 /sdcard/Pictures/lib/ 目录中 ; 首先 , 在 /sdcard/Pictures/ 目录下创建 lib 目录 ; mkdir.../sdcard/Pictures/lib 然后 , 将 /system/lib/libc.so 动态库 , 拷贝到 /sdcard/Pictures/lib/ 目录中 ; cp /system/lib.../libc.so /sdcard/Pictures/lib/ 拷贝后 , 可以从 SD 卡中 , 将 libc.so 动态库拷贝出来 ; 注意 , 获取动态库后 , 32 位的动态库要使用 32 位的...IDA 打开 , 64 位的动态库使用 64 位的 IDA 打开 ; 在 /system/lib/ 目录下有如下动态库 : walleye:/ # cd /system/lib walleye:/system
使用方式 : x264 库很大 , 必须交叉编译成 ARM 架构的函数库 ( 动态库 / 静态库 ) 导入到 Android Studio 中才能使用 ; 不像 RTMPDump 只有 5 个...NDK 开发】NDK 交叉编译 ( Ubuntu 中交叉编译动态库 | Android Studio 中配置使用第三方动态库 ) 【Android NDK 开发】Ubuntu 函数库交叉编译 ( Android...动态库交叉编译 | Android 静态库交叉编译 ) 【Android FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载 | 配置脚本 | 输出路径 | 函数库配置 | 程序配置 | 组件配置...拷贝文件 : 拷贝上面编译好的头文件与函数库到 Android Studio 工程中 , 没有目录的创建目录 ; 2 ....交叉编译 Android 库版本 : 在 Ubuntu 中进行交叉编译时 , 使用的是 android-21 版本的函数库与头文件 , # 截取的两个配置片段 FLAGS="...
领取专属 10元无门槛券
手把手带您无忧上云