![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
tataxqy
程序员
展开
-
Android-视图动画以及源码解析
透明度动画设置动画的主要方法 : Animation alphaAnimation= AnimationUtils.loadAnimation(this,R.anim.alpha); view.startAnimation(alphaAnimation);每个视图对象都有一个startAnimation方法,所以每个view都可以显示视图动画。在资源文件中...原创 2019-04-10 13:57:01 · 190 阅读 · 1 评论 -
Android—解决handler造成的弱引用问题
handler可能会导致内存泄漏的问题:因为handler是异步操作,而且会持有activity的引用,如果activity要被销毁,但是handler还在执行,那么在垃圾回收的时候就无法回收activity,就会造成一个内存泄漏。可能会造成内存泄漏的写法: protected void onCreate(Bundle savedInstanceState) { su...原创 2019-04-25 17:07:32 · 1480 阅读 · 1 评论 -
Android-属性动画&转场动画
视图动画vs属性动画:操作对象属性动画可操作的范围更大,视图动画只能操作控件属性动画可以做到视图动画做到的事情,但是属性动画会改变操作对象的属性,但是视图动画不能。通过属性动画:我们可以定义动画的时长,时间插值器,重复次数以及重复模式,延迟。属性动画就是让某个属性的值,不断发生变化,可以加速,也可以匀速。动画对象的实现类是Animator,Animator是属性动画的...原创 2019-05-01 15:54:56 · 319 阅读 · 0 评论 -
函数响应式编程(二)
Rx操作符入门:创建操作符: 按固定时间间隔发射整数序列的Observable,相当于定时器。interval range repeat just ,from 这两个操作符和create是等价得。 Observable observable =Observable.just("杨XX","月xx"); 通过调用Subscriber,不断得...原创 2019-05-07 16:09:23 · 258 阅读 · 0 评论 -
Android—项目结构
这两天博客更新都在草稿箱里面,争取周三晚前把他们发出来!嘿嘿嘿。上上周面试了一家公司,其中有个问题就是问我Android的项目结构,挺简单的一个问题,但是当时讲得不太好,所以我这里来总结一下!一般常用的项目结构有Android模式和Project模式,Android模式是经过as转换过的,不是真实的项目结构,但是便于开发,很容易找到经常用的那几个文件夹。切换到Project结构模式:...原创 2019-05-21 21:38:36 · 6132 阅读 · 0 评论 -
进度条没法显示的问题
自定义一个圆形进度条,结果发现圆形进度条没有出现,应该是ondraw()方法出了问题。我把这里的两个int值强转成float后,进度条就出来了。原创 2019-05-12 21:11:57 · 1093 阅读 · 0 评论 -
Kotlin—基础语法笔记
字符串:字符串比较:a==b 表示比较内容,类似Java的equalsa===b,表示比较的对象是否相同。字符串模板:(在字符串中塞进“$变量名”表示此处引用该变量的值。)var name:String="Mike""Hell0,$name" -->"Hello,Mike"空类型和智能类型转化:任意类型都有可空和不可空两种,不可空的后面加个?...原创 2019-05-23 14:10:15 · 197 阅读 · 0 评论 -
解决Android Studio连不上Android设备真机的问题
今天想学习一下自动化测试,使用Android Studio的时候连接真机连接不上。我的解决方法步骤:1.USB调试开关检查手机->开发者选项->USB调试打开2.手机安卓对应的SDK下载打开手机->设置->关于手机->Android版本可以查看对应的Android版本号然后在AS中的SDK manager中下载对应的SDK版本:3. 下载U...原创 2019-05-30 15:30:47 · 1421 阅读 · 0 评论 -
Android—OkHttp
emm这篇文章很久就开始写了,每次写到一半都忘记保存哭死,现在重新开始写吧。OkHttp简介OkHttp是一个优秀的网络请求框架,它使用建造者模式来对网络进行请求。OkHttp使用1.添加OkHttp依赖:2.构造OkHttpClient对象3.构造Request对象Request对象包括:- URL- method- headers-...原创 2019-05-18 16:48:01 · 133 阅读 · 0 评论 -
Kotlin—控制结构笔记(一)
变量与常量常量:val=value,值类型,类似Java的final,不可以重复赋值。变量:var=variable类型推导就是编译器可以推导量的类型package com.example.nval FINAL_HELLO_WORLD:String="Helloworld"var helloworld:String="HelloWorld"//类型推导val ...原创 2019-05-23 18:16:47 · 134 阅读 · 0 评论 -
Kotlin—控制结构(二)
今晚睡不着。。。。。不知道是不是看综艺看嗨了。。。。那继续补Kotlin的坑吧hhh表达式if表达式if...else...和Java代码的使用一致和Java代码不同的地方:if语句是有返回值的, 可以进行赋值,但是要注意表达式赋值时分支必须要完备赋值语句:val x=if(b<0) 0 else bwhen表达式加强版switch,支持任意类型支持纯...原创 2019-05-24 01:54:47 · 109 阅读 · 0 评论 -
热修复(基础)
传统开发流程:存在的问题:发版渠道多发版周期长需要用户更新修复bug成本极高引入热修复技术:动态修复已经发布的app的bug或者新增功能,不需要重新发版,用户无感知热修复执行流程:热修复的可选方案:1.AndFix(基于JNI)2.QQ超级补丁技术3.Sophix(sdk第三方接入)4.Bugly5.Thinker...原创 2019-07-09 08:51:36 · 293 阅读 · 0 评论 -
Android-Activity(一)
(一)、创建Activity:1、继承于Activity或其子类,重写onCreate()方法。2、Activity的注册配置:注册配置的核心代码:<applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name...原创 2019-07-13 21:33:33 · 3103 阅读 · 0 评论 -
Android基础知识点总结
Android 知识点总结Activity生命周期,启动模式,保存数据的方式,需要注意各种情况下的处理,结合Fragment,两者与Service通信Service启动方式,几种方式之间的区别,start和bind的区别,IntentService,与Activity之间的通信,Service保活Broadcast的注册方式,使用以及与其它相关框架的区别,比如EventBusCon...转载 2019-07-22 17:37:26 · 266 阅读 · 0 评论 -
Android—AIDL
之间的同个进程可以通过service来通信,如果要实现不同进程的通信就需要用到AIDL了。5.0以后service的intent一定要显式声明。在程序b:AIDLdemo中运行程序,调用程序a:ServiceTest中的服务:注意com.imooc.myservice是服务的别名:(在下面这里定义的) <service android:name="....原创 2019-04-30 15:58:58 · 1510 阅读 · 0 评论 -
Android-用httpurlconnection来实现网络请求以及json解析
发送get请求 private void requestDataByGet() { try { URL url = new URL("http://www.imooc.com/api/teacher?type=2&page=1"); HttpURLConnection connection = (HttpURLConne...原创 2019-04-25 14:22:47 · 1490 阅读 · 0 评论 -
函数响应式编程(一)
函数相应式编程介绍:函数式编程时一种编程范式,是面向数学的抽象,将计算描述为一种表达式求值,函数可以在任何地方定义,并且可以对函数进行整合。响应式编程时一种面向数据流和变化传播的编程范式,数据更新是相关联的,把函数式编程里的一套思路和响应式编程合起来就是函数相应式编程。函数相应式编程可以极大地简化项目,特别是处理嵌套回调的异步事件,复杂的列表过滤和变换或者时间相关问题。下面主要介绍函数...原创 2019-05-05 16:43:31 · 459 阅读 · 0 评论 -
Android_service
service可以开辟线程,访问网络,操作数据库,主要用于在后台处理耗时操作,比如说下载,是service在后台处理下载的操作。service不受Activity生命周期的影响。service的生命周期onCreate() ——创建onStartCommand()onBind() ——用于绑定的方法onUnbind() ——解绑onDestroy() ——摧毁创建servic...原创 2019-04-11 16:09:48 · 111 阅读 · 0 评论 -
Android-多线程编程(用okhttp实现get请求并显示在主页面上并解析原理)
Handler异步消息处理机制的使用方法:public class MainActivity extends AppCompatActivity { public static final int UPDATE_TEXT=1; private TextView mcontent; private static String string; private st...原创 2019-04-12 22:08:41 · 892 阅读 · 0 评论 -
Android-broadcast
广播的类型:标准广播:是一种完全异步的广播,广播发出之后,所有的广播接收器几乎在同一时刻接收到这条广播的信息。广播的效率比较高,但是也意味着他是无法被截断的。有序广播:是一种同步执行的广播,广播发出之后,同一时刻只有一个广播接收器能收到这条信息。当广播接收器的逻辑执行完毕,广播才能继续传递。所以此时的广播接收器是先后顺序的。优先级高的可以截断正在传递的广播,这样后面的广播接收器就无...原创 2019-04-17 21:50:53 · 119 阅读 · 0 评论 -
Android-UI界面(一)
解析UI界面安卓的UI界面和activity密不可分,要解析UI首先从活动入手:activity是程序的组件,是用户和程序进行交互的界面。启动activity流程:操作系统调用Manifest.xml文件,在Manifest.xml中被注册的activity就会被启动和执行。在activity的方法中调用oncreate()方法,调用setContentView()来指定activ...原创 2019-04-22 22:55:37 · 488 阅读 · 0 评论 -
Android-ContentProvider
ContentProvider介绍ContentProvider是安卓四大组件之一,为存储和获取数据提供统一的接口,可以在不同的应用程序之间共享数据。对于ContentProvider而言,不管数据来源是什么,他都认为是一种表,然后把数据组织成表格。ContentProvider配置:uri是外部程序访问这个程序的目标地址的uri。自定义类继承ContentProv...原创 2019-04-27 14:11:05 · 355 阅读 · 0 评论 -
Android——屏幕适配方案
屏幕尺寸单位dpi,dp,sp已经在Android-ui界面介绍啦,这里再复习一遍px:屏幕上的像素点单位dp:与密度无关的像素。计算法则,以320*240像素,2.5inch的手机为例,他的dpi为160,即在屏幕像素密度为160dpi的情况下,1dp=1px。如果是320的dpi,则1dp=2px。即根据手机实际像素密度的不同,dp和px的关系如下:1dp=(像素密度/1...原创 2019-04-27 14:52:09 · 214 阅读 · 0 评论 -
Android—自定义控件
自定义控件的步骤:1.自定义属性的声明和获取分析需要的自定义属性 在res/valus/attrs.xml定义声明 在layout.xml文件中进行使用 在View的构造方法中进行获取2.测量onMeasure3.绘制onDraw4.状态的存储和恢复(考虑在activity重建之后要存储和恢复的)主要是通过onSaveInstanceState()(实现存储)和onRe...原创 2019-05-02 10:34:42 · 133 阅读 · 0 评论 -
Android——Service
从使用方法上探索Service:首先创建一个简单的demo来看看service的生命周期:第一次启动Service:多次启动同一个Service:发现只有onStartCommand这个方法执行了。第一次停止Service,接下来停止就没有反应了。重新执行会重新调用onCreate的方法。好了,对于服务的启动,可以看到他的生命周期为:...原创 2019-04-27 22:47:29 · 201 阅读 · 0 评论 -
Android——Handler应用(打地鼠)
先放完成截图:实现代码:完成初始化的一些工作:private static final int CODE =123; public static final int MAX_COUNT=10; private static final int RANDOM_NUMBER = 500; TextView mResultView; ImageVi...原创 2019-04-18 22:32:10 · 744 阅读 · 1 评论 -
Android-数据存储方式
1.SharePreferences存储数据用于存放一些类似登陆的配置信息,本质是一个xml文件,通过类似键值对的方式存储- MODE_APPEND:追加方式存储- MODE_PRIVATE:私有方式存储,其他应用无法访问(默认的操作模式)- MODE_WORLD_READABLE:可被其他应用读取- MODE_WORLD_WRITEABLE:可被其他应用写入要想使用...原创 2019-04-18 22:37:56 · 249 阅读 · 0 评论 -
Android-UI界面(二)
ImageView和ImageButton挺简单的,略过。checkbox:功能包括全选&全不选,toast弹出当前选中的框的状态:RadioButton:RadioButton是圆形单选框,RadioGroup是个可以容纳多个RadioButton的容器,RadioButton控件可以有多个,但是同时有且仅有一个可以被选中。ToggleButton...原创 2019-04-23 23:31:02 · 115 阅读 · 1 评论 -
Android—事件
事件处理:一、概念:在Android中,我们可以通过事件处理使UI与用户互动(UI Events)。具体形式则是以事件监听器(event listener)的方式來“监听”用户的动作。Android提供了非常良好的UI事件处理机制。View是绘制UI的类,每个View对象都可以向Android注册一个事件监听器。每个事件监听器都包含一个回调方法(callback method),这个回...原创 2019-05-03 22:38:18 · 287 阅读 · 0 评论 -
Android—修改button属性
一般安卓里的普通按钮控件灰灰的,比较单调,我们可以给按钮加上背景图片,或者自定义按钮的圆角,颜色等属性。下面用代码举例: <Button android:id="@+id/reset" android:layout_marginRight="2dp" androi...原创 2019-05-04 22:06:03 · 2482 阅读 · 4 评论 -
Android—AsyncTask
emmmmmmmmm熟悉了handler之后觉得AsyncTask好理解多了!!!哎明明一年前都用过怎么就忘了,不过看了下还是能捡起来的!加油!!!下面看看AsyncTask怎么用吧!其实AsyncTask就是对线程和handler进行了封装,可以轻松地从子线程切换到主线程,避免ANR。使用AsyncTask:AsyncTask是一个抽象类,想要使用它必须要创建一个子类去继承它,在继承...原创 2019-08-07 21:40:22 · 124 阅读 · 0 评论