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

android studio ndk-build 编译C生成.so文件(ndk基础篇)

一、概要 最近项目需要,要把代码中加密的部分打包成so文件,刚开始接触的时候真是痛苦呀,网上好多资料,都不是很详细,步骤也不清晰,所以我整理了一下,希望大家喜欢。 现在android studio打包so文件有两种方式,第一种是ndk-build编译项目,还有一种用CMake脚本构建项目,今天主要介绍ndk-build的编译过程 二、ndk-build 构建过程 1,下载NDK
11493 人浏览
android00

Android ConstraintLayout约束布局详解

ConstraintLayout可能大家也比较熟悉了,在Google I/O 2016 上发布了 ConstraintLayout,也就是Android Studio 2.2中发布的新功能。以前我们写布局的时候基本都是靠编写XML,遇到复杂的布局避免不了多层嵌套,不可避免的会影响 UI 界面绘制的效率。目前对于复杂的界面,使用 RelativeLayout也无法解决,ConstraintLayou
10777 人浏览
android

Glide4-入门教程-3-加载本地图片(Uri, File, resourceId等)

目录:一、简介与其他图片加载库相同,Glide除了可以加载网络图片之外,也可以加载本地图片。甚至还可以从各种各样奇葩的数据源中加载图片。本文将介绍Glide4 加载网络图片,本地图片,资源文件里的图片的使用方法。二、加载网络图片这个在前面已经讲过了,只放一段代码,就不多说明了ImageViewimageView=findViewById(R.id.image_view); Stringurl=&
8183 人浏览
android

Android Studio 3.0 升级 Error:(2638) error: style attribute ‘@android:attr/windowEnterAnimation’ not found.

Android Studio 升级到了3.0 出现下面的错误error: style attribute '@android:attr/windowEnterAnimation' not found.注意:提示我们找不到@android:attr/windowEnterAnimation,因为已经不支持@开头使用android自带的属性,我们只要把@符号删掉就可以了。Android Studio3
7857 人浏览
android

Glide4-入门教程-5-缓存机制(内存缓存和磁盘缓存)

一、简介这一节,主要是讲glide4的缓存机制。Glide的缓存设计是非常的先进的,考虑的场景也很周全。Glide 的缓存分为两种,一是内存缓存,另一个是硬盘缓存。这两种缓存的作用各不相同,内存缓存的主要作用是防止应用重复将图片数据读取到内存当中,而硬盘缓存的主要作用是防止应用重复从网络或其他地方重复下载和读取数据。二、内存缓存在默认情况下,Glide自动开启内存缓存的,我们也可以通过调用skip
6634 人浏览
android

android studio cMake脚本添加ndk,构建C/C++程序(基础使用篇)

上一篇博客,分享了 android studio ndk-build 编译C生成.so文件 这一篇文章和大家分享一下,用cMake脚本文件添加ndk,来构建C/C++程序。一、概要 Android Studio 用于构建原生库的默认工具是 CMake,由于很多现有项目都使用构建工具包编译其原生代码,Android Studio 还支持 ndk-build。如果您想要将现有的 ndk-build
6287 人浏览
android

Glide4-入门教程-4-加载gif图片

一、简介glide库非常强大,能够加载gif图片就是其中之一,今天,我们就一起看一看如何用gide4加载gif动态图片。二、使用方法1,加载gif动画,同加载普通图片一样,使用如下代码就可以加载gif动画Glide.with(this).load(...).into(...)例如:ImageViewimageView=findViewById(R.id.image_view); Glide.wi
6248 人浏览
android

Glide4-入门教程-2-占位符的使(placeholder, error, fallback)

目录:1,Glide4-入门教程-1-环境配置和基础使用2,Glide4-入门教程-2-占位符的使(placeholder, error, fallback)一、简介这一节主要是讲,Glide4中占位图的使用方法,包括(placeholder, error,fallback)三种占位图二、占位符定义和类型1,定义:占位符是当请求正在执行时被展示的 Drawable 。当请求成功完成时,占位符会被请
5050 人浏览
android

Android RecyclerView禁止滑动

