首先解释这两个名词断点续传:不用我们自己取将文件拆包和组包,这个过程http已经有现成的实现,我
Android源码中用到 ThreadLocal 有两个地方。一个是 Looper 中,一个是 Choreographer 中。// 上面的红色汉字,写错了一个,是initialValue() 函数。ThreadLocal 的原理首先,每个线程都有一个Thread对象,这个Thread 对象有一张表(在api-28中,Thread类中的变量为threadLocals,这个变量的类型为 ThreadLocal.ThreadLocalMap),//上面的key对应的是,T..
handler中的消息类型有3种:(1) 普通消息(同步消息);(2) 消息屏障(同步屏障);(3) 异步消息;参考:Android Handler 机制(四):屏障消息(同步屏障)
首先 MVC MVP MVVM 三者的区别:MVC ,MVP,MVVM 的区别讲解:ViewModel 的文章:深入了解架构组件之ViewModel,对应的还有:带你深入了解官方架构组件LiveData----------------------------------------这是一个简单的, MVVM 的demo,见:Android中的MVVM架构设计-实用篇...
由于工作需要编译Android版本的Chromium,于是开始了下面的心酸历程:Chromium的源码太大,用官方默认的下载工具,不支持断点续传,我下载了无数次都解决不了,于是,我想了一个办法,先下载到国内的云服务器中,因为国内的云服务器是的入口(出口有速率限制)是没有速率限制的,然后再下载到本地,最后将源码上传到百度云中,这样,方便别的同学下载源码。参考文档:Checking out a...
升级https://github.com/xuexiangjys/XUpdatehttps://github.com/itsnows/android-upgrade图片选择器https://github.com/LuckSiege/PictureSelectorhttps://github.com/jeasonlzy/ImagePicker 这个最近没有更新了,...
有两个方法,方法一:使用Android Studio自带的矢量图,这个比较比较少。点击 Clip Art ,旁边的小图标,如下,就是小飞机的地方:然后再点击《next》 《ok》,将xml文件保持到drawable文件夹
一直都想在工作之余做一个开源的项目,哪怕是练手学习之用。最近在找工作,面试官说我缺少Android项目,刚好借此机会,做了一个IM即时通讯的项目。github链接地址:https://github.com/gong-shuan042...
网络开发用到的工具google 浏览器的工具用谷歌浏览器,按 F12 可以打开网络工具,如图:postmanCharles
内存管理机制进程分类优先级:前台进程 > 可见进程 > 服务进程 > 后台进程 > 空进程
RecyclerView使用修改app目录下的build.gradle文件:dependencies { compile 'com.android.support:recyclerview-v7:24.2.1'}对应的java代码:// 文件:MainActivity.javapublic class MainActivity extends AppCo...
每次学习了ListView后,时间一长,又忘记了。如何使用简单的文字对应xml文件<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android...
SparseArray分析SparseArray分析SparseArray源码解析
0.2.0版本:由于在调试的过程中,发现原始使用的DBflow数据库,处理的逻辑是:对数据库的每个表设置监听,每次在写入或者修改数据库的时候,会回调,回调得出的数据,再与UI的数据对比,如果对比的结果不一致,然后再修改UI中的数据。因为我们的消息都没一条条的发送或者是一条条的接受,所以做了一个小改进,将写入(更新)数据库的数据放入一个阻塞队列中,另外一个线程去读,然后通过设置接口回调再去...
Android进程的启动流程
BaseAdapterBaseAdapter是最常用的数据适配器。
AsyncTask
配置:cpu i9700k在ubuntu1804中单独运行 Android studio的模拟器 或者 VirtualBox的虚拟机 是可以正常启动的。先启动VirtualBox的虚拟机在ubuntu1804中,打开 模拟器时出现了问题,如下:AVD Pixel_4_API_28 is already running. If that is not the case, delete the files at /home/gs/.android/avd/Pixel_4_API_28....
ubuntu安装Android studio 比较简单,解压zip文件就可以啦,但是,这个时候启动Android studio需要在bin目录下输入./studio.sh 命令,如下:此时,想在系统中搜索Android studio还是搜索不到的,需要如下配置:在/usr/share/applications 目录下,创建androidStudio.desktop 文件,如下:sudo vi androidStudio.desktopandroidStudio.desktop ...
背景介绍在学习Android源码过程中,需要经常写入文件,来验证代码是否正确,但是,默认的Android模拟器是只读状态(只有少数几个文件夹是可以读写的),不能读写。步骤
代码很简单,Activity中嵌套一个fragment,如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" andr...
在前面的两篇文章中,分别介绍了如何下载Google Chromium源码。以及编译Android版本的chromium浏览器。-------------------------------------------------------------------------------------------------------------准备知识在实际的开发中,如果直接在chrom...
参考:https://blog.csdn.net/feiduclear_up/article/details/46363207, 有源码,可以直接看。android的mvc设计模式,与spring的mvc设计模式有点区别。相对spring来说,mvc的设计很清晰明了,controller解析url地址,根据url地址的不一样解析为对应的mode,然后返回对应的view,这样MVC的框架就...
Activity流程:onCreate() onStart() onResume() onPause() onStop() onDestroy()生命周期 :onCrate 不可见不可交互、 onStart 可见不可交互 、 onResume 可见可交互 、 onPause 可见不可交互 、onStop 不可见不可交互 、 onDestory 销毁了 、 onRestart...
Android的六大布局分别为: 线性布局(LinearLayout)、框架布局(FrameLayout)、表格布局(TableLayout)、相对布局(RelativeLayout)、绝对布局(AbsoluteLayout)和网格布局(GridLayout) 。LinearLayoutLinearLayout容器中的组件一个挨一个排列,通过“android:orientati...
1基础智能指针(1)用来解决C++指针存在的问题,如没有初始化、忘记delete、野指针。(2)对象A指向对象B,B的引用计数器mCount会加1,当不引用时,会减1,如果刚好为零,则删除对象B。(3)强引用和弱引用的区别,弱引用必须先升级为强引用才可以访问指向的目标对象,弱引用的主要使命就是解决循环引用的问题。(4)通常目标对象的父类是 RefBase ,这个类可以同时进行强弱引用...
在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供器(Content provider)和网络。SharedPreference Android提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等。其以键值对的方式存储,使得我们可以很方便的读取和存入.注意:Preferences...
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号