Android 基础核心
_wangjianfeng
这个作者很懒,什么都没留下…
展开
-
Android 布局之LinearLayout和RelativeLayout
今天来谈谈Android基本布局使用最常见的两种布局,分别是LinearLayout和RelativeLayout,其实用法也没有太多,基本记住几个属性加上灵活使用嵌套就能实现各种灵活的布局了。LinearLayout 布局android:layout_gravity — 属于定义子节点在父节点的位置布局android:gravity — 属于定义子节点内容在子节点内的位置布局 以上两个属原创 2015-08-13 11:04:56 · 7463 阅读 · 0 评论 -
android WebView的缓存模式、JS交互
在开发中,有些情况下会用到hybrid app的模式,就是用WebView加载原生html页面,这时候我们就 需要对WebView做一些处理。首先说一下WebView的缓存模式,在加载html页面的时候, 会在data/data/…目录下生成一些cache文件,把URL保存在数据库中。 分为网页数据缓存和app cache.这两个缓存路径我们可以自定义,下面会说明,首先说明一下WebView的原创 2015-09-23 23:29:26 · 14976 阅读 · 0 评论 -
Android 获取手机联系人代码
ContentResolver resolver = getContentResolver(); // 1. 查询raw_contacts表,把联系人的id取出来 Uri uri = Uri.parse("content://com.android.contacts/raw_contacts"); Uri datauri = Uri.parse("co转载 2015-10-28 17:27:22 · 6271 阅读 · 0 评论 -
Android 布局优化之include、merge、ViewStub
布局重用incldue标签,能够重用布局文件,简单的使用如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width=”match_parent” androi原创 2015-10-15 00:02:22 · 8279 阅读 · 0 评论 -
[Android]android.graphics.Camera实现图像的旋转、缩放,配合Matrix实现图像的倾斜
本文载自:http://blog.csdn.net/sodino/article/details/6823315android.graphics.Camera可以对图像执行一些比较复杂的操作,诸如旋转与绽放,与Matrix可实现图像的倾斜。个人总结Camera与Matrix的一些区别如下:Camera的rotate()相关方法是指定某一维度上旋转指定的角度。Matrix的rotate()相关方法转载 2015-12-17 11:00:38 · 11160 阅读 · 0 评论 -
Android pull解析xml数据代码
平时用到大部分都是json数据,突然要用到xml的数据,解析方法已经忘得差不多了,现在记录一下api XmlPullParser parser = Xml.newPullParser(); BufferedInputStream fis = null; try { fis = new BufferedInputStream(new原创 2016-01-12 14:11:11 · 9000 阅读 · 0 评论 -
Android 模拟屏幕点击和物理按键方式
在Android 中,有些特定的功能或者在调试的时候需要模拟屏幕点击功能和物理按键等。在实现上有2种方式:首先是模拟屏幕点击的实现方式有两种:模拟屏幕点击本进程内实现,就是只有在自己的app上面实现。跨进程实现,就是模拟点击手机屏幕的某个坐标。不跨进程实现方式:假如我们需要模拟点击某个按钮,这时候可以使用MotionEvent来实现,实现代码如下: private void simula原创 2016-02-01 16:59:27 · 16353 阅读 · 1 评论 -
Android 事件分发细说
一直以来都对Android 的事件分发机制有疑惑,以前只知道事件分发涉及到三个方法:dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent。三个方法分别为分发事件,拦截事件,处理事件,对于这些知识一知半解,并没有深入了解。当遇到滑动冲突的时候就在父View或者子View的这三个方法,return true or false,一个个试(笨~)。上网看原创 2016-06-06 11:54:01 · 8158 阅读 · 0 评论 -
LruCache 实现原理分析
LruCache 实现原理分析最近研究了一下LruCahce的实现原理,以前也看过几遍源码了,但是有些还是没有理解清楚。重新撸了一遍代码,吼吼吼。声明的变量 private final LinkedHashMap<K, V> map; /** Size of this cache in units. Not necessarily the number of elements. */原创 2016-07-13 13:36:33 · 19730 阅读 · 0 评论 -
LruCache 实现原理分析
LruCache 实现原理分析最近研究了一下LruCahce的实现原理,以前也看过几遍源码了,但是有些还是没有理解清楚。重新撸了一遍代码,吼吼吼。声明的变量 private final LinkedHashMap<K, V> map; /** Size of this cache in units. Not necessarily the number of elements. */原创 2016-07-13 13:36:41 · 6685 阅读 · 0 评论 -
Android热修复原理普及
Android热修复原理普及这段时间比较难闲,就抽空研究一下Android热修复的原理。自从Android热修复这项技术出现之后,随之而现的是多种热修复方案的出现。前两天又看到一篇文章分析了几种热修复方案的比较。原文地址是:[Android热修复] 技术方案的选型与验证看完这篇文章,有点汗颜。有这么多的热修复方案,并且他们之间的实现原理也不一样,各有优缺点。然后在尼古拉斯_赵四的博客中看到几篇关于热原创 2016-08-29 17:40:51 · 22651 阅读 · 2 评论 -
Android JNI 开发的流程
前言JNI也使用过一段时间,但是使用的频率绝对是不高的。为了避免以后到处翻资料,还是记录一下JNI的开发流程吧。配置环境在Android Studio环境下,配置NDK的环境:在local.properties中声明ndk的路径 ndk.dir=/xxx/xxx/在gradle.properties添加一句android.useDeprecatedNdk=true编写...原创 2016-10-18 15:50:38 · 6445 阅读 · 0 评论 -
Android IntentService的使用
在开发当中,一般不能在Service中做一些耗时的操作,因为Service中一个操作耗时 超过5秒之后,Android系统就会报Application Not Response 异常。为了避免这 中错误,官方为我们提供了一个比较有用的API,就是IntentService,在官方说明中, IntentService是将一个Intent加入一个队列中,运行在主线程,但是它会开启一个工 作线程(原创 2015-09-22 22:53:53 · 10228 阅读 · 0 评论 -
Android 隐藏软键盘的方式
最近用到需要自己写一个输入的界面,这就需要隐藏掉系统默认的输入法弹出来了。要隐藏输入法,有几种方式:在AndroidManifest中声明Activity的输入模式,详情请看http://blog.csdn.net/u012943767/article/details/48932389在代码中设置 InputMethodManager imm = (InputMethodManager) ge原创 2015-11-09 16:43:45 · 10983 阅读 · 0 评论 -
Android ListView和Adapter优化
今天来说一下Android 中ListView控件 和使用Adapter 绑定数据。 现在分别列出两个对象的说明:ListView通常我们如果加载比较多相同类型的数据,会使用ListView,使用ListView有说明好处呢。ListView是一个可以滚动的视图控件,加载一条一条的Item数据是很好的选择。为什么说它好。原因就是ListView 只有在可见的范围内才加载数据,一但数...原创 2015-08-14 21:47:27 · 10390 阅读 · 0 评论 -
Android Activity的四种启动模式
现在来讨论一下Android 中Activity 的四种启动模式standardsingleTopsingleTasksingleInstance首先说明一下Activity设置启动模式的方法: 设置Activity的启动模式,只需要在AndroidManifest.xml里对应的标签设置android:launchMode属性,例如: <activity andr原创 2015-08-14 22:57:04 · 6880 阅读 · 0 评论 -
Android Activity的生命周期
其实网上也有很多写Activity生命周期的文章,但是我觉得还是应该总结一下,作为知识的整理吧。Activity 总共有7个生命周期: 方法 说明 onCreate 在Activity创建的时候调用 onStart 在Activity可见的时候,但是没有获取焦点的时候调用 onResume 在Activity获取焦点的时候调用,即和用户交互 onPause 在A原创 2015-08-15 22:49:18 · 7885 阅读 · 0 评论 -
Android Handler 异步消息处理机制
引言首先说明我是怎么接触到这个Handler对象的,当我尝试在Activity中处理网络传输的时候,报了异常。上网查了下资料,知道了再Android 4.0 版本以上是不能在主线程(UI线程 | Activity)中进行网络连接, 网络连接通常执行耗时操作,这样会造成主线程阻塞,主线程阻塞在手机上看就是卡死机了,这样会带来很不好的用户体验。好,既然不能在主线程执行,那我就创建一个线程呗,一运行问题又原创 2015-08-13 20:08:14 · 8595 阅读 · 0 评论 -
Activity中获取view的高度和宽度方法
本文载自 : http://blog.csdn.net/nailsoul/article/details/25909313在activity中可以调用View.getWidth()、View.getHeight()、View.getMeasuredWidth() 、View.getgetMeasuredHeight()来获得某个view的宽度或高度。 但是在onCreate()、onStrart(转载 2015-09-01 22:13:10 · 10072 阅读 · 0 评论 -
Android 中 Intent 的使用
在Android中,Intent的使用场景分为以下2种: 1、开启另一个Activity或者Service 2、注册广播接收者其中开启另一个Activity 或者Service 又分为开启本应用中的Activity和开启系统应用中的Activity,开启本应用中的Activity或Service其实不用多说,大家也用的很多,值得注意的一点是Intent可以携带很多数据: Inten原创 2015-08-20 21:42:04 · 8133 阅读 · 0 评论 -
Android ListView 实现Item单选效果
有时候需要列出大量的选择数据,供用户选择,如果直接用布局写一个个CheckBox 的话不是很合理,所以需要在ListView中加载大量的CheckBox ,但是加载了大量的CheckBox 的时候 ListView的OnItemClickListener 并没有响应,查了一些资料,发现在加载ListView 的Item布局的根目录中添加一个属性 :`android:descendantFocusab原创 2015-11-05 17:00:00 · 13575 阅读 · 0 评论 -
Android 输入法windowSoftInputMode详解
在Android开发中,当输入法的显示和隐藏状态改变的时候界面布局的显示方式需要特定的设置。 那么是如何控制的呢?在声明Activity的时候可以设置一个属性来达到设置软键盘的显示和隐藏,并且可以控制布局根据不同的模式显示:这个属性是:andorid:windowSoftInputMode 此属性有9个取值,并且分为2个部分:state | adjust 前者 设置软键盘的状态,有显示和隐藏2中原创 2015-10-06 16:46:15 · 7026 阅读 · 0 评论 -
Android 获取照片的方法(1)
在开发中,经常会用到选取相册的一张照片或者拍摄一张图片,本文只讨论从相册中获取一张图片。首先我们需要启动相册的Activity,启动方式有两种:1, Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); startActivityForResult(intent, 0)原创 2015-10-06 17:42:09 · 6623 阅读 · 0 评论 -
Android 获取照片的方法(2)
另一种获取照片的方法呢是通过Intent启动拍照Activity然后返回数据,分为两部分操作: - 启动拍照Activity : Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent,0);然后可以在onActivityResult 中获取数据:Bu原创 2015-10-07 16:50:34 · 9064 阅读 · 0 评论 -
android 使用Handler 会导致内存泄漏问题
这几天,有朋友问我,使用Handler会导致内存泄漏吗,我以前并没有接触过这个概念,上网差了一些资料。其实也听简单,在这里记录一下。在我们开发中,通常在Activity中使用Handler 的时候都是直接用一个内部类或者一个匿名内部类作为Handler , 其中 Android link 也告诉我们,Handler 应该用static修饰,当时并没有太在意这个提示,我猜 大该是应该方便其他程序访原创 2015-11-09 16:24:06 · 11198 阅读 · 0 评论 -
Android Binder 机制学习
概念Android 中的Binder机制在Android系统框架中发挥着重要的作用,Binder在Android中具体表现为一个类,继承自IBinder接口,具体的功能是实现IPC(跨进程通讯)机制,还可以理解为一种虚拟设备,设备驱动是/dev/binder,Binder 是 ServiceManager和ActivityManagerService、 PackageManagerServic...原创 2016-10-18 14:54:52 · 7989 阅读 · 0 评论