Android开发
文章平均质量分 55
hn_lgc
这个作者很懒,什么都没留下…
展开
-
Android获取OAID
网上找了半天,竟然没有一个靠谱的!接入友盟,利用友盟的SDK获取OAID,https://developer.umeng.com/docs/119267/detail/118642import com.umeng.commonsdk.listener.OnGetOaidListener;UMConfigure.getOaid(mContext,newOnGetOaidListener(){@Overridepublicvoid onGetOaid(String oaid){android.uti原创 2022-08-07 17:57:39 · 3255 阅读 · 1 评论 -
Android C++小记
关于内存释放内存释放一定是 new 和 delete成对使用的,delete只能delete指向new且没有delete过的指针,或者空指针,其它都不行,记住这句话,记住成对,一定严格遵守,不然就会出很多错误delete指向其它任何位置的指针都会导致严重问题。包括指向已经delete过的new的指针,通过其它任何方式得到的指针,对象取址,指针运算等。由此delete之后的指针一定要赋值为空一个例子,Android项目中jni代码中创建的一个指针,然后通过取值赋值,后面给delete了。结果导致一个原创 2022-05-28 03:04:34 · 248 阅读 · 0 评论 -
Unbuntu编译FFMpeg 5.x for Android 使用 ndk 24
Android Studio里面下载最新的NDK 24.x授权NDK根目录chmod 777 xxx官网下载FFMpeg源码, 不是下面的安装包, 下面检测ff解压同样授权FFMpeg根目录权限测试ff,进入ff的根目录./configure --enable-shared出错ffmpeg configure error nasm/yasm not found or too old直接安装这两个包,也可能是更新sudo apt install nasmsudo apt install原创 2022-04-20 23:01:46 · 1464 阅读 · 1 评论 -
Android 知识小记
关于分区存储,官方文档的一段:Access files using direct file paths and native librariesTo help your app work more smoothly with third-party media libraries, Android 11 allows you to use APIs other than the MediaStore API to access media files from shared storage. You c原创 2020-08-01 13:34:28 · 124 阅读 · 0 评论 -
Android Canvas 平移、缩放、旋转的理解
自己用了很久对这个几个方法,用了好多次了,但对它们的原理概念都还是没仔细理解清楚,真是太菜了。View和canvas并不是同一个东西,可以这样想象,我们的View是固定的,相当于与一个画框,画框范围就是View的矩形范围,canvas是画布,透过画框可以看到canvas。一开始View和Canvas是对齐的,也就是画布的右上角就是画框的右上角,四条边都是对齐的,透过画框看到整个画布。然后canvas是可以变换的,我们平移canvas dx,dy,然后draw画图,就相当于把画布拖动一段距离,然后作画,作画原创 2020-06-30 00:30:01 · 5198 阅读 · 1 评论 -
PopupWindow遇到的坑
PopupWindow使用起来遇到不少的坑,总结下:1、网上说的要设置背景才能显示的问题, // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框2、android 6.0.1 的机器,如果width太大,是的popUpWindows超出了屏幕范围,加上anchor View处于滚动视图中是,popUpWindow不显示,所以这里处理之,不让p...原创 2020-03-23 02:23:42 · 479 阅读 · 0 评论 -
Android小知识,要注意的坑点
初始化的时候先bindView,再 initView,分开写,不是写到一起,放在initView里面。原创 2018-03-16 11:25:47 · 190 阅读 · 0 评论 -
Bmob使用小记
数据查询缓存相关1、缓存数据不能同步服务器的更新,也就是说服务器数据更改了,缓存查询到的还是原来的内容。不管设置的是CACHE_ELSE_NETWORD 还是CACHE_ONLY...原创 2019-02-24 06:15:44 · 207 阅读 · 0 评论 -
glide获取缓存图片的方法
首先使用glide加载网络图片,然后有硬盘缓存,从缓存中获取图片。设置diskCacheStrategy方法的缓存策略为DiskCacheStrategy.ALL或者DiskCacheStrategy.SOURCE1、Glide.with(mContext).load(url).asBitmap().into(new SimpleTarget() {@Overridepublic void ...原创 2019-02-14 15:38:07 · 7943 阅读 · 2 评论 -
Android 文章收藏
Fragment 与Activity中的onActivityResult的关系https://www.cnblogs.com/tangZH/archive/2016/10/04/5930491.html原创 2019-05-03 15:32:34 · 118 阅读 · 0 评论 -
Android 多个项目依赖同一个lib,公共lib
背景:创建Android的公共库,但Android Studio默认的导入库的方式会将整个库的文件拷贝到项目目录下,也就是说这个库不再是公共的了,这样显然不行,修改公共库需要到每个目录下分别修改,太麻烦了,或者使用git+ 服务器同步一次,那也很麻烦。需要找一种不把库复制到项目目录下进行依赖的方式。简书上转载的:实例在ProjectB中如何使用ProjectA的模块moduleLib ?...原创 2019-05-14 17:16:52 · 1489 阅读 · 0 评论 -
Android Studio无法联网 显示 Gradle's dependency cache may be corrupt(this occurs after network timeout
https://www.cnblogs.com/wanqieddy/p/4350708.html转载 2019-05-13 09:16:22 · 212 阅读 · 0 评论 -
Android ImageView 的scaleType 属性图解-转载
ImageView scaleType缩放模式比较好的一篇https://www.jianshu.com/p/32e335d5b842转载 2019-06-15 08:12:06 · 768 阅读 · 0 评论 -
Android 虚拟机原理的学习
Java类加载器执行流程:JVM 运行实例中会存在多个 ClassLoader,不同的 ClassLoader 会从不同的地方加载字节码文件。它可以从不同的文件目录加载,也可以从不同的 jar 文件中加载,也可以从网络上不同的服务地址来加载。JVM 中内置了三个重要的 ClassLoader,分别是 BootstrapClassLoader、ExtensionClassLoader 和 App...原创 2019-07-30 15:07:00 · 412 阅读 · 0 评论 -
Fragment在ViewPager中的生命周期
很详细直观的一篇文章1.一直以来的疑问Fragment在ViewPager到底经历了哪些生命周期方法?到底发生了什么?常会TabLayout和ViewPager配合起来使用,针对这套组合,就想也做一些学习了解。在一个ViewPager中经常会存在多个Fragment,Fragemnt在ViewPager中的生命周期一直没有闹明白。这周正好在测试Api的时候又用到了Tab转载 2017-08-22 15:18:07 · 6457 阅读 · 1 评论 -
Android Studio 使用本地的gradle
android studio 更新 Gradle错误解决方法Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing Gradle Project ,有时新建项目的时候报 Gradle Project Compile Error 等等相关的问题解决这些问题办法是首先打开android stud转载 2016-10-21 19:33:24 · 13249 阅读 · 3 评论 -
Android新布局组件ConstainLayout了解使用
Android新布局组件ConstainLayout了解使用 一、概述ConstrainLayout约束布局,它算是一个重量级的组件了。在Google 2016 I/O上发布的,需要Android Studio 2.2及以上的支持,使用支持包最低可支持到Android OS 2.3版本的系统上。为什么它是一个重量级的组件呢?1、Studio专门修改了xml界面的design界面用于原创 2017-02-05 22:24:19 · 5239 阅读 · 0 评论 -
Android 获取内外置存储卡方法
来源:http://blog.sina.com.cn/s/blog_5da93c8f0102vcam.html菜鸟不知道这种问题怎么搞,用了了好几篇讲解的方法都不奏效,这个方法感觉也比较官方的,一下就能出来了所有的路径,还有usb的。必须收藏啊以前的Android(4.1之前的版本)中,SDcard跟路径通过“/sdcard”或者“/mnt/sdcard”来表示存储卡,而在Jell转载 2015-06-12 23:06:31 · 851 阅读 · 0 评论 -
Android屏幕适配及周边
一、Android屏幕APP图标的常用尺寸:ldpi(120 dpi) 小屏图标尺寸 36 x 36 pxmdpi(160 dpi) 中屏图标尺寸 48 x 48 pxhdpi(240 dpi) 大屏图标尺寸 72 x 72 pxxhdpi(320 dpi) 特大屏图标尺寸 96 x 96 px原创 2015-09-29 21:12:07 · 320 阅读 · 0 评论 -
Android应用进程、服务启动与常驻探究
进程与service被杀死一般几种情况嘛。异常、用户或安全管理软件清理、系统。要让进程或服务常驻,异常不考虑。剩下就是两种情况,防止被系统杀死,防止被清理。一、背景(1) service是进程内的组件,所以推测其生命周期应该收进程影响吧。(2) 进程被系统清理会是系统内存不足或者长时间没有处于后台进程(没有产生交互),现在大多数手机内存都够了,应该是后者为主吧(观察到自己的原创 2016-03-16 01:52:50 · 708 阅读 · 0 评论 -
eclipse下的调试
eclipse下的调试调试也是一件比较复杂的事。首先快捷键:F11开始调试,Ctrl+F11开始运行;每次按F11都会启动一个新的程序运行,有断点时会运行到第一个断点处(再按F11会再启动一个程序,而不是运行到下一个断点。)F8在启动后运行到下一个断点处。F5,F6,F7顾名思义,F5可以运行到函数内部,F6单行运行,F7返回上一个点原创 2015-06-02 13:53:21 · 488 阅读 · 0 评论 -
Android 的Bitmap密度density相关问题
Android 里面Bitmap的density特性比较难懂,现在这里探究一下。一. 密度与缩放的关系; 缩放是对尺寸进行缩放,Bitmap的密度不会变。 使用Matrix缩放Bitmap,缩放之后的密度是不变的。 二、密度与图片内存大小的关系 缩放之后就相当于在Bitmap里面增删像素pix,所占的内存会相应的变化。 三、Bitmap密度与显示密度 Bitmap的默认的den原创 2016-05-04 15:27:53 · 4117 阅读 · 0 评论 -
Android 自定义SeekBar以及几个要注意的问题
自定义SeekBar几个需要注意的问题:(1)自定义的滑块滑动到边缘时要是中心处于边缘位置,那么会有一部分滑块超出长条边缘,这时要指定paddingleft和paddingright,不然不能显示超出部分的滑块。(2)滑块滑到边缘时,还有可能中心位置并不是恰好处于边缘,这时候要指定thumbOffset属性,长度为滑块宽的一半,那样就能显示好了。(3)长条宽度是通过maxHeight指定,使用其它方法指定宽度不行,不影响滑块的。原创 2016-05-19 05:09:29 · 4413 阅读 · 0 评论 -
Android 开发的几个代码小工具
全局的context,px与dp转换,Log,Toast,双击doubleclick原创 2016-05-19 00:28:37 · 454 阅读 · 0 评论 -
Android使用沉浸式状态栏
使用github上的开源库SystemBarTint大概三步就行了,(1)添加该库或者直接将library中的那个类复制目录下(2)在工程使用的style下么添上一行true,主要是在使用沉浸式布局时,不占用通知栏的那一部分空间(3)创建activity时使用public class MainActivity extends AppCompatActivity {原创 2016-06-12 17:29:19 · 382 阅读 · 0 评论 -
Android使用intent跳转到其它应用activity界面
一、跳转到其它界面。一、跳转到其它界面。1、使用包名和类名直接启动,前提是知道这两个。1.1、启动主activityIntent intent=new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);//参数是包名,类全限定名,注意直接用类名不行C原创 2016-07-09 23:54:57 · 23359 阅读 · 1 评论 -
Android小知识点一
一、内存泄漏(GC)二、handler工作原理简述三、toolbar一、内存泄漏(GC)概念:内存泄漏意思是内存没有指针指着了,没有程序管着了,但还占据着内存,就叫泄露。一次泄露会用掉少量的内存,当程序使用很久,越来越多的内存被占据时就可能导致整个系统崩溃了。原因:(1)数据库查询的Cursor对象没有关闭,Cursor的缓存,在java虚拟机外也有;原创 2016-04-02 00:38:34 · 415 阅读 · 0 评论 -
Fragment生命周期的几个问题
Fragment生命周期的几个问题fragment的基本介绍,一般通过官网可以获得比较好的了解,这里关于fragment的生命周期,Android开发官网上没找到详细的描述,也没发现一些详细讲解的文章资料,所以研究了一下。1、基础的:fragment的声明周期依次是onAttach()->onCreate()->onCreateView()->onActivityCreated原创 2016-11-02 00:42:17 · 599 阅读 · 0 评论 -
Android Studio下使用git记录
1、合并别人fork分支时,出现冲突,不能用网页合并。我用Android Studio和命令行没弄好,好像用git的客户端弄好了原创 2016-11-20 00:40:51 · 752 阅读 · 0 评论 -
Android APP终极瘦身指南
Android APP终极瘦身指南2016-03-07 Java和Android大牛频道(点击上方的蓝色文字,可快速关注我们)来源:http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/指南条例第1条:使用一套资源这是最基本的一条规则,但非常重要。对于绝大对数A转载 2016-11-22 01:18:55 · 424 阅读 · 0 评论 -
android-Ultra-Pull-To-Refresh的一些使用
记录一下这个下拉刷新框架的使用,以后方便再看。android-Ultra-Pull-To-Refresh是一个功能很强大的下拉刷新框架,比较流行的一个下拉刷新框架。源码分析:http://a.codekk.com/detail/Android/Grumoon/android-Ultra-Pull-To-efresh%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E原创 2016-12-10 01:39:18 · 756 阅读 · 0 评论 -
Android开发之通知
创建通知要用Ntification的内部类Builder类设置通知的各种属性,并用build方法创建;使用builder是很常见的一种方法,用它创建对象并且设置对象的许多属性;最后要用通知管理器管理它,使用管理器是有益于操作系统的,这样它就能将所有应用的通知当做一个整体来管理了。eg:NotificationManager nm =(NotificationManager) get原创 2015-05-23 17:06:42 · 502 阅读 · 0 评论