
android
冈上武松
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
进程和应用生命周期
进程和应用生命周期 在大多数情况下,每个 Android 应用都在各自的 Linux 进程中运行。当需要运行应用的一些代码时,系统会为应用创建此进程,并使其保持运行,直到不再需要它且系统需要回收其内存以供其他应用使用。应用进程的生命周期并不由应用本身直接控制,而是由系统综合多种因素来确定的,比如系统所知道的正在运行的应用部分、这些内容对用户的重要程度,以及系统中可用的总内存量。这是 Android 非常独特的一个基本功能。应用开发者必须了解不同的应用组件(特别是 Activity、Service.转载 2022-04-14 17:15:49 · 284 阅读 · 0 评论 -
ComponentCallbacks与ComponentCallbacks2
/** * The set of callback APIs that are common to all application components * ({@link android.app.Activity}, {@link android.app.Service}, * {@link ContentProvider}, and {@link android.app.Application}). */application应用组件回调api集合接口;ComponentCallbac.原创 2021-06-24 15:37:04 · 358 阅读 · 0 评论 -
android 10分区存储
看了两个博客写的都不是很清楚,拿一下官方到这,定义还是官方的清晰:管理分区外部存储访问为了让用户更好地管理自己的文件并减少混乱,以 Android10(API 级别 29)及更高版本为目标平台的应用在默认情况下被赋予了对外部存储设备的分区访问权限(即分区存储)。此类应用只能看到本应用专有的目录(通过Context.getExternalFilesDir()访问)以及特定类型的媒体。除非您的应用需要访问存放在应用的专有目录以及MediaStore之外的文件,否则最好使用分区存储。下表总结...转载 2020-09-09 12:15:26 · 1962 阅读 · 1 评论 -
gradle相关错误
最近遇到一系列gradle版本相关的问题,刚开始让我受了很多折磨,后来都 一 一找到解决办法及一些原因:一。查看Android Studio的Gradle、Gradle插件的版本点击菜单“File”-“Project Structure...”,如图在弹出的Project Structure对话框中的左侧,选择Project,如图:原创 2017-04-16 21:12:08 · 765 阅读 · 0 评论 -
计算机中二进制数据的编码方式,整理了两篇他人的博客
二进制的三种编码:原码,反码,补码以前不是很理解,最近有时间进行了补充学习,通过两篇渐进关系的文章让我清晰了很多:第一篇:一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.比如,十进制中的数转载 2017-03-03 16:44:55 · 22532 阅读 · 2 评论 -
自定义实现CoordinatorLayout.Behavior
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_m原创 2017-02-27 16:04:58 · 391 阅读 · 0 评论 -
CPU与GPU的区别
文章转载自http://www.cnblogs.com/biglucky/p/4223565.htmlCPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和转载 2017-03-28 09:53:27 · 414 阅读 · 0 评论 -
使用友盟统计情况下的 多渠道打包配置
以下内容全部转载以便以后查阅使用: 最近不断有朋友向我咨询AndroidStudio多渠道的打包方法,今天整理一下之前积累的打包套路,写一篇文章,手把手的教给大家。 说到多渠道,这里不得不提一下友盟统计,友盟统计是大家日常开发中常用的渠道统计工具,而我们的打包方法就是基于友盟统计实施的。按照友盟官方文档说明,渠道信息通常需要在AndroidManif转载 2017-02-23 10:30:33 · 4805 阅读 · 1 评论 -
RecycleView设置点击的两种方式:adapter中的onBindViewHolder(VH,int)方法中进行;实现RecyclerView的addonItemTouchListerner()
第一种方式:就是当布局需点击事件的控件较少时class HomeAdapter extends RecyclerView.Adapter{//... public interface OnItemClickLitener { void onItemClick(View view, int position); void onItemLong原创 2017-03-01 17:14:20 · 11739 阅读 · 0 评论 -
getIntrinsicWidth()和getIntrinsicHeight()方法理解误区
Drawable类中有一对方法getIntrinsicWidth()和getIntrinsicHeight():顾名思议让我开始觉得它们得到的是drawable图片的原始固有宽高,如果这样理解的话那得到的宽高肯定是drawable本身固有的属性,同一个drawable不会随着硬件软件环境的影响都会保持不变才对。但事实是:我理解错了,相信还有不少经验不够丰富的同学也是这么理解的。正确的理解是原创 2017-03-01 13:37:43 · 11099 阅读 · 0 评论 -
NestedScrollView使用中遇到的一些问题总结
NestedScrollView可以说就是ScrollView,只不过可以配合Material Design中新控件,实现一些新特性。问题1:NestedScrollView与AppBarLayout配合使用时,NestedScrollView属性必须设置layout_behavior值,这样视图加载出来才会把NestedScrollView部分放在AppBarLayout下面,否则两部分视图原创 2017-03-01 08:48:41 · 10582 阅读 · 0 评论 -
Fragment各方法回调顺序
这个图挺好,具体内容有待以后补充。原创 2017-01-10 16:52:30 · 697 阅读 · 0 评论 -
Fragment.setArguments()方法向fragment对象传递数据的重要作用
/** * Supply the construction arguments for this fragment. This can only * be called before the fragment has been attached to its activity; that * is, you should call it immediately after construc转载 2017-01-10 13:36:14 · 2198 阅读 · 0 评论 -
TCP三次握手建立网络连接 四次握手释放网络连接
看到别人C语言的博客中关于Tcp建立网络连接及释放连接的过程解析http://blog.youkuaiyun.com/jiajia4336/article/details/8798421 哪位朋友有关于TCP/IP协议的好文章,恳请告知在下,共同学习,不胜感激!转载 2016-10-25 16:59:11 · 381 阅读 · 0 评论 -
Https协议完全理解
领导分享了一篇文章当然要认真看一下,所以就知道了https协议的工作完整流程:个人理解大概流程就是,先用非对称加密将最终要用到的对称加密的加密机制从服务器传给客户端。详细流程:客户端操作系统或浏览器中自带有各权威机构的公钥。 各公司向权威机构申请证书,证书中含有用权威机构私钥加密过的后续要用到的非对称加密公钥。客户端用自带的权威机构公钥可以将这个后续要用的非对称...转载 2017-03-14 15:04:52 · 3598 阅读 · 0 评论 -
Failed to download samples index, please check your connection and try again
android studio中查看samplesfile--new--import samples...出现以下问题:问题:解决办法:第一步:翻墙第二步:Configure-> Setting->System Setting->HTTP Proxy->Auto-detect proxy settings最终效果:转自:...转载 2019-05-06 16:39:12 · 4468 阅读 · 1 评论 -
tools命名空间
转载:作者对原文理解比较好,我英文看着太慢,感谢分享。一、tools 命名空间是啥?在哪里有?在Android Studio 中,我们创建一个 xml 布局文件之后,通常在自动生成的代码中,会有一个 tools 命名空间: xmlns:tools="http://schemas.android.com/tools" 。之前一直不知道是干嘛用的,从来没有用过,然后要么手动删除,要么格式化代码...转载 2019-05-06 14:20:12 · 703 阅读 · 0 评论 -
publishNonDefault true过时
publishNonDefault true该属性现在已过时。> Configure project :Gpu-ImagepublishNonDefault is deprecated and has no effect anymore. All variants are now published.该属性用途:project中的某一library需要根据情况使用其debug...原创 2019-05-05 14:10:03 · 6545 阅读 · 0 评论 -
升级android studio至3.3.2出现WARNING: API 'variantOutput.getPackageApplication()' is obsolete
Android : Android Studio 更新至gradle 4.10.1后Variants API变化同步警告:WARNING: API 'variantOutput.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'....转载 2019-05-05 13:25:11 · 3340 阅读 · 0 评论 -
视频播放的三种方式
在Android中,我们有三种方式来实现视频的播放:1、使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型。2、使用VideoView来播放。在布局文件中使用VideoView结合MediaController来实现对其控制。3、使用MediaPlayer类和SurfaceView来实现,这种方式很灵活。1、调用其自带的转载 2017-05-31 13:06:53 · 2364 阅读 · 0 评论 -
android生成aar包及引用aar包
这篇文章主要介绍了Android项目中引用本地aar文件的方法,本文讲解了什么是aar文件、导出aar文件方法、引用本地的aar文件方法等内容,需要的朋友可以参考下随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。针对Android开发最常见的就是Android Library,在Gradle出现转载 2017-04-21 15:16:14 · 2521 阅读 · 0 评论 -
总结android中的.gradle文件写法及含义
1.项目根目录下的build.gradle文件新建android 项目一般如下:// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { jcenter()转载 2017-04-21 14:43:03 · 1780 阅读 · 0 评论 -
@interface 注解详解
http://www.cnblogs.com/xdp-gacl/p/3622275.html孤傲苍狼只为成功找方法,不为失败找借口!Java基础加强总结(一)——注解(Annotation) 一、认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibern转载 2017-04-15 19:26:50 · 21240 阅读 · 2 评论 -
git初识
以前没有用过git来管理项目,跟svn和cvs还是有一些区别的。个人理解简要笔记:需要安装git客户端exe.安装完成后默认已经将git相关命令添加到pc(我用的windows)的环境变量里。然后需要配置一下git本地的变量:打开git bash命令窗口,配置用户名和邮箱,这两个主要是为了以后提交管管理代码加日志标记用的,没有别的更大的用处。一般项目已经存在于线上服务器上,换新原创 2017-03-10 15:58:22 · 640 阅读 · 0 评论 -
Bundle.setClassLoader()方法解析 BootClassLoader PathClassLoader
bundle经常会用,但是对setClassLoader()方法不是特别的理解,上网查了下也有很多不是很明白的同学,在此借用看到的文章记录一下原因。在开发中可能有时候会遇到用Bundle传递一个Parcelable对象时出现ClassNotFoundException异常,而且这个异常有时候会出现有时候又不会出现,比如你在同一个进程的Activity间传递数据时就不会出现,但是你通过M转载 2017-01-10 13:18:59 · 4007 阅读 · 1 评论 -
FragmentTransaction解析 Fragment Transactions和Activity状态丢失
关于FragmentTransaction以前用到过但是了解不全面,只是会简单使用。今天再次碰到所在在此将它详细记录:通过两篇比较好的文章总结一下,相信看完这两篇文章你暂时的问题都会得到解决,如果还有什么疑问大家可以留言讨论。我转的第一篇文章是作者对别人的文章进一步修改得到的更易懂的作品: 之前在使用Fragment的时候偶尔会有这么一个报错,Can not perform th原创 2017-01-10 10:45:57 · 3087 阅读 · 0 评论 -
View的getscrollX()得到的到底是什么?
当利用 Scroller 去滑动屏幕或者扩展 ScrollView 的时候,总是会用到 getScrollX 和 getScrollY 去获取当前View 滑动到的位置,那么getScrollX() 和 getScrollY() 获取的到底是什么呢? 由于getScrollX 和 getScrollY 本质 上是一样的东西,下面只说明一下getScrollX, 一般是在屏幕上面左右划动的时候会转载 2016-11-25 13:49:09 · 591 阅读 · 0 评论 -
ContentResolver query 参数详解
1.获取联系人姓名一个简单的例子,这个函数获取设备上所有的联系人ID和联系人NAME。[java] view plain copy public void fetchAllContacts() { ContentResolver contentResolver = this.getContentResolver(); Cursor curso转载 2016-11-24 16:01:00 · 1858 阅读 · 0 评论 -
android studio搜索手动输入的文字 比如提示等文字时 快捷键ctrl+shift+f
原创 2016-11-02 12:13:27 · 1057 阅读 · 0 评论 -
android studio大小写转换快捷键ctrl+shift+U
快捷键原创 2016-11-02 10:22:02 · 6969 阅读 · 2 评论 -
从xml文件中加载Animator属性动画的三种xml标签
原文:http://www.cnblogs.com/mengdd/archive/2013/09/05/3303403.html文件必须有一个唯一的根节点: , , or 三者之一。 对应的Java类是:ValueAnimator - ObjectAnimator - AnimatorSet - 标签是可以嵌套的。 标签的android:or转载 2016-10-28 15:42:12 · 6225 阅读 · 0 评论 -
Message中的载体之object字段在同进程数据传输与在跨进程数据传输的使用区别
在同进程中数据传输时经常用到Message与Handler的配合,Message中的载体有:what(int),arg1(int),arg2(int),Bundle data,replyTo(Messenger),object(Object)。其中object对象在同进程数据传递时可以存放任何对象。跨进程数据传输时,Messenger.send(Message)发送数据到其他进程进行数据传递时原创 2016-10-27 09:36:55 · 1100 阅读 · 0 评论 -
Permission、action的定义方式
android项目中经常需要在清单文件androidmanifest.xml中添加相关的uses-permission,即相关的访问权限。之后才能有权访问相关的服务。比如网使用网络权限等有时项目中会有用到自定义服务器的时候,那么如果通过这种uses-permission来验证用户权限的话,怎么自定自己需要的Permission呢?接下来整理出思路。以下内容转载自网络:下面我将实例给原创 2016-11-07 16:50:56 · 1801 阅读 · 0 评论 -
View 和 AbsListView中的onSaveInstanceState()方法以及onRestoreInstanceState()方法的使用
看项目代码时发现View和AbsListView中同样有onSaveInstanceState和onRestoreInstanceState方法这两个类中的onSaveInstanceState()方法与Activity类的有些不同,当然原理和用途都是一致,都是为了保存控件当前的一些状态。Activity中:/** * Called to retrieve per-ins原创 2016-10-26 17:17:26 · 1479 阅读 · 0 评论 -
Java中的Set,List,Map的区别
来源http://www.233.com/Java/zhuanye/20101101/135418427.html对JAVA的集合的理解是想对于数组 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能转载 2016-10-25 17:48:57 · 398 阅读 · 0 评论 -
Android应用中加入自己的手势处理
原文http://www.embedu.org/Column/Column437.htm海豚浏览器是由国人推出的一款移动浏览器,自2010年推出后,即逐渐在国外引起较大的反响。它提供了人性化、流畅的用户体验。其中有一个用户手势控制功能,更是引起了大家很大的关注。下面我们先来看看海豚浏览器的这个功能,如下图所示,如果我们在其中用手指输入一个“S”,它将会打开预先定义好的和这个手势转载 2016-10-25 17:33:57 · 679 阅读 · 0 评论 -
Java并发编程:并发容器之CopyOnWriteArrayList(转载)
跨进程编程时,服务端可能会接受多个客户端的请求进行并发性操作,Aidl文件只支持List中的ArrayList,但在服务端使用CopyOnWriteArrayList(并不是ArrayList的子类,而是List的子类)可以支持并发读/写,具体原因如下,服务端虽然是CopyOnWriteArrayList,但其中的数据通过Binder以List的规范进行访问最终开成一个ArrayList传递给客户转载 2016-11-04 14:08:32 · 1510 阅读 · 0 评论 -
Gradle篇--gradle和maven有什么用?分别有什么区别?
作者:EZLippi链接:https://www.zhihu.com/question/29338218/answer/51293828来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Gradle和Maven都是项目自动构建工具,编译源代码只是整个过程的一个方面,更重要的是,你要把你的软件发布到生产环境中来产生商业价值,所以,你要运行测试,构建分布转载 2017-01-03 12:03:56 · 757 阅读 · 0 评论 -
Gradle篇--实战及学习建议
Gradle实战及学习建议字数1850 阅读1466 评论4 喜欢48前言相信不少使用Android Studio开发Android的朋友都在为Gradle中的一些配置疑惑,今天来介绍一下我在学习Gradle的一些经验和总结,希望能对大家有所帮助。先大致的看一张Gradle学习的结构图,对正片文章有个大致的了解,其次逐一说明一些Android Gradle 插件中的一些变量转载 2017-01-03 12:19:54 · 501 阅读 · 0 评论 -
一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本
原文不是表格,感觉看起来不是那么直观,所以就重新弄了一份表格版的,希望对大家有所帮助下载地址:https://github.com/zhong1990/books.git程序设计知识点 链接或书籍进阶Java基本语法(如继承、异常、引用、泛型等)Java核心技术 卷I(适合入门)Effective Java中文版(如何转载 2017-01-03 12:23:57 · 531 阅读 · 0 评论