
Android笔记系列
文章平均质量分 57
繁星点点-
不尝试去做就没有实现的可能。
展开
-
Android笔记系列--AppWidgetProvider 锁屏小例子
关于AppWidgetProvider的用法,下面通过一个锁屏功能的小应用介绍具体的使用。步骤:(1)继承AppWidgetProvider (2)在清单文件中注册该AppWidgetProvider (3)申请设备管理器权限 (4)锁屏功能开启关于AppWidgetProvider的使用方法1和2两个步骤已经说明,步骤3和4只是作为完成锁屏这个小例子的后续步骤。详细代码...原创 2018-01-27 14:33:12 · 565 阅读 · 0 评论 -
Android笔记系列--ImageView 的scaletype属性
ImageView 的scaletype属性该属性可以设置为8 个属性值:matrix、fitXY、fitStart、fitCenter、fitEnd、center、centerCrop、 centerInside<ImageView android:layout_width="match_parent" android:layout_height="match_pa...原创 2018-01-26 17:51:20 · 540 阅读 · 0 评论 -
Android笔记系列--Fragment
生命周期函数onAttach:onAttach()在fragment与Activity关联之后调调查用。需要注意的是,初始化fragment参数可以从getArguments()获得,但是,当Fragment附加到Activity之后,就无法再调用setArguments()。所以除了在最开始时,其它时间都无法向初始化参数添加内容。有关Fragment参数初始化及传递的问题,我们会在后...原创 2018-01-26 17:50:11 · 220 阅读 · 0 评论 -
Android笔记系列--Menu 菜单
系统菜单的基本实现onCreateOptionsMenu():当用户按下设置键时,系统会调用这个方法,其中的Menu参数就是我们要显示的菜单;onOptionsItemSelected():当用户选择一个菜单项时,系统会转到这个方法中进行处理。创建菜单的两种方式1)代码创建添加菜单项public abstract MenuItem add (int groupId...原创 2018-01-26 17:48:59 · 388 阅读 · 0 评论 -
Android笔记系列--Spinner
菜单数据集values/arrays.xml<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="anim_type"> <item>淡入淡出效果</item> &原创 2018-01-26 17:48:13 · 250 阅读 · 0 评论 -
Android笔记系列--ViewPager
XML布局文件PagerTitleStrip:页面标题,重写适配器的getPageTitle()函数设置标题文字。PagerTabStrip:跟PagerTitleStrip用法相同。有两点不同: 1. PagerTabStrip在当前页面下,会有一个下划线条来提示当前页面的Tab是哪个。 2. PagerTabStrip的Tab是可以点击的,当用户点击某一个Tab时,当前页面就会...原创 2018-01-26 17:47:34 · 127 阅读 · 0 评论 -
Android笔记系列--SQLite
步骤继承SQLiteOpenHelper接口public class DatabaseHelper extends SQLiteOpenHelper { /** * @param context 上下文环境(例如,一个 Activity) * @param name 数据库名字 * @param factory 一个可选的游标工厂(通常是...原创 2018-01-26 17:44:54 · 139 阅读 · 0 评论 -
Android笔记系列--AlertDialog基本使用
注意:AlertDialog.Builder builder=new Builder(MainActivity.this);这里的上下文对象必须是要显示对话框的当前Activity,不能是getApplicationContext()AlertDialog 常见样式 //确定取消对话框//1获取一个对话框的创建器AlertDialog.Builder builder = new Builder(M...原创 2018-01-26 17:41:56 · 526 阅读 · 0 评论 -
Android笔记系列--(1)传统蓝牙 socket通讯方式
蓝牙是一种支持设备短距离传输数据的无线技术。android在2.0以后提供了这方面的支持。 从查找蓝牙设备到能够相互通信要经过几个基本步骤(本机做为服务器):1. 设置权限 在manifest中配置<uses-permission android:name="android.permission.BLUETOOTH"/> 使用蓝牙所需要的权限<uses-permission an...原创 2018-03-05 09:54:18 · 3263 阅读 · 0 评论 -
Android笔记系列--(2) Bluetooth BLE低功耗
上篇 :Android笔记系列--(1)传统蓝牙 socket通讯方式整理了一下网上关于蓝牙的资料,几乎涵盖Android开发使用蓝牙的方方面面。以下有部分内容引用的是来自网上的博客,文末将添加这些引用的来源,如果填漏了可以告诉我。本文练习源码:https://github.com/StarsAaron/BluetoothTestDemo主要内容:(1)BLE蓝牙的基础概念(2)Android 各...原创 2018-03-05 10:17:12 · 2927 阅读 · 0 评论 -
Android笔记系列--ContentProvider
源码地址: https://github.com/StarsAaron/ContentProviderTestDemo/tree/masterContentProvider 使用ContentProvider 是不同应用程序之间进行数据交换的标准 API,它以 Uri 的形式对外提供数据,其他应用程序使用 ContentResolver 通过 Uri 去访问操作指定数据。开发一个...原创 2018-01-30 10:11:12 · 515 阅读 · 0 评论 -
Android笔记系列--PopupWindow
(1)构造函数:1. 方法一: public PopupWindow (Context context) 2. 方法二: public PopupWindow(View contentView) 3. 方法三: public PopupWindow(View contentView, int width, int height) 4. 方法四: public PopupWin...原创 2018-01-26 17:46:01 · 140 阅读 · 0 评论 -
PopUpWindow使用详解(二)——进阶及答疑
转自:http://blog.youkuaiyun.com/harvic880925/article/details/49272285一、常用函数讲解这段将会给大家讲下下面几个函数的意义及用法,使用上篇那个带背景的例子为基础。[java] view plain copy print?public void setTouchable(boolean touchable) public void setFocu...转载 2016-07-24 11:15:04 · 973 阅读 · 0 评论 -
PopUpWindow使用详解(一)——基本使用
转自:http://blog.youkuaiyun.com/harvic880925/article/details/49272285一、概述1、PopupWindow与AlertDialog的区别最关键的区别是AlertDialog不能指定显示位置,只能默认显示在屏幕最中间(当然也可以通过设置WindowManager参数来改变位置)。而PopupWindow是可以指定显示位置的,随便哪个位置都可以,更加灵...转载 2016-07-24 11:12:34 · 8033 阅读 · 1 评论 -
Android笔记系列--指纹识别
# Android指纹识别使用## 本文内容1. 指纹相关类2. 指纹识别的兼容性检测3. 对称加密和非对称加密使用方式## 指纹相关类android.hardware.fingerprint 包下1. FingerprintManager:主要用来协调管理和访问指纹识别硬件设备2. FingerprintManager.AuthenticationCallback这个一个callback接口,...原创 2018-03-12 13:51:46 · 1110 阅读 · 0 评论 -
Android笔记系列--获取手机号码
有的手机获取不到手机号码的原因: 手机号码不是所有的都能获取。只是有一部分可以拿到。这个是由于移动运营商没有把手机号码的数据写入到sim卡中.SIM卡只有唯一的编号,供网络与设备识别那就是IMSI号码,手机的信号也可以说是通过这个号码在网络中传递的,并不是手机号码。试想,你的SIM丢失后,补办一张新的会换号码吗?是不会的.就是因为在你的手机号码对应的IMSI号 在移动运营商中被修改成新SIM...原创 2018-04-24 09:52:58 · 3052 阅读 · 1 评论 -
Android笔记系列--悬浮窗详细6.0 8.0兼容处理
悬浮框 6.0 8.0兼容处理各版本的差别6.0以下开悬浮窗只需在清单文件中申请权限 6.0以上需要动态权限申请,申请完权限设置type为TYPE_PHONE或TYPE_SYSTEM_ALERT就可以了8.0需要添加的权限 在Android O之前的系统中申请了该权限后,再给对应的window设置WindowManager.LayoutParams params...原创 2018-06-28 12:12:25 · 1829 阅读 · 0 评论 -
Android笔记系列--全屏
1.在xml文件中进行配置清单文件AndroidManifest.xml中,需要全屏或设置成无标题栏的Activity实现全屏效果:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"实现无标题栏(但有系统自带的任务栏):android:theme="@android:style/Theme.NoTitleBar"...原创 2018-01-26 17:52:18 · 287 阅读 · 0 评论 -
Android笔记系列--获取短信内容
public class MainActivity extends Activity { private BroadcastReceiver smsReceiver; private IntentFilter filter2; private Handler handler; private EditText et; private String strCo...原创 2018-01-26 17:52:59 · 938 阅读 · 0 评论 -
Android笔记系列--Service详解1 基本概念
分类前台服务是在做了上述工作之后需要调用 startForeground ( android 2.0 及其以后版本 )或 setForeground (android 2.0 以前的版本)使服务成?为 前台服务。使用 android:process 属性指定运行在别的进程,但注意新进程会重新创建一个Application对象,如果在Application中执行大量的初始化数据要进行判断是否是主进程...原创 2018-02-25 10:41:55 · 314 阅读 · 0 评论 -
Android笔记系列--Service 详解2 跨进程通讯
两种方式:Message或AIDL使用Messenger跨进程通信与AIDL方式区别:当你需要进行IPC时,使用 Messenger 要比用AIDL实现接口要容易些,因为 Messenger 会把所有调用服务的请求放入一个队列。而纯粹的AIDL接口会把这些请求同时发送给服务,这样服务就必须要能够多线程运行。 步骤: 服务实现一个Handler ,用于客户端每次调用时接收回调。 ...原创 2018-02-25 11:08:52 · 271 阅读 · 0 评论 -
Android笔记系列--Android接收推送跳转到指定页面的方法
从推送的消息跳转到指定的页面分两种情况(主要是Activity的生命周期和内存释放引起): 1) App在前台或在后台未被系统回收。 2) App进程已经被系统回收。第一种情况:点击消息,弹出Dialog提醒用户消息内容,使用PendingIntent这种情况下是无法获取到Dialog所需要的Context(注意不能用getApplicationContext()),可以采用Dia...原创 2018-02-01 11:39:12 · 7521 阅读 · 0 评论 -
Android笔记系列--动画
篇幅比较长,耐心点看,总结了Android中有关动画的细节,包括一些使用的小例子。 源码地址: https://github.com/StarsAaron/AnimationTestDemo/tree/master动画1. View Animation 视图动画1.1 Frame Animation 帧动画使用方法: 使用时需要在res下的drawable文件夹中...原创 2018-02-02 16:03:32 · 260 阅读 · 0 评论 -
Android笔记系列--MediaPlayer的使用
1) 如何获得MediaPlayer实例 - 使用new的方式: MediaPlayer mp = new MediaPlayer(); - 使用create的方式,如: MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//这时就不用调用setDataSource了2) 如何设置要播放的文件 MediaPlayer要播放的...原创 2018-01-30 10:28:27 · 498 阅读 · 0 评论 -
Android笔记系列--SD卡
在做android开发对sd操作时,最好是sd卡处于Environment.MEDIA_MOUNTED状态时,对sd卡上的文件进行操作,其他状态不宜进行操作。if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {// sd card 可用}else {// 当前不可用}En...原创 2018-01-30 10:27:37 · 776 阅读 · 0 评论 -
Android笔记系列--Actionbar和Toolbar使用
源码:https://github.com/StarsAaron/ActionBarAndToolBarDemo/tree/master内容:(1)actionbar和menu使用(2)toolbar和menu使用(3)toolbar定义左上角导航按钮的点击事件Tittlebar 只有APP图标和文字.不支持点击事件Actionbar 在Android 3.0(API 11)中才加入Toolbar...原创 2018-01-30 10:23:18 · 750 阅读 · 0 评论 -
Android笔记系列--Camera_FileProvider
源码例子: https://github.com/StarsAaron/CameraDemo/tree/masterFileProvider在Android7.0版本上,Android系统强制执行了StrictMode API 政策,禁止向你的应用外公开File://URI。如果一项包含文件File://URI类型的Intent离开你的应用,应用失败,并出现FileUriExpose...原创 2018-01-30 10:15:53 · 8436 阅读 · 0 评论 -
Android笔记系列--Broadcast
BroadcastReceiver的定义 主要用来监听系统或者应用发出的广播信息,然后根据广播信息作为相应的逻辑处理,也可以用来传输少量、频率低的数据。 在实现开机启动服务和网络状态改变、电量变化、短信和来电时通过接收系统的广播让应用程序作出相应的处理。BroadcastReceiver使用注意 当系统或应用发出广播时,将会扫描系统中的所有广播接收者,通过action匹配...原创 2018-01-30 10:12:30 · 215 阅读 · 0 评论 -
Android笔记系列--Activity四种启动模式,常用Flag和标签
源码: https://github.com/StarsAaron/ActivityLaunchModelDemo/tree/mastertask启动一个新应用,系统就会为之创建一个task(因为不同应用的affinity是不一样的,默认是包名),来放置根Activity;默认情况下,一个Activity启动另一个Activity时,两个Activity是放置在同一个task中的,后...原创 2018-01-29 08:44:40 · 725 阅读 · 0 评论 -
Android笔记系列--定时器AlarmManager
AlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent。简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent。 AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);常用方法有五个:...原创 2018-01-27 14:35:09 · 401 阅读 · 0 评论 -
Android笔记系列--Intent
分类:隐式 显式隐式匹配Action 该activity可以执行的动作ACTION_CALL activity 启动一个电话. ACTION_EDIT activity 显示用户编辑的数据. ACTION_MAIN activity 作为Task中第一个Activity启动 ACTION_SYNC activity 同步手机与数据服务器上的数据. ACTION_BA...原创 2018-01-27 14:31:39 · 191 阅读 · 0 评论 -
Android笔记系列--Configuration类设置系统信息
在 android.content.res.Configuration 类里,通过该类,我们可以修改语言参数,实现对应用语言的变更。 1. 首先获取Configuration 类: Configuration configuration = getResources().getConfiguration(); 2. 设置语言 configuration.locale = Locale....原创 2018-01-27 14:30:18 · 4081 阅读 · 0 评论 -
Android笔记系列--RecyclerView.Adapter使用
(1)定义一个Adapter 继承于RecyclerView.Adapterpublic class TaskListAdapter extends RecyclerView.Adapter<TaskListAdapter.TaskHolder> { private Context context; private List<TomatoTask> toma...原创 2018-01-27 14:29:07 · 302 阅读 · 0 评论 -
Android笔记系列--GestureDetector手势使用
GestureDetector这个类对外提供了两个接口和一个外部类接口:OnGestureListener,OnDoubleTapListener 外部类:SimpleOnGestureListener这个外部类,其实是两个接口中所有函数的集成,它包含了这两个接口里所有必须要实现的函数而且都已经重写,但所有方法体都是空的;不同点在于:该类是static class,程序员可以在外部继承这...原创 2018-01-27 14:27:37 · 323 阅读 · 0 评论 -
Android笔记系列--Uri
源码地址: https://github.com/StarsAaron/UrlSchemeDemo/tree/master一.URI简介概念:统一资源标识符(Uniform Resource Identifier)组成部分: 访问资源的命名机制(scheme)存放资源的主机名(authority)资源自身的名称,由路径表示(path)Uri地址格式:[sche...原创 2018-01-27 14:26:32 · 403 阅读 · 0 评论 -
Android笔记系列--XML文件操作
源码: https://github.com/StarsAaron/DataParseDemo/tree/masterAndroid中获取XML文件1) 在res/xml目录下(推荐使用)XmlResourceParser xmlParser = this.getResources().getXml(R.xml.XXX); 2) 在res/xml、res/raw目录下...原创 2018-01-27 14:25:08 · 1541 阅读 · 0 评论 -
Android笔记系列--超详细DownloadManager使用,兼容到版本8.0
超详细DownloadManager使用,兼容到版本8.0超详细DownloadManager使用,兼容到版本8.0步骤例子代码已经放到Github了超详细DownloadManager使用,兼容到版本8.0最近用到了软件更新,感觉自己写更新比较麻烦,还要定义通知栏的进度效果,想了一下还是使用系统自带的DownloadManager好了,但这个坑还是挺多的,还要搞兼容,现在来总结一下。步骤...原创 2018-09-21 23:07:22 · 7574 阅读 · 6 评论