Android之基础
文章平均质量分 57
fly_Xiaoma
技术分享,技术学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何实现程序开机自启动
分为三步:在AndroidManifest.xml文件中定义广播和声明权限 实现自定义广播类 接收到广播后,设置Activity的启动模式在AndroidManifest.xml文件中定义广播和声明权限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"</uses-...原创 2018-10-28 12:46:54 · 711 阅读 · 0 评论 -
Android中的四种启动模式
standard标准模式,每次激活activity都会创建该activity,并放入任务栈中。singleTop如果在任务的栈顶正好存在该Activity的实例,就重用该实例,否则就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,此时相当于standard模式)singleTask如果在栈中已经存在该Activity的实例,就重用该实例(会调用实例的onNewInt...原创 2018-10-28 21:51:40 · 138 阅读 · 0 评论 -
Intent中的各种FLAG
TaskTask就是一个任务栈,里面用来存放Activity,第一个进去的(Activity)处于栈的最下面,而最后创建的(Activity)则处于栈的最上面。从Task中取出(Activity)是从最顶端取出,也就是说先进后出,后进先出。而Activity在task中的顺序是可以控制的,在Activity跳转时用到Intent Flag可以设置新建Activity的创建方式。Androi...翻译 2018-10-27 17:12:06 · 2607 阅读 · 0 评论 -
BroadcastReceiver中onReceive()方法中需要注意什么
广播接收者运行在主线程,所以广播接收者的onReceive()方法内不能有耗时的操作,需要放在子线程中做。onReceive()的生命周期很短,有可能广播接收者结束,子线程还没有结束,这时广播接收者所在的进程有可能被杀掉,这样子线程就会出问题,所以耗时的操作最好放到service中。 ...原创 2018-10-28 12:03:01 · 5596 阅读 · 0 评论 -
Android中UI设计之shape属性
在Android的UI设计时,难免会遇到使用控件如TextVeiw、Button等情况,如果要使它们更好看,就要使用到自定义background了,而shape就算常用的一种背景边框。shape的基本属性有:corners 圆角 solid 填充色 stroke 描边(控件的边) gradient 渐变色 padding 内边距(不常用) size 定义图形的大小(不常用)sh...原创 2018-11-30 09:21:46 · 278 阅读 · 0 评论 -
Android中UI之对齐方式
UI中的对齐方式:一、LinearLayout(线性布局)提供了控件水平垂直排列的模型,同时可以通过设置子控件的weight布局参数控制各个控件在布局中的相对大小。水平(vertical)垂直(horizontal)fill-parent:占满整个屏幕wrap-content:刚好适合控件内容的大小对齐方式gravity取值:top:不改变大小,位置置于容器的顶部...原创 2018-11-30 09:25:27 · 1474 阅读 · 0 评论 -
ADB指令之"install"
通常,在Android打包之后生成"xxx.apk"文件,其中安装APK文件有两种方式:将APK文件放到手机内存或者SD卡中,通过手机来安装(或者通过手机助手) 通过ADB指令安装第一种方式比较简单,下面着重介绍第二种方式:ADBADB,即Android Debug Bridge,它是Android开发人员不可替代的强大工具。1、下载需要的apk文件,把apk文件放到andro...原创 2018-12-08 21:34:39 · 885 阅读 · 0 评论 -
Android自定义View之getTextBounds()
在Android自定义View的过程中一定会用到Paint,而paint属性中有一个方法getTextBounds(String text,int start,int end,Rext bounds),它的中文解释是:返回一个包含中文的矩形边界,位置为(start,end)英文解释:Return in bounds (allocated by the caller) the smallest ...原创 2018-12-06 08:27:58 · 2164 阅读 · 1 评论 -
Android自定义View之drawText()方法
Android自定义View过程中,一定会涉及到canvas,canvas属性中有一个方法:drawText(String text,float x,float y,Paint paint)理解:Canvas的三种绘制文字的方式:drawText(),drawTextRun()和drawTextOnPath()。常用的只有drawText()方法。drawText(String t...原创 2018-12-06 08:39:01 · 706 阅读 · 0 评论 -
Android自定义View之“绘制圆角矩形”
Canvas中的一个属性,drawRoundRext(RectF rect,float rx ,float ry, Paint paint)Draw the specified round-rect using the specified path。The roundrect will be filled or framed based on the Style in the paint。...原创 2018-12-06 08:50:11 · 13251 阅读 · 0 评论 -
Android之性能优化问题
1、UI优化在xml布局文件中,合理选择RelativeLayout、LinearLayout、FrameLayout,其中RelativeLayout会让子View调用两次onMeasure()方法,并且布局复杂时,onMeasure也相对复杂,效率比较低;在LinearLayout中,当weight>0时,也会让子View调用两次onMeasure 布局复杂时,尽量使用<in...原创 2018-12-19 22:01:25 · 240 阅读 · 0 评论 -
Android之ListView性能优化
Android开发中经常需要用到如ListView的类,还有比如ExpandableListView等,当加载少量数据时,并没有区别;但是当加载大量数据,且结构较复杂时,就需要考虑ListView的性能优化了。对ListView的性能优化,属于老生常谈了,主要从四个方面考虑:复用convertView 复用holder类 使用分段加载 分页加载1、复用convertView思...原创 2018-12-20 09:08:40 · 302 阅读 · 0 评论 -
Android API 级别
Android API 级别:API 级别是一个对 Android 平台版本提供的框架 API 修订版进行唯一标识的整数值。版本 API等级 VSRSION_CODEAndroid 7.1 25 Nougat(牛轧糖)Android 8.0 26 Oreo(O)(奥利奥)Android 8.1 27 ...原创 2018-12-17 10:29:19 · 276 阅读 · 0 评论 -
Android API官方文档
看别人总结的方方法总觉得少点什么,还是得看官方文档啊:中文版:http://www.zhdoc.net/android/reference/android/widget/Switch.html英文版:https://developer.android.google.cn/reference/packages...原创 2018-12-28 09:37:23 · 1419 阅读 · 1 评论 -
Git版本控制之"在主分支添加tag"
以下内容为借鉴:Git远程分支代码强制回退&Tag添加Git指令大全:https://www.alexkras.com/getting-started-with-git/【场景描述】项目test分支需要合并到master分支,并且给master打上tag。因为笔者没有打过tag,所以是先合并代码到本地,然后才创建tag。正确步骤,先加tag,再合并代码,最后push。 【补...翻译 2018-12-12 09:19:45 · 1196 阅读 · 0 评论 -
Android开发之“ListView与RecyclerView的对比”
在Android开发最火热的时候ListView是最长使用的一种展示多item的控件,而在2018年的现在已经很少有人用ListView了,使用最多当数RecyclerView了。下面总结一下两者的区别:两者的用法区别 布局效果 对空数据的处理 HeaderView与FooterView 局部刷新 动画效果 Item的点击事件 嵌套滚动机制1、ListView与Recycl...原创 2018-12-23 21:42:09 · 534 阅读 · 0 评论 -
查看Android的API源码方法
推荐一个去除Android的API源码中hide隐藏的API地址,可以直接下载替换Android Studio中platform下android.jar文件地址: https://github.com/anggrayudi/android-hidden-api 用法:1.下载对应API版本的Android.jar 2.替换SDK/platforms/android-版本/Android....原创 2018-12-29 11:42:50 · 793 阅读 · 0 评论 -
Service之上层调用
嗯~新年第一篇~~1、Service与Activity通信(bindService)编写Service代码:public class MyService extends Service{ public static final TAG="MyService"; public MyBinder mBinder=new MyBinder(); @Override...原创 2019-01-01 16:58:44 · 326 阅读 · 0 评论 -
Android之重写与重载
1、重载与重写的区别方法重载是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表(参数的数量或者参数类型不能完全一样)方法重写发生在子父类之间的,子类定义的方法与父类中的方法具有相同的方法名字,相同的参数列表和相同的返回类型2.重载(Overloading)理解:方法重载让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。...原创 2018-11-29 09:41:38 · 2735 阅读 · 0 评论 -
Android之configChanges()
原文:https://blog.youkuaiyun.com/zhaokaiqiang1992/article/details/19921703 android中的组件Activity在manifest.xml文件中可以指定参数android:ConfigChanges,用于捕获手机状态的改变。 在Activity中添加了android:configChanges属性,在当所指定属性(Configur...转载 2018-11-29 09:10:23 · 196 阅读 · 0 评论 -
Android中如何实现定时任务
定时任务有3种方法,参考了原文章https://www.cnblogs.com/Im-Victor/p/7457027.html采用Handler与线程的sleep(long )方法(不建议使用,Java的实现方式) 采用Handler的postDelayed(Runnable,long)方法 采用Handler与timer及TimerTask结合的方法(任务较多时使用)Hand...翻译 2018-10-28 13:24:50 · 1072 阅读 · 0 评论 -
Android网络框架okHttp3学习笔记
okHttp3是一个非常强大的Android网络框架,它是由Square公司开发并开源的,很多Android开发者都会使用到,所以我也要来学学。服务器为了方便测试,我们需要一个后台服务器的应用,下面是一个Java Web的Servlet,它的功能是接收客户端发来的登录数据,判断密码是否正确,并返回结果(JSON格式)。@WebServlet(name="MyServlet",url...翻译 2018-10-23 19:22:29 · 284 阅读 · 0 评论 -
Otto事件总线框架的使用
Otto是一个在Android中的事件总线框架,它是square公司的一个开源框架。为什么要使用Otto事件总线:通常来说在Android中:1、Activity与Activity间的传值是通过Intent,值回调是通过startActivityForResult()2、Activity与Fragment间的传值是通过setArguments,值回调是通过实现onAttach()...转载 2018-10-24 10:18:35 · 373 阅读 · 0 评论 -
TCP/IP协议三次握手与四次挥手解析
TCP/IP协议三次握手与四次握手流程解析一、TCP报文格式TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:上图中有几个字段需要重点介绍下:(1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。(2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=S...转载 2018-10-24 13:49:24 · 324 阅读 · 0 评论 -
Thread、AsyncTask相关
1、wait()和sleep()的区别sleep来自Thread类,wait来自Object类 调用sleep()方法的过程中,线程不会释放对象锁。而调用wait()方法的过程会释放对象锁 sleep睡眠后不出让系统资源,wait让出系统资源其他线程可以占用CPU sleep(milliseconds)需要指定一个睡眠时间,时间一到会自动唤醒2、Android线程间通信有哪几种方式?...原创 2018-10-24 14:58:23 · 199 阅读 · 0 评论 -
Fragment相关
1、Fragment如何实现类似Activity栈的压栈和出栈效果的? Fragment的事物管理器内部维持了一个双向链表结构,该结构可以记录我们每次add的Fragment和replace的Fragment,然后当我们点击back按钮的时候会自动帮我们实现退栈操作。2、Fragment在项目中的使用 Fragment是Android 3.0以后引入的概念,...原创 2018-10-24 15:26:07 · 257 阅读 · 0 评论 -
Android中的广播
1、Android广播机制广播作为Android组件间的通信方式,使用场景如下:同一app内部的同一组件内的消息通信(单个或多个线程之间) 同一app内部的不同组件之间的消息通信(单个进程) 同一app具有多个进程的不同组件之间的消息通信 不同app之间的组件之间消息通信 Android系统在特定情况下与App之间的消息通信 从实现原理上看,Android中的广播使...原创 2018-10-24 18:31:51 · 882 阅读 · 0 评论 -
LinearLayout 与RelativeLayout的区别
LinearLayout:是线性布局控件,它包含的子控件以横向或纵向的方式排列,超过边界时,某些控件将缺失或消失。RelativeLayout:是相对布局,允许子元素指定以相对于父元素或兄弟元素的位置,这是实际布局中最常用的方式之一。它灵活性大、属性多、难操作,子元素之间产生冲突的可能性也大。如:layout_weight="1"仅在LinearLayout中有效。...原创 2018-10-27 17:22:24 · 2761 阅读 · 0 评论 -
如何控制控件的可见性
在xml布局文件中android:visibility="visible"android:visibility="invisible"android:visibility="gone"在代码中view.setVisibility(View.VISIBLE);view.setVisibility(View.INVISIBLE);//view不可见,占用空间view.setVi...原创 2018-10-27 17:29:36 · 1749 阅读 · 0 评论 -
Android之“横竖屏切换生命周期的执行过程”
在Android开发的过程中,有时候会考虑到横竖屏切换的情况,如果放开了横竖屏切换,就要注意了,此时要多任务栈中的activity做一些谨慎操作。在AndroidManifest.xml文件中,设置activity的属性时有一项"android:configChanges="" ",可以配置它的属性;其中可选的有"orientation" ,"orientation | keyboard"...原创 2018-11-05 22:49:01 · 3362 阅读 · 0 评论 -
Activity与Fragment(或者Fragment与Fragment)间数据传递的方法
思路:Activity与Fragment或者Fragment与Fragment之间的数据传递,依赖于Fragment所onAttached的那一个Activity,并分别调用setArguments()和getArguments()两个方法方法:创建一个Bundle对象,将数据传递进去(一般用Map<k,v>) 在Activity中调用setArguments()方法,将bu...原创 2018-11-18 17:20:18 · 358 阅读 · 0 评论 -
Java之System.arrayCopy()的用法
System.arrayCopy(Object srcArray,int srcPos,Object destArray ,int destPos,int length)思路:Object srcArray 原数组(要拷贝的数组) int srcPos 要复制的原数组的起始位置(数组从0位置开始) Object destArray 目标数组 int destPos 目标数组的起始位置...原创 2018-11-18 17:48:12 · 8385 阅读 · 5 评论 -
Fiddler抓包工具
Fiddler工具自己在实际中也有应用,看到一篇文章觉得不错原地为 https://blog.youkuaiyun.com/ohmygirl/article/details/178461991、抓包工具有很多,为什么要使用Fiddler呢?原因如下:a.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改...转载 2018-11-21 14:06:13 · 130 阅读 · 0 评论 -
Activity之Intent隐式启动
使用Intent实现页面跳转,同时传递数据的方式分为两种,一种是显示启动,另一种是隐式启动。显示启动暂不做分析,下面介绍隐式启动(笔记):思路:隐式启动最关键的是要配置IntentFilter,而IntentFilter又分为action、category和data,所以这三点做到了,就能正确启动Activity。1、actionaction是一个字符串,action的匹配规则是I...原创 2018-11-22 09:36:18 · 862 阅读 · 0 评论 -
Android中UI之px dpi ppi dp的区别与理解
在Android开发中一定会涉及到UI界面的设计,不过为了UI的美观,还是要遵循一定的规则,其中不同型号手机的屏幕适配是一定要明白的;而做屏幕适配像素是一定要明白原理的,比如:什么是px、dpi ppi dp的区别又是怎样的(笔记)四种屏幕尺寸分类:small.normal,large,xlarge四种密度分类:ldpi,mdpi,hdpi,xhdpi 1、什么是分辨率分辨率就...原创 2018-11-24 15:28:55 · 650 阅读 · 0 评论 -
Android中UI之src属性与background的区别
在Android开发中,设计UI时如果遇到ImageView这个控件,当我们为其添加图片时,添加图片的话通常有两种方式:src 与ackground。那么它们有什么区别呢?先看一下它们的方法src:mImageView.setImageResource();mImageView.setImageDrawable();mImageView.setImageURI();backg...原创 2018-11-24 15:42:42 · 682 阅读 · 0 评论 -
Android之FragmentActivity与Activity的区别
在Android开发中,新建一个类时会发现,在父类系中有两个类比较相似:FrgmentActivity和Activity。两者的区别:FragmentActivity继承自Activity,用来解决Android3.0之前系统没有Fragment api的情况,其功能类似于Fragment 在Android3.0之后的系统中,可以直接继承Activity,并在其中直接嵌入使用Fragme...原创 2018-11-29 09:08:48 · 1645 阅读 · 0 评论 -
android studio如何使用git提交、拉取、合并代码的操作
android studio如何使用git提交、拉取、合并代码的操作文章链接:http://blog.youkuaiyun.com/lei_notes/article/details/53287447一:下面就讲解安装配置步骤:本次以Androidstudio项目为例讲解,所需工具有1. git的下载安装,连接:http://git-scm.com/download/2. ...转载 2019-01-08 09:10:22 · 13119 阅读 · 2 评论
分享