
Android
文章平均质量分 54
代码artist
互联网+人工智能
嵌入式,android,python,spring,tensorFolw
展开
-
android实现断点续传和多线程下载
首先解释这两个名词断点续传:不用我们自己取将文件拆包和组包,这个过程http已经有现成的实现,我们拿过来直接用。多线程下载:多线程下载不是指下载一个文件的时候就使用多个线程,多个连接,每个连接的每次请求只负责下载文件的以小部分,不是这个意思。多线程下载的意思是,同时下载多个文件,每个文件使用一个http的连接,各个连接的请求互相不干扰。主要参考的两篇博客:android——文件断点续传下载(一) - 简书android——文件断点续传下载(二) - 简书Android原创 2022-05-19 22:43:19 · 845 阅读 · 0 评论 -
android的ThreadLocal是否真的了解
Android源码中用到 ThreadLocal 有两个地方。一个是 Looper 中,一个是 Choreographer 中。// 上面的红色汉字,写错了一个,是initialValue() 函数。ThreadLocal 的原理首先,每个线程都有一个Thread对象,这个Thread 对象有一张表(在api-28中,Thread类中的变量为threadLocals,这个变量的类型为 ThreadLocal.ThreadLocalMap),//上面的key对应的是,T..原创 2021-10-31 18:07:37 · 1353 阅读 · 0 评论 -
Android handler 之消息屏障
handler中的消息类型有3种:(1) 普通消息(同步消息);(2) 消息屏障(同步屏障);(3) 异步消息;参考:Android Handler 机制(四):屏障消息(同步屏障)原创 2021-09-25 10:46:56 · 1713 阅读 · 0 评论 -
android的绘制原理
window和WindowManager Window,表示一个窗口的抽象的概念;同时也是一个抽象类,唯一的实现是PhoneWindow。在PhoneWindow中有一个顶级View—DecorView,继承自FrameLayout,我们可以通过getDecorView()获得它,当我们调用Activity的setContentView时,其实最终会调用Window的setContentView,当我们调用Activity的findViewById时,其实最终调用的是Window的fi...原创 2021-08-14 23:59:58 · 516 阅读 · 0 评论 -
【未解决】Android 的 HAL层 open函数的问题
在调试HAL的代码时,发现open函数打印错误日志;(1)源代码 if((dev->fd = open(DEVICE_NAME, O_RDWR, 0)) == -1) { LOGE("Failed to open device file /dev/freg -- %s.", strerror(errno)); free(dev); return -EFAULT; }...原创 2021-06-15 10:49:13 · 747 阅读 · 6 评论 -
dlsym函数返回null的解决办法
dlsym是什么?见:采用dlopen、dlsym、dlclose加载动态链接库【总结】原创 2021-06-14 22:08:43 · 2885 阅读 · 2 评论 -
Android模拟器设置/system为可以读写
背景介绍在学习Android源码过程中,需要经常写入文件,来验证代码是否正确,但是,默认的Android模拟器是只读状态(只有少数几个文件夹是可以读写的),不能读写。步骤原创 2021-06-05 00:46:43 · 6670 阅读 · 3 评论 -
编译Android 的 linux内核,并用emulator命令启动编译好的linux内核
准备工作使用上一篇文章,编译Android源码,并用模拟器启动编译好的镜像,可以原创 2021-06-03 01:35:21 · 1748 阅读 · 2 评论 -
ubuntu1804设置Android studio 可以被系统搜索
ubuntu安装Android studio 比较简单,解压zip文件就可以啦,但是,这个时候启动Android studio需要在bin目录下输入./studio.sh 命令,如下:此时,想在系统中搜索Android studio还是搜索不到的,需要如下配置:在/usr/share/applications 目录下,创建androidStudio.desktop 文件,如下:sudo vi androidStudio.desktopandroidStudio.desktop ...原创 2021-05-09 11:07:29 · 282 阅读 · 1 评论 -
ubuntu1804不能同时使用Android studio的模拟器和VirtualBox的虚拟机。
配置: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....原创 2021-05-04 20:11:16 · 1040 阅读 · 1 评论 -
Android 常用的第三方开源框架(非基础的库)
升级https://github.com/xuexiangjys/XUpdatehttps://github.com/itsnows/android-upgrade图片选择器https://github.com/LuckSiege/PictureSelectorhttps://github.com/jeasonlzy/ImagePicker 这个最近没有更新了,...原创 2019-11-23 13:00:31 · 401 阅读 · 0 评论 -
仿微信--主要版本说明
0.2.0版本:由于在调试的过程中,发现原始使用的DBflow数据库,处理的逻辑是:对数据库的每个表设置监听,每次在写入或者修改数据库的时候,会回调,回调得出的数据,再与UI的数据对比,如果对比的结果不一致,然后再修改UI中的数据。因为我们的消息都没一条条的发送或者是一条条的接受,所以做了一个小改进,将写入(更新)数据库的数据放入一个阻塞队列中,另外一个线程去读,然后通过设置接口回调再去...原创 2019-09-30 22:12:14 · 301 阅读 · 0 评论 -
第一个开源的Android项目
一直都想在工作之余做一个开源的项目,哪怕是练手学习之用。最近在找工作,面试官说我缺少Android项目,刚好借此机会,做了一个IM即时通讯的项目。github链接地址:https://github.com/gong-shuang/andriod-open项目介绍这个是仿微信实现的,先看一下视频:https://www.ixigua.com/i673098374042...原创 2019-08-29 21:35:19 · 489 阅读 · 0 评论 -
如何获取Android xml 格式的矢量图标
有两个方法,方法一:使用Android Studio自带的矢量图,这个比较比较少。点击 Clip Art ,旁边的小图标,如下,就是小飞机的地方:然后再点击《next》 《ok》,将xml文件保持到drawable文件夹中,即可。方法二,使用阿里或者material在线获取SVG格式的,再转成XML格式。阿里云的连接是:http://www.iconfont....原创 2019-08-14 19:05:08 · 4896 阅读 · 0 评论 -
报错:ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve XX.XX
我用的as的版本是3.4.2,window10系统。build.gradle文件配置:// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { google() ...原创 2019-08-09 07:38:30 · 29064 阅读 · 24 评论 -
Android 的 MVVM 学习
首先 MVC MVP MVVM 三者的区别:MVC ,MVP,MVVM 的区别讲解:ViewModel 的文章:深入了解架构组件之ViewModel,对应的还有:带你深入了解官方架构组件LiveData----------------------------------------这是一个简单的, MVVM 的demo,见:Android中的MVVM架构设计-实用篇...原创 2019-08-08 11:01:23 · 490 阅读 · 0 评论 -
Android 特有数据结构--SparseArray学习
SparseArray分析SparseArray分析SparseArray源码解析原创 2019-06-27 15:08:24 · 319 阅读 · 0 评论 -
Android--RecyclerView学习
RecyclerView使用修改app目录下的build.gradle文件:dependencies { compile 'com.android.support:recyclerview-v7:24.2.1'}对应的java代码:// 文件:MainActivity.javapublic class MainActivity extends AppCo...原创 2019-06-26 19:52:53 · 345 阅读 · 0 评论 -
android--ListView学习
每次学习了ListView后,时间一长,又忘记了。如何使用简单的文字对应xml文件<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android...原创 2019-06-26 11:34:33 · 277 阅读 · 0 评论 -
Android知识点
1基础智能指针(1)用来解决C++指针存在的问题,如没有初始化、忘记delete、野指针。(2)对象A指向对象B,B的引用计数器mCount会加1,当不引用时,会减1,如果刚好为零,则删除对象B。(3)强引用和弱引用的区别,弱引用必须先升级为强引用才可以访问指向的目标对象,弱引用的主要使命就是解决循环引用的问题。(4)通常目标对象的父类是 RefBase ,这个类可以同时进行强弱引用...原创 2018-10-03 22:55:39 · 300 阅读 · 0 评论 -
Android的四大组件
Activity流程:onCreate() onStart() onResume() onPause() onStop() onDestroy()生命周期 :onCrate 不可见不可交互、 onStart 可见不可交互 、 onResume 可见可交互 、 onPause 可见不可交互 、onStop 不可见不可交互 、 onDestory 销毁了 、 onRestart...原创 2018-10-03 18:05:31 · 344 阅读 · 0 评论 -
Android布局
Android的六大布局分别为: 线性布局(LinearLayout)、框架布局(FrameLayout)、表格布局(TableLayout)、相对布局(RelativeLayout)、绝对布局(AbsoluteLayout)和网格布局(GridLayout) 。LinearLayoutLinearLayout容器中的组件一个挨一个排列,通过“android:orientati...原创 2018-10-03 22:15:34 · 279 阅读 · 0 评论 -
Android存储
在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供器(Content provider)和网络。SharedPreference Android提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等。其以键值对的方式存储,使得我们可以很方便的读取和存入.注意:Preferences...原创 2018-10-03 22:55:15 · 359 阅读 · 0 评论 -
Android进程间通信
Android进程间通信有以下几种: 开启多进程开发中,有时候需要在一个APP应用中开启多个进程。怎样使用多进程? Android正常使用的多进程的办法只有一种,就是在Service或Activity的属性里面设置remote属性 ,这样,我们打开Main2Activty的时候,该活动或服务就会以一个新的进程来创建。见:https://blog.youkuaiyun.com/ita...原创 2018-10-04 15:51:48 · 313 阅读 · 0 评论 -
Android自定义View学习
主要学习(1)郭霖的:带你一步步深入了解View(2)谷歌小弟的,自定义View(3)任玉刚的,自定义View。来自慕课网的《Android面试解密-自定义View》测量模式:EXACTLY表示固定的值,AT_MOST表示由自身决定,并且至多不能超过父控件的,UNSPECIFIED表示没有限制(用于ListView等)。测量值:当需要重新测量时,...原创 2018-11-20 00:39:04 · 499 阅读 · 0 评论 -
Android fragment学习
代码很简单,Activity中嵌套一个fragment,如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" andr...原创 2018-11-30 01:04:07 · 295 阅读 · 0 评论 -
如何下载Google Chromium源码。
由于工作需要编译Android版本的Chromium,于是开始了下面的心酸历程:Chromium的源码太大,用官方默认的下载工具,不支持断点续传,我下载了无数次都解决不了,于是,我想了一个办法,先下载到国内的云服务器中,因为国内的云服务器是的入口(出口有速率限制)是没有速率限制的,然后再下载到本地,最后将源码上传到百度云中,这样,方便别的同学下载源码。参考文档:Checking out a...原创 2019-08-13 09:55:50 · 12134 阅读 · 22 评论 -
编译Android版本的chromium浏览器
下载chromium浏览器源码的方法,官网上又介绍,国内主要都是通过翻墙下载的,我这里有个本方法,把下载好的chromium源码打包放在百度云盘上,见:如何下载Google Chromium源码。这个tar包的版本是:73.0.3666.0。下载好的tar包,有9个,分别是chromium.tar.gz0....chromium.tar.gz8,depot_tools.tar.gz。分别解...原创 2019-01-15 10:26:17 · 6601 阅读 · 3 评论 -
定制Android版本的chromium之笔记
在前面的两篇文章中,分别介绍了如何下载Google Chromium源码。以及编译Android版本的chromium浏览器。-------------------------------------------------------------------------------------------------------------准备知识在实际的开发中,如果直接在chrom...原创 2019-01-26 16:36:11 · 9621 阅读 · 20 评论 -
Android内存管理机制
内存管理机制进程分类优先级:前台进程 > 可见进程 > 服务进程 > 后台进程 > 空进程原创 2019-05-03 00:09:41 · 308 阅读 · 0 评论 -
Android 网络开发工具
网络开发用到的工具google 浏览器的工具用谷歌浏览器,按 F12 可以打开网络工具,如图:postmanCharles原创 2019-05-01 00:09:33 · 244 阅读 · 0 评论 -
Android--Bitmap高效加载
基本概念代码实战Android缓存LruCache使用代码实现:DiskLreCache使用代码实战...原创 2019-05-10 20:23:57 · 434 阅读 · 0 评论 -
异步任务--AsyncTask
AsyncTask原创 2019-05-25 08:52:26 · 326 阅读 · 0 评论 -
数据适配器--BaseAdapter
BaseAdapterBaseAdapter是最常用的数据适配器。原创 2019-05-25 09:13:14 · 469 阅读 · 0 评论 -
Android进程的启动流程
Android进程的启动流程原创 2019-05-12 00:44:01 · 444 阅读 · 0 评论 -
android的mvc学习
参考:https://blog.youkuaiyun.com/feiduclear_up/article/details/46363207, 有源码,可以直接看。android的mvc设计模式,与spring的mvc设计模式有点区别。相对spring来说,mvc的设计很清晰明了,controller解析url地址,根据url地址的不一样解析为对应的mode,然后返回对应的view,这样MVC的框架就...原创 2018-07-25 17:15:48 · 333 阅读 · 0 评论