Android 中级篇
康小岱
事在人为,休言万般皆是命;境由心造,退后一步自然宽。
展开
-
Android LayoutInflater详解
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。具体作用:1、对于一个没有被载入或者想要动态载入的界面,都需要使用Layou转载 2015-10-09 23:18:18 · 235 阅读 · 0 评论 -
handler机制的原理
andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。 2)Handler: 你可以构造Handler对象来与Looper沟通,以便pus转载 2016-09-19 10:36:04 · 221 阅读 · 0 评论 -
Android重写FragmentTabHost来实现状态保存
最近要做一个类似QQ底部有气泡的功能,试了几个方案不太好,我想很多开发者使用TabHost都会知道它不保存状态,每次都要重新加载布局,为了保存状态,使用RadioGroup来实现,状态是可以保存了,问题是无法实现气泡功能,不能自定义布局,因为RadioGroup里面只能包含RadioButton,不然状态切换不起用作,这个可以查看RadioGroup源码,为了既能保存状态又能实现气泡功能,所以只能转载 2016-08-17 11:01:09 · 753 阅读 · 0 评论 -
Android之TelephonyManager类的方法详解(电话信息获取)
TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get方法获取相关数据。 TelephonyManager类的对象可以通过Context.getSystemService(Context.TELEPHONY_SERVICE)方法来获得,需要注意的是有些转载 2016-04-12 22:28:16 · 1393 阅读 · 0 评论 -
Android广播机制
1.Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下:1.同一app内部的同一组件内的消息通信(单个或多个线程之间);2.同一app内部的不同组件之间的消息通信(单个进程);3.同一app具有多个进程转载 2016-02-26 13:30:48 · 256 阅读 · 0 评论 -
android AsyncTask介绍
AsyncTask和Handler对比1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l 简单,快捷l 过程可控 使用的缺点:l转载 2015-12-25 13:24:16 · 214 阅读 · 0 评论 -
Android开发优化之——使用软引用和弱引用
Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。这里重点介绍一下软引用和弱引用。如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的转载 2016-01-26 09:29:34 · 214 阅读 · 0 评论 -
android服务(service)初步——通话录音
启动服务之后,监听手机TelephonyManager状态,根据不同情况做出选择,源码以及截图如下:生成的录音文件:Log日志:这个不知道为什么,点击多次停止服务的时候,总是会出现下面的BUG:图片看不清楚,我把日志复制了出来如下:09-21 19:56:31.850: ERROR/audio_input(34): uns转载 2016-01-06 09:14:31 · 436 阅读 · 0 评论 -
获取Android设备唯一标识码
概述有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码。虽然Android系统中提供了这样设备识别码,但是由于Android系统版本、厂商定制系统中的Bug等限制,稳定性和唯一性并不理想。而通过其他硬件信息标识也因为系统版本、手机硬件等限制存在不同程度的问题。下面收集了一些“有能力”或“有一定能力”作为设备标识的串码。DEVICE_ID这是An转载 2016-01-06 09:08:09 · 381 阅读 · 0 评论 -
Android消息通知(notification)和PendingIntent传值
Android支持Toast和NotificationManager两种通知方式,前者相当于一个定时关闭的对话框,后者是在状态栏上显示一条消息。Toast和Notification都可以随时取消。Toast A toast is a view containing a quick little message for the user. The toast class helps you转载 2016-01-06 09:05:53 · 283 阅读 · 0 评论 -
Android中的SharedPreferences存储数据方式
1.概述。SharePreferences是用来存储一些简单配置信息的一种机制,使用Map数据结构来存储数据,以键值对的方式存储,采用了XML格式将数据存储到设备中。例如保存登录用户的用户名和密码。只能在同一个包内使用,不能在不同的包之间使用,其实也就是说只能在创建它的应用中使用,其他应用无法使用。创建的存储文件保存在/data/data//shares_prefs文件夹下。转载 2016-01-05 10:06:50 · 356 阅读 · 0 评论 -
Android对齐属性大全
android:layout_above 将该控件的底部至于给定ID的控件之上 android:layout_below 将该控件的顶部至于给定ID的控件之下 android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐转载 2015-12-16 11:05:30 · 1637 阅读 · 0 评论 -
Android ListView 之 SimpleAdapter 二 (包含 item 中按钮监听)
1 MainActivity.javapackage com.myadapter;import java.util.ArrayList;import java.util.HashMap;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterfa转载 2015-10-26 17:01:53 · 845 阅读 · 0 评论 -
解决android7.0拍照问题(亲测有效)
随着7.0的升级,之前的访问权限有些不通,所以造成拍照的崩溃。解决硬盘访问权限才是解决问题的关键。废话不多说,直接上代码。 / ** *拍照 * / 公共静态Uri takePhoto(活动mActivity,诠释标志)抛出IOException { //取消严格模式FileProvider if(Build.VERSION.SDK_I...原创 2018-05-22 09:04:44 · 1965 阅读 · 0 评论