Android基础知识
tjoven
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
button的setClickable 和 setEnabled 区别
setClickable(false) 是让控件不能点击 ,但是你可能会发现,如果你想暂时的让一个控件不能被点击,但是setClickable(false)这样做了以后,仍然可以被点击,这是为社么呢?我们来看一下android源码public void setOnClickListener(OnClickListener l) { if (!isClickable()) {转载 2016-09-20 14:56:03 · 14804 阅读 · 0 评论 -
String 添加链接
1,通过Html TextView tips = (TextView) findViewById(R.id.text); String str = "单击打开 百度首页"; tips.setText(Html.fromHtml(str)); tips.setMovementMethod(LinkMovementMethod.getIns原创 2017-04-05 19:33:19 · 744 阅读 · 0 评论 -
Adb 那些事
转载:Android adb你真的会用吗?转载 2017-07-10 14:02:15 · 206 阅读 · 0 评论 -
数组遍历 和 迭代器遍历的区别
循环数组时候如果要对数组进行add、remove操作,采用 迭代器的遍历,list的遍历通常有三种方式:1,普通的数组遍历 for (int i = 0; i < args.length; i++) { }2,加强型数组遍历for (String string : args) { }3,迭代器遍历while (it.hasNext()) { type type =原创 2017-07-24 19:19:38 · 3198 阅读 · 1 评论 -
布局优化---merge标签的使用
定义首先我们看官方的说明:The tag helps eliminate redundant view groups in your view hierarchy when including one layout within another. For example, if your main layout is a vertical LinearLayout in which two cons原创 2017-09-13 11:43:46 · 2058 阅读 · 0 评论 -
广播开线程为什么不可取
首先需要知道: 1,这里所说的广播是静态广播 2,广播是运行在ui线程,阻塞15s会ANR 3,当android程序第一次运行时会启动一个进程和一个ui线程(不考虑多进程,多线程等) 一个未运行的程序接受到一个广播后的流程: 1,启动程序进程 2,启动ui线程和调用广播的 onReceive(Context context, Intent intent)方法 3,onRec转载 2017-09-17 15:34:26 · 634 阅读 · 0 评论 -
Activity栈管理
转载 :Activity(三)栈管理 1) ActivityRecord 源码注释:An entry in the history stack, representing an activity. 翻译一下:存在历史栈的一个实例,代表一个Activity。 2) TaskRecord Activity栈,内部维护一个ArrayList 3) ActivityStack 并不是一个Act转载 2017-08-23 23:01:48 · 410 阅读 · 0 评论 -
PriorityQueue使用
转载 : PriorityQueue详解 深入理解Java PriorityQueue 最初的起因是我阅读文档不仔细,使用PriorityQueue出现了问题。我刚开始只是把它当作一个一般的FIFO实现来使用,结果发现poll()的结果跟我想象的不一样,后来才发现,PriorityQueue会对入队的元素进行排序,所以在队列顶端的总是最小的元素。(并非所有元素排序)有趣的是,我在仔细阅读文档以转载 2017-07-12 20:43:55 · 355 阅读 · 0 评论 -
BlockingQueue使用说明
转载:BlockingQueue在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列转载 2017-07-10 19:55:49 · 270 阅读 · 0 评论 -
ViewStub使用
介绍ViewStub是一个轻量级的view。官方解释如下 A ViewStub is an invisible, zero-sized View that can be used to lazily inflate layout resources at runtime. When a ViewStub is made visible, or when inflate() is invoked原创 2017-09-12 20:01:18 · 568 阅读 · 0 评论 -
textView设置行间距
这个属性在android5.x前后显示有差异。原创 2017-11-13 20:00:32 · 553 阅读 · 0 评论 -
关于listView,我想说的
导读listView在android中是很重要的控件,也是菜鸟view入门的一个很好的台阶。通过它可以了解view的滑动,观察者模式,缓存,生产者消费者模式,已经listView特有的view复用机制等等。个人比较遗憾的是,接触listView已经很久了,但一直没有真的理解(可能直接里结果,但现在忘记了)。 通过最近这个项目,重新接触了listView,在项目中也遇到了一些问题,犯了一些错,相信这原创 2017-11-15 23:20:25 · 336 阅读 · 0 评论 -
ListView的刷新与复用
之前我们说过listView的刷新,最终调用的是view.requestLayout。然后经过一系列android机制,最后其实就是view的绘制过程。只其中的过程这里就不描述了,咱们直接看listView的绘制过程吧。listView.onLayout绘制的基本流程,onMeasure-->onLayout-->onDraw,对于listView,measure、draw都没什么特别的,原创 2017-11-26 20:59:59 · 397 阅读 · 0 评论 -
android的事件分发机制
图解 Android 事件分发机制Android 事件分发机制(通过源码解析,附带记忆图)转载 2017-03-03 10:59:46 · 376 阅读 · 0 评论 -
android获取文件内部存储路径
一.getCacheDir、getCacheDirgetCacheDir()方法用于获取/data/data//cache目录 getFilesDir()方法用于获取/data/data//files目录二.getExternalFilesDir、getExternalCacheDir 应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。大部分...转载 2018-03-29 22:53:18 · 8357 阅读 · 0 评论 -
Interface 的使用
接口的两种作用:监听和回调,在未来的某个时刻执行当前方法。例子:点击事件的监听、网络请求的回调具体实现:在Class1中定义接口,Class1中执行 Class2的setListener(interface的实现)方法,为Class2中的接口赋值,在Class2中合适的地方调用interface的方法传递数据例子:fragment和activit原创 2017-03-30 09:55:46 · 7845 阅读 · 0 评论 -
ImageView 的src和background区别
ImageView 有src和background两个属性:background:背景,根据ImageView给定的大小进行拉伸,占满整个ImageViewsrc:前景,显示图片的内容,不会随ImageView的大小进行拉伸。 src 可以通过scaleType控制图片的缩放方式原创 2017-03-29 09:41:28 · 267 阅读 · 0 评论 -
系统键盘的弹出模式
windowSoftInputMode:1,WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE:键盘弹出后,activity的window重新绘制大小,确保内容区域不被键盘遮挡住,但貌似只有布局里面scrollView被压缩,也就是说,如果layout中没有scrollView,这个属性,并没有什么用。反过来说,如果要达到效果,必须用原创 2017-03-18 15:54:49 · 1241 阅读 · 0 评论 -
popupWindow使用
参考:blog.youkuaiyun.com/harvic880925/article/details/49272285 http://blog.youkuaiyun.com/harvic880925/article/details/49278705PopupWindow和AlertDialog最大的区别就是,PopupWindow可以指定位置显示,更加方便灵活。Dialogm默认显示在屏原创 2016-09-22 15:50:28 · 256 阅读 · 0 评论 -
Android Application的作用
http://blog.youkuaiyun.com/lieren666/article/details/7598288What is ApplicationApplication和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Applicatio转载 2016-09-26 10:21:28 · 241 阅读 · 0 评论 -
AtomicBoolean介绍与使用
介绍:在这个Boolean值的变化的时候不允许在之间插入,保持操作的原子性方法: compareAndSet(boolean expect, boolean update) 这个方法主要两个作用 1. 比较AtomicBoolean和expect的值,如果一致,执行方法内的语句。其实就是一个if语句转载 2016-10-24 16:36:43 · 1042 阅读 · 0 评论 -
Application生命周期
public class App extends Application{ String TAG=App.class.getSimpleName(); @Override public void onCreate() { // 程序创建的时候执行 super.onCreate(); Log.i(TAG, "onCreate"); } @Override public原创 2016-10-25 09:40:22 · 261 阅读 · 0 评论 -
AlarmManager 的使用
参考:点击打开链接http://blog.youkuaiyun.com/maosidiaoxian/article/details/21776697 Android 定时操作方法AlarmManager,Timer,HandlerTimer有一个明显的短板,它并不太适用于那些需要长期在后台运行的定时任务。我们都知道, 为了能让电池更加耐用,每种手机都会有自己的休眠策略,And转载 2016-10-25 14:55:47 · 320 阅读 · 0 评论 -
PullToRefresh 使用
参考 点击打开链接xml布局: <com.handmark.pulltorefresh.library.PullToRefreshListView xmlns:ptr="http://schemas.android.com/apk/res-auto" android:id="@+id/pull_refresh_list"转载 2016-10-20 14:16:41 · 563 阅读 · 0 评论 -
onPrepareOptionsMenu 和onCreateOptionsMenu 的区别
onCreateOptionsMenu:只会调用一次,他只会在Menu显示之前去调用一次,之后就不会在去调用。onPrepareOptionsMenu:是每次在display Menu之前,都会去调用,只要按一次Menu按鍵,就会调用一次。所以可以在这里动态的改变menu。>@Override public boolean onCreateOptionsMen原创 2016-10-20 15:40:58 · 298 阅读 · 0 评论 -
Handler 非静态内部引起的内存泄漏问题
感谢:Android中使用Handler引发的内存泄露看到这里,可能还是有一些搞不清楚,代码中哪里可能导致内存泄露,又是如何导致内存泄露的呢?那我们就慢慢分析一下。1.当一个Android应用启动的时候,会自动创建一个供应用主线程使用的Looper实例。Looper的主要工作就是一个一个处理消息队列中 的消息对象。在Android中,所有Android框架的事件(比如Activ原创 2016-08-31 17:21:07 · 722 阅读 · 0 评论 -
Xfermode 图像的混合模式
http://blog.youkuaiyun.com/cquwentao/article/details/514071351 概述xfermode主要指图像的混合模式,在Android中,paint可以设置不同的xfermode来达到不同的效果。 Xfermode有三个子类:AvoidXfermode,PixelXorXfermode,PorterDuffXfermode;转载 2016-11-21 17:23:05 · 349 阅读 · 0 评论 -
Android自定义软键盘的实现
转载: Android自定义软键盘的实现先看界面布局文件[html] view plain copy xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"转载 2017-02-10 09:30:58 · 362 阅读 · 0 评论 -
添加高德key
步骤:高德申请地址 https://lbs.amap.com/api/android-location-sdk/guide/create-project/get-key高德需要SHA1码,获取这个码需要keystorekeystore通过工具(androidStudio)在本地生成https://blog.youkuaiyun.com/dingkun520wy/article/details/549...原创 2018-12-04 17:59:42 · 1654 阅读 · 0 评论
分享