
Android
Android
xiaoxiaoguai666
这个作者很懒,什么都没留下…
展开
-
android studio打开新项目时注意事项
(1)随便打开一个自己的安卓工程,复制build.gradle里面的gradle版本,把目标项目的build.gradle(Project级别的)里面的gradle版本改成自己的版本,比如:classpath 'com.android.tools.build:gradle:3.5.2'(2)把目标项目里的build.gradle(Moudle级别)里面的compileSdkVersion、targetSdkVersion、minSdkVersion改成自己的版本,比如:(注意一个工程里面可能有多个Mo原创 2021-01-11 15:22:41 · 1215 阅读 · 0 评论 -
android 网络请求问题
在请求网络时出现网络连接错误:考虑两个问题:(1)是否有在清单文件里声明网络访问权限 <!--连接网络--> <uses-permission android:name="android.permission.INTERNET" /> <!--用于管理监听网络状态的变化--> <uses-permission android:name="android.permission原创 2021-01-11 14:15:41 · 241 阅读 · 0 评论 -
butterknife 配置与简单实用
第一步:配置依赖 全局的 build.gradle(app)加上如下:implementation 'com.jakewharton:butterknife:10.2.1'annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'在build.gradle(app)的android{}中加入以下代码:compileOptions { sourceCompatibility JavaVersion.VERSION原创 2021-01-06 14:26:38 · 269 阅读 · 0 评论 -
手写Rxjava 装饰器模式
1.抽象观察者/** * 抽象观察者 * @param <T> */public interface Observer<T> { //用于订阅成功的回调 void onSubscribe(); //收到消息 void onNext(T t); //出错的回调 void onError(Throwable e); //从订阅到消息全部发送成功 void onComplete();}2.抽象被观察者publ原创 2020-12-23 15:26:30 · 254 阅读 · 0 评论 -
Android recovery
(1) Main system:用boot.img启动的Linux系统,Android的正常工作模式。(2)Recovery:用recovery.img启动的Linux系统,主要是运行Recovery程序。(3)Bootloader:除了加载、启动系统,还会通过读取flash的MISC分区获得来自Main system和Recovery的消息,并以此决定做何种操作。 在Recovery的工作流程中,上述三个实体的通信必不可少。通信的接口有以下两原创 2020-12-16 18:16:55 · 412 阅读 · 0 评论 -
Android MVP
为什么要使用MVP架构? MVC在Android中的缺陷:Activity要处理View层,又要处理Model层,并且Activity并不是一个标准的MVC中的Controller,它的首要职责是加载应用的布局和初始化用户界面,并接受来自用户的操作请求进而做出响应。随着界面及其逻辑的复杂度不断提升,Activity类的职责不断增加,以致Activity变的庞大臃肿。 MVP解决了MVC中原创 2020-10-13 21:48:12 · 145 阅读 · 1 评论 -
MVP框架两种实现方式
第一种MVP:MVP框架: View层:BaseActivity/** *让子类去实例化Presenter层 */public abstract class BaseActivity<P extends BasePresenter> extends AppCompatActivity implements View.OnClickListener { public P mPresenter; @Overr原创 2020-10-13 21:47:01 · 400 阅读 · 1 评论 -
Android ImageView用法(xml)
Android ImageView用法ImageView继承自Viewandroid:background 设置图片android:src 设置图片background和src都可以设置图片,它们之间的区别:background指的是背景,src指的是内容。在使用src填入图片时,是按照图片大小直接填,不会改变图片的大小,而使用background,则会根据ImageView给定的宽度进行拉伸。 当使用src原创 2020-08-12 21:10:15 · 1781 阅读 · 1 评论 -
Android Handler解析和相关问题
Handler解析Handler工作流程(1)通过sendMessage将Message存入MessageQueue:Handler.sendMessage(Message msg) ->Handler.sendMessageDelayed(Message msg,long delayMillis) ->Hand原创 2020-10-07 21:50:05 · 244 阅读 · 0 评论 -
AIDL踩坑
直接创建Person.aidl会报错: 解决方法:先随便起一个名字,比如创建一个Person1.aidl文件,然后再将该文件rename为Person.aidl。原创 2020-10-08 16:44:40 · 265 阅读 · 0 评论 -
AIDL使用
一.新建一个项目AIDLservice,创建Person类并继承Parcelable接口。public class Person implements Parcelable { private String name; private int grade; public Person(String name ,int grade){ this.name = name; this.grade = grade; } protected P原创 2020-10-08 18:33:29 · 2655 阅读 · 3 评论 -
Android Binder AIDL解析
Android多进程 当代智能手机的运行内存大多是6G、8G、12G,运行内存已经很大了, 为什么还会出现OOM呢? 这是因为在安卓中每一个APP都会运行在一个独立的虚拟机中,这个独立的虚拟机的内存的大小是由系统指定的,一般虚拟机内存大小是32M、48M、64M,当遇到一些内存消耗较大的操作(比如加载图片)时,可能会出现内存不足的情况。在安卓中每一个进程对应一个虚拟机实例,使用多进程的方式原创 2020-10-09 19:35:14 · 180 阅读 · 0 评论