在开发时,数组返回数目很少,需求要求不能左右滑动;下面是一种解决方案1. RecyclerView 为垂直状态(VERTICAL)下:LinearLayoutManager layoutManager = new LinearLayoutManager(context){ @Override public boolean canScrollVertically() {
4034 人浏览
android

Location specified by ndk.dir (D:\android\2_NDK\android-ndk-r16b) did not contain a valid NDK and and couldn't be used

导入别人的项目报这个问题:Location specified by ndk.dir (D:\android\2_NDK\android-ndk-r16b) did not contain a valid NDK and and couldn't be used解决方案: ndk目录 更改成自己的,或者去掉根目录 local.propertyies## This file must *NOT* b
3536 人浏览
android

Android如何设置TextView的行间距、行高

Android系统中TextView默认显示中文时会比较紧凑,不是很美观。为了让每行保持一定的行间距,可以设置属性android:lineSpacingExtra或android:lineSpacingMultiplier。关于Android下TextView中文换行问题,可查看Android自定义view-文本自动换行。1、android:lineSpacingExtra设置行间距,如”4dp”
3437 人浏览
android

最好用的BaseRecyclerViewAdapterHelper解决recyclerview的繁琐工作

优化Adapter代码(减少百分之70%代码)添加点击item点击、长按事件、以及item子控件的点击事件添加加载动画(一行代码轻松切换5种默认动画)添加头部、尾部、下拉刷新、上拉加载(感觉又回到ListView时代)设置自定义的加载更多布局添加分组(随心定义分组头部)自定义不同的item类型(简单配置、无需重写额外方法)设置空布局(比Listview的setEmptyView还要好用!)添加拖拽
3386 人浏览
ziyouxia

mac环境android反编译apk转化成zip包不能解压

最近我要mac系统对android 的apk反编译的时候,把apk包转化成zip包后,不能解压。(以前解压没问题,现在就报错了,请看下图)1.android studio打出安装包为myApp.apk2.把apk后缀改为zip--myApp.zip3.直接解压(mac对于zip直接双击就好了)解决方案:遇到了同样的问题 使用 iZip Unarchiver等系列的软件解压就好了
3384 人浏览
android

Android Snackbar使用详解

Snackbar是Android Support Design Library库中的一个控件,可以在屏幕底部快速弹出消息,跟Toast的使用方法类似,显现效果比toast好(个人意见) 1,Snackbar基本介绍和使用方法 首先看一下官方的介绍: Snackbars provide lightweight feedback about an operation. They show a b
3378 人浏览
android

Android模拟器INSTALL_FAILED_NO_MATCHING_ABIS解决办法

在将App安装到模拟器时出现错误:INSTALL_FAILED_NO_MATCHING_ABIS,提示信息如下:InstallationfailedwithmessageINSTALL_FAILED_NO_MATCHING_ABIS:Failedtoextractnativelibraries,res=-113.Itispossiblethatthisissueisresolvedbyuninst
3249 人浏览
android

Glide4-入门教程-1-环境配置和基础使用

一、背景Glide是google推荐的图片加载框架,他不仅性能高,功能强大,而且简单易用。但是网上的资料大部分还是集中的Glide3的版本,就整理了一套Glide4的基本用法教程,仅供大家参考。备注:其他加载库的比较,暂时就不说了,大家可以网上搜索(glide,picasso,fresco,和老牌的Universal-image-loader)目录:1,Glide4-入门教程-1-环境配置和基础使
3055 人浏览
android

Android View中getViewTreeObserver().addOnGlobalLayoutListener()以及获取控件的大小

我们知道在oncreate中View.getWidth和View.getHeight无法获得一个view的高度和宽度,这是因为View组件布局要在onResume回调后完成。所以现在需要使用getViewTreeObserver().addOnGlobalLayoutListener()来获得宽度或者高度。这是获得一个view的宽度和高度的方法之一。OnGlobalLayoutLis
2971 人浏览
android

Glide4-入门教程-6-指定图片大小

一、简介这一小节讲一下Glide4指定图片大小显示的方法,实际上,使用Glide在大多数情况下我们都是不需要指定图片大小的,因为Glide会自动根据ImageView的大小来决定图片的大小,以此保证图片不会占用过多的内存从而引发OOM。不过,如果你真的有这样的需求,必须给图片指定一个固定的大小,Glide仍然是支持这个功能的。非常简单,下面直接上代码就ok了!二、指定固定尺寸这里使用overrid
2899 人浏览
android

Android studio 2.2 2.3 2.4 如何使用kotlin插件

Google I/O 大会后,Android Studio 就发布了3.0 金丝雀版本,支持 Kotlin 语言,增加了 Gradle 编译速度,支持即时应用开发,在 Android O 模拟器中增加了 Google Play Store,自适应图标等 20 多项新功能。今天我们不讨论Android Studio 3.0 使用Kotlin,我会在后面的博客中介绍,今天是讨论和学习
2796 人浏览
android

android常用应用的包名和startAcitivity名

Contacts (通讯录):package name=com.android.contactsclassname=com.android.contacts.activities.PeopleActivityPhone (拨号):package name=com.android.dialerclassname=com.android.dialer.DialtactsActivityGoogle S
2782 人浏览