Android
文章平均质量分 87
shineflowers
每个人都是独一无二的……
展开
-
利用Gradle发布项目到JCenter
前言最近想上传一个项目到 jcenter() 当中。踩了不少坑,在此记录一下。账号注册点击此处注册链接:点我注册如下图:点击 SIGN UP FOR AN OPEN SOURCE ACCOUNT 注册个人账号FirstName : 名 LastName: 姓 (这两个你可以随便输入,之后可以更改)UserName : 登录使用的用户名 (想好了再输入,不能更改哦!!!)Password : 密码Email Address : 邮箱地址 (建议你Google 邮箱) 。Select原创 2020-11-11 17:20:59 · 370 阅读 · 0 评论 -
Android关机流程源码分析
Android系统开机时,在启动SurfaceFlinger服务过程中通过Android属性系统方式来启动bootanim进程,实现开机动画显示过程;当系统关机时,又是如何启动关机动画的呢?Android系统的整个关机流程又是怎样的呢?本文就针对这两个问题透过源码来给出具体的分析。我们知道,当长按电源键,系统会弹出关机提示对话框 当点击选择关机时,系统就会完成整个关机流程。转载 2013-12-06 11:23:42 · 1525 阅读 · 0 评论 -
android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()总结
老实说,这两个小东东实在是太麻烦了,很不好懂,我自己那api文档都头晕,在网上找到很多资料,才知道是怎么回事,这里总结一下,记住这个原则就会很清楚了:1、onInterceptTouchEvent()是用于处理事件(类似于预处理,当然也可以不处理)并改变事件的传递方向,也就是决定是否允许Touch事件继续向下(子控件)传递,一但返回True(代表事件在当前的viewGroup中会被转载 2014-02-11 15:16:44 · 743 阅读 · 0 评论 -
android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()详解二之小秘与领导的故事
总结的不是很好,自己也有点看不懂,正好现在用到了,研究了一个,再次总结,方便大家查看。总则:1.onInterceptTouchEvent中有个Intercept,这是什么意思呢?她叫拦截,你大概知道她作用了吧,她就是你的亲亲小秘书,有什么事,先找秘书,秘书来决定这个事要不要你亲自处理,既然是秘书,是不是每个人都能有呢?当然不是,这个秘书只是viewgroup的,所以只有继承vie转载 2014-02-11 15:20:06 · 999 阅读 · 0 评论 -
Activity的生命周期,BACK键和HOME对生命周期的影响
下面这张图详细的描述了Activity的整个生命周期:直接上代码,注意看注释: [java] view plaincopypublic class HelloActivity extends Activity { public static final String TAG = "HelloActivity";转载 2014-02-13 15:34:34 · 10141 阅读 · 0 评论 -
Android面试题整理
1. 请描述下Activity的生命周期。2. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?3. 如何将一个Activity设置成窗口的样式。(Edited by Sodino)4. 如何退出Activity?如何安全退出已调用多个Activity的Application?5. 请介绍下Andro转载 2014-02-17 15:08:12 · 1979 阅读 · 0 评论 -
Android Broadcast 和 BroadcastReceiver的权限机制
在Android应用开发中,有时会遇到以下两种情况,1. 一些敏感的广播并不想让第三方的应用收到 ;2. 要限制自己的Receiver接收某广播来源,避免被恶意的同样的ACTION的广播所干扰。在这些场景下就需要用到广播的权限限制。第一种场景: 谁有权收我的广播?在这种情况下,可以在自己应用发广播时添加参数声明Receiver所需的权限。首先,在Androidm原创 2014-10-24 13:51:09 · 10175 阅读 · 3 评论 -
碰撞检测算法:点和矩形碰撞、点和圆形碰撞、矩形碰撞、圆形碰撞
点和矩形碰撞[java] view plaincopyprint?/** * * @param x1 点 * @param y1 点 * @param x2 矩形view x * @param y2 矩形view y * @param w 矩形view 宽原创 2014-11-13 18:44:34 · 22484 阅读 · 0 评论 -
Android onTouchEvent和setOnTouchListener中onTouch的区别
OnTouchEvent()方法是获取的对屏幕的各种操作,比如向左向右滑动,点击返回按钮等等。属于一个宏观的屏幕触摸监控。OnTouchListener()方法是获取某一个控件某一个View的点击监控。官方文档:http://developer.android.com/ref ... nTouchListener.html两者很容易区分。区别原创 2014-11-13 15:50:20 · 35151 阅读 · 3 评论 -
Android 编程下 Touch 事件的分发和消费机制
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。方法与控件的对应关系如下表所示:T原创 2014-11-13 15:10:44 · 4132 阅读 · 1 评论 -
Android应用接入第三方登陆之新浪微博
众所周知,移动互联网在这几年经历了蓬勃发展,到目前为止,移动互联网发展仍然很强劲。其中移动设备系统以android占据主导地位,之前是加拿大的黑莓系统占据主导,但后来随着android系统的问世,黑莓手机操作系统逐渐被android蚕食,目前,全球最为流行的移动操作系统有Google公司的android、苹果(Apple)公司的ios、微软(Microsoft)公司的windows Phone,以转载 2014-10-10 14:13:50 · 26669 阅读 · 6 评论 -
Android(Lollipop/5.0) Material Design(五) 使用图片
官网地址:https://developer.android.com/intl/zh-tw/training/material/drawables.html#DrawableTint以下图片的功能能帮助你在app中实现Material设计:·图片着色·颜色提取·矢量图片Tint Drawable Resources 为图片资源染色在Androi原创 2014-11-27 16:12:49 · 2484 阅读 · 0 评论 -
Android(Lollipop/5.0) Material Design(三) 使用Material主题
官网地址:https://developer.android.com/intl/zh-tw/training/material/theme.html新的Material主题提供了:系统Widgets可设置它们的调色板系统Widgets的触摸反馈动画Activity的过渡动画您可以自定义Material主题,根据你的品牌标识,用一个调色板来控制。可原创 2014-11-27 15:53:44 · 13632 阅读 · 0 评论 -
Android(Lollipop/5.0) Material Design(七) 保持兼容性
Define Alternative Styles 定义替代样式让你的app,使用Material Design的主题运行在支持它的设备上,并在早期版本的设备上可以运行较早的主题:1. 在res/values/styles.xml 定义一个主题继承较早的主题2. 在res/values-v21/styles.xml 定义一个相同名字的继承自Material主题 的主题 3. 在m原创 2014-11-27 16:28:23 · 1260 阅读 · 0 评论 -
Android 自定义组件之如何实现自定义组件
参考链接:http://blog.csdn.net/jjwwmlp456/article/details/41076699简介Android提供了用于构建UI的强大的组件模型。两个基类:View和ViewGroup。可用Widget的部分名单包括Button, TextView, EditText, ListView, CheckBox,RadioButton, Galle原创 2014-11-21 14:35:47 · 16480 阅读 · 3 评论 -
Android(Lollipop/5.0) Material Design(二) 入门指南
官网地址:https://developer.android.com/intl/zh-tw/training/material/get-started.htmlApply the Material Theme 运用材料主题 name="AppTheme" parent="android:Theme.Material"> theme cus原创 2014-11-27 15:19:10 · 2332 阅读 · 1 评论 -
adb logcat命令详解
参考链接:http://blog.csdn.net/jjwwmlp456/article/details/40480123Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和使用.在使用logcat之前,请确保手机的USB调试模式已经开启,可以通过"Setting->Applicati原创 2014-11-28 19:19:36 · 1358 阅读 · 0 评论 -
Android实现静默安装与卸载
一般情况下,Android系统安装apk会出现一个安装界面,用户可以点击确定或者取消来进行apk的安装。但在实际的项目需求中,有一种需求,就是希望apk在后台安装(不出现安装界面的提示),这种安装方式称为静默安装。Android实现静默安装的方式有很多,这里只介绍一种比较简单易理解的方法,就是调用Android未公开的API(installPackage)来实现。下面通过一种简单的De原创 2014-11-05 16:30:59 · 12662 阅读 · 1 评论 -
Android(Lollipop/5.0) Material Design(四) 定义阴影和裁剪View
官网:https://developer.android.com/intl/zh-tw/training/material/shadows-clipping.htmlMaterial设计为UI元素引入了一个depth值,depth帮助用户了解每个元素相对重要性,重点关注手头的任务每个View的elevation值,相当于z属性,它决定了阴影的大小:z越大,阴影越大。Vi原创 2014-11-27 16:02:12 · 8565 阅读 · 1 评论 -
Android(Lollipop/5.0) Material Design(六) 自定义动画
官网地址:https://developer.android.com/intl/zh-tw/training/material/animations.html动画在Material设计中,为用户与app交互反馈他们的动作行为和提供了视觉上的连贯性。Material主题为Buttons和Activity的过渡提供了一些默认的动画,在android5.0(api21)及以上,允许自原创 2014-11-27 16:26:20 · 2129 阅读 · 0 评论 -
WindowManager实现悬浮可拖动效果
现在360手机卫士有个流量统计的效果,开启流量统计后,在桌面上会出现一个显示流量的窗体,在任何界面都可以自由拖动。模仿这个功能,做了一个统计手机信号强度的Demo, 界面效果如下:从上面的截图可以看出,当开启手机信号悬浮框后,默认在右上角会出现一个小窗体(一个图标加上一个信号强度),这个窗体附在锁屏上(默认最上面的一层是锁屏界面),可以随意拖动。界面布局什么的,在这里就不说了。原创 2014-11-06 16:22:15 · 2828 阅读 · 0 评论 -
Android 仿微信QQ聊天界面
一些IM聊天软件的展现形式是左右分开的形式。比如说,别人给你发的信息全部靠左显示,你自己发给别人的信息全部靠右显示。而我们的ListView很多时候是显示同一个布局,其实BaseAdapter中有2个重要的方法在大多数情况下我们并未使用到,一个是public int getViewTypeCount(),显示ListView中有多少种布局(默认是显示是1),像微信那样聊天界面,是有2种布局方式原创 2014-12-01 15:36:55 · 13417 阅读 · 4 评论 -
Android 高效加载大图片避免OOM
参考链接:http://blog.csdn.net/coderinchina/article/details/40964205我们项目中经常会加载图片,有时候如果加载图片过多的话,小则导致程序很卡,重则导致oom异常从而导致App挂了,今天翻译下https://developer.android.com/training/displaying-bitmaps/index.html,学习Go原创 2014-12-01 16:22:13 · 15768 阅读 · 0 评论 -
Android HandlerThread的用法
HandlerThread 继承自Thread,内部封装了Looper。首先Handler和HandlerThread的主要区别是:Handler与Activity在同一个线程中,HandlerThread与Activity不在同一个线程,而是别外新的线程中(Handler中不能做耗时的操作)。用法:[java] view plaincopyprint?原创 2014-12-02 14:03:57 · 22234 阅读 · 4 评论 -
监听Settings的值的变化
在开发Android应用的时候有时需要监听Settings下面的值(如蓝牙、飞行模式...),这个时候可以通过ContentObserver 来监听值的变化。 1.首先自定义一个类继承ContentObserver。在onChange()方法里面再次去获取Settings的值。?1234567原创 2014-12-02 18:52:31 · 10950 阅读 · 0 评论 -
Android DrawerLayout抽屉效果
官网guide:http://developer.android.com/training/implementing-navigation/nav-drawer.html官网示例:NavigationDrawer.zip android.support.v4.widget.DrawerLayout 抽屉layout。该widget只能实现从左向右、从右向左 o原创 2014-12-02 18:00:28 · 1665 阅读 · 0 评论 -
Android Widget 小部件(二) 使用configure
在添加Widget之前需要做一些处理操作,可以使用 配置活动在上一篇的实现基础上,加上配置活动(configure=activity)。这时添加Widget时,会先打开一个Activity,进行配置操作,[html] view plaincopyprint?appwidget-provider .... a原创 2014-12-05 17:41:05 · 1162 阅读 · 0 评论 -
Android Widget 小部件(三) 在Activity中添加Widget
[java] view plaincopyprint?package com.jackie.ui; import static android.util.Log.d; import android.app.Activity; import android.appwidget.AppWidgetHost; import android.原创 2014-12-05 17:43:53 · 1287 阅读 · 0 评论 -
Android Widget 小部件(一) 简单实现
创建Widget的一般步骤:在AndroidManifest.xml中[html] view plaincopyprint?receiver android:name="com.jackie.ui.TimerWidgetProvider"> intent-filter>原创 2014-12-05 17:18:35 · 1031 阅读 · 0 评论 -
使用AsyncTask异步加载图片
主要看看AyncTask如何使用:MainActivity.java[java] view plaincopyprint?public class MainActivity extends Activity { private static final String TAG = "MainActivity"; priv原创 2014-12-05 13:28:13 · 5041 阅读 · 0 评论 -
Android 防止短时间内重复点击
[java] view plaincopyprint?/** * 处理在短时间内多次点击同一组件,界面异常 */ public class MultipleClickProcess implements OnClickListener{ private boolean flag = true; private sync原创 2014-12-05 18:11:20 · 1393 阅读 · 0 评论 -
Android实现网易新闻客户端侧滑菜单(一)
Android中很多产品都采用侧滑菜单的展现形式,采用这种展现形式1:能把更多的展现内容都存放在菜单中2:设计上也能体现出视觉效果先看下360手机助手,如图:现在这种交互方式越来越流行了,虽然这种交互方式可以通过ViewGroup的方式来实现,但是用三方开源库更简单。SlidingMenu:SlidingMenu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右原创 2014-12-04 17:46:36 · 4297 阅读 · 0 评论 -
Android 调用Market搜索自己的软件
现在很多软件中都有设置的界面,设置界面一般都是软件更新关于和本产品的介绍等等,还有一个就是评分,点击后打开应用市场,比如应用宝、360手机助手,会调用这些发布市场的App,打开后直接到自己发布的App下。代码实现如下:[java] view plaincopyprint?Intent intent = new Intent(Intent.ACTION原创 2014-12-09 14:21:48 · 1405 阅读 · 0 评论 -
Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果
前面写过一篇Android 画廊效果,具体参考:http://blog.csdn.net/shineflowers/article/details/40543137自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果。的确HorizontalScrollView可以实现Gallery的效果,但是Ho转载 2015-01-04 16:12:37 · 2031 阅读 · 0 评论 -
Android 画廊效果之ViewPager显示多个图片
首先来看下面的效果原创 2014-10-28 17:38:52 · 34698 阅读 · 12 评论 -
JSON解析
Android开发中,与服务器交互80%是通过json方式传输数据,JSON 也是基于纯文本的数据格式,JSON具有跨平台的优势,相对xml,json解析起来更方便,简单,解析数据所消耗的流量也会比xml少,而且json有一些好的第三方库文件,已为开发者封装好了。JSON语法规则:数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JSO原创 2014-12-04 17:13:52 · 1179 阅读 · 0 评论 -
Android Studio快捷键
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动转载 2015-03-27 10:46:21 · 1090 阅读 · 0 评论 -
Android PopupWindow嵌套ListView(模仿分类下拉菜单效果)
1:布局文件[java] view plaincopyprint?"font-size:18px;">"http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_原创 2015-03-10 17:42:05 · 6227 阅读 · 1 评论 -
Android实现网易新闻客户端效果
tabhost_tabwidget.xml[html] view plaincopyprint?xml version="1.0" encoding="utf-8"?> TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id原创 2014-11-21 15:38:53 · 4212 阅读 · 0 评论 -
Android ContentProvider学习
当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用SharedPreferences共享数据,需要使用SharedPreferences API读写数据。而使用ContentPr原创 2015-03-13 13:53:46 · 900 阅读 · 0 评论