Android开发
文章平均质量分 55
KennyBiggerJava
这个作者很懒,什么都没留下…
展开
-
带你深入理解Android Handler机制
带你深入理解Android Handler机制说到消息机制,我们一定会想到Handler,由于Android系统规定主线程不能阻塞超过5s,否则会出现”Application Not Responding”。也就是说,你不能在主线程中进行耗时操作(网络请求,数据库操作等),只能在子线程中进行。下面先来看一下在子线程中访问UI会出现什么情况。 public void click(View v){原创 2016-09-05 00:20:51 · 2141 阅读 · 0 评论 -
字体,截图,获取图库照片
昨晚发布的分享到好友或朋友圈令我没想到的是一会儿就突破60阅读量,要知道,我之前阅读量最高的一篇才30个左右,时间是一个礼拜后。心里还是蛮开心的,特别是对于我这种自学Android半年的小白来说是一种鼓励。 好了,今天学习了3个API,简单记录下 (1)在EditText中设置字体。 先来看一下字体文件放在何处 使用方式: editText.setTypeface(Typefac原创 2016-04-25 11:05:45 · 457 阅读 · 0 评论 -
分享到微信好友或朋友圈
这周末学习了如何将图片,文本,分享到微信好友或者是朋友圈,自己亲手敲了一把。结果一个bug让我很不爽。待会来谈谈bug是什么。 好了,写代码之前必须做这几件事情。在微信开发者网站上注册账号,填写app名称,包名,应用签名。第三个应用签名本以为自己随便写一个,其实不然,需要下载签名生成工具,然后安装到手机上(此为我的愚蠢Bug,后来看微信官网才解决了),还需要下载Android开发工具包,里面有原创 2016-04-24 23:39:34 · 5708 阅读 · 0 评论 -
玩玩二维码扫描与制作
二维码如今非常流行,QQ,微信,支付宝几乎都有二维码扫描功能。所以,作为Android工程师,有必要掌握它吧。其实,如果纯自己写二维码功能的话相当复杂,幸好有一些优秀的第三方开源类库,今天我用的是非常流行的Zxing类库。这里我提供一个下载地址,Zxing第三方库 笔者第一次使用第三方类库,特别激动。感觉很高大上的东东,至少我是 这么认为的! 废话不多说,干! 先展示下工程目录: 代码如下:原创 2016-04-22 21:22:48 · 592 阅读 · 0 评论 -
Android下载图片
简单写了个请求网络下载图片,保存到sdcard中,并在app中展示图片public class MainActivity extends AppCompatActivity { private ImageView mIamgeView ; Handler handler = new Handler(); @Override protected void onCrea原创 2016-04-16 12:47:06 · 276 阅读 · 0 评论 -
Android传感器使用大全
今天学习了传感器的使用,特意来写份博客,来记录学习成果! Android常用传感器有9种,分别为:加速度传感器,方向传感器,陀螺仪传感器,磁场传感器,重力传感器,线性加速度传感器,温度传感器,光传感器,压力传感器。Android 5.0新特性还添加了心率传感器。 开发传感器很简单,分为3步。 1)调用Context的getSystemService(Context.SENSOR_S原创 2016-04-15 20:48:53 · 3594 阅读 · 1 评论 -
Service之TelephonyManager使用
TelephonyManager是一个管理手机通话状态,电话网络信息的服务类。下面简要使用其API 案例: 获取网络和SIM卡的信息(笔者参考疯狂Android讲义一书) 代码如下: 在布局文件中使用ListView<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.andro原创 2016-04-09 12:52:23 · 535 阅读 · 0 评论 -
Service的使用(一)
Service 是Android四大组件之一,与Activity很相似。Service和Activity的主要区别在于前者没有界面,而后者人户看的见,且可以进行交互。开启服务一般有二种方法,startService() 和 BindService().区别就是:前者当用户按下Back键的时候Service 仍然在运行。而后者则跟Activity同时死亡。二者各有千秋,按实际需求选择不同的方式。原创 2016-04-08 22:13:05 · 407 阅读 · 0 评论 -
ColorMatrix的使用
花了二天的时间,自己写了一个Colormatrix的工具类,实现了一个美图秀秀效果。下面的几个算法我也不是很清楚,很敬佩那些研究算法的大牛们!public class ImageHelper { public static Bitmap HandleImageEffect(Bitmap bitmap,float hue,float saturate,float lum){ B原创 2016-03-31 17:28:41 · 851 阅读 · 2 评论 -
Android屏幕方向的改变
读《疯狂Android讲义》onConfigurationChanged使用 如果你的App需要监听系统设置的更改的话,需要覆写OnConfigurationChanged方法。此方法为回调机制,系统自动调用 实例: 监听屏幕方向的改变 第一步:在xml文件中添加一个按钮 第二步:写核心代码 public class MainActivity extends Activity原创 2016-03-28 13:16:08 · 488 阅读 · 0 评论 -
Android的蓝牙开发技术(一)
Android模拟器不支持蓝牙技术,所以需要用真机测试。 需要在配置文件中设置有关蓝牙的权限,代码如下:BluetoothAdapter 是蓝牙API的核心类,下面的代码创建BluetoothAdapter对象 private BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdap原创 2016-03-17 09:47:15 · 397 阅读 · 0 评论 -
玩玩微信雷达扫描布局
先来看下效果图吧: 代码如下: public class MyRadar extends View { Paint mEmptyFCirclePaint;//圆圆 Paint mGradientCirclepaint;//渐变的圆圆 int w, h;//屏幕宽和高 float degree = 0;//角度 Matrix matrix;原创 2016-04-28 17:05:23 · 1804 阅读 · 0 评论 -
WebView控件
声明:下面内容笔者是阅读《第一行代码》一书。 WebView控件:用来展示各种各样的网页。下面的代码很简单:public class MainActivity extends Activity { private WebView mWebView ; @Override protected void onCreate(Bundle savedInstanceState原创 2016-05-11 22:28:01 · 292 阅读 · 0 评论 -
使用Http协议请求网络
声明:笔者参考《第一行代码》一书! 在Android中,发送Http网络请求的方式一般有2种,HttpURLConnection和HttpClient。 下面先使用前者,代码如下: 先来看一下布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/ap原创 2016-05-11 22:50:52 · 484 阅读 · 0 评论 -
Android上拉加载更多
Android上拉加载更多本次demo的核心是ListView+OnScrollListener+接口回调首先需要一个”底部正在加载”的布局文件,因及其简单,就不展示代码了,就是一个ProgressBar和一个TextView。自定义ListView:`public class MyFootListView extends ListView implements AbsListView.OnScro原创 2016-08-24 17:50:42 · 1385 阅读 · 3 评论 -
TabLayout
TabLayout使用最近在做一个项目,用到了TabLayout这个新型控件,所以写此文章记录下学习成果。先来看一下效果图实现这个效果其实很简单第一步:在Android Studio中,按ctrl+alt+shift+s,然后在Dependencies中添加design依赖。如图 第二步:声明控件:第三步:使用TabLayout`package com.yutianwang.test;imp原创 2016-08-16 23:48:03 · 787 阅读 · 1 评论 -
简谈Thread Local工作原理
简谈Thread Local工作原理什么是Thread Local?Thread Local 是一个线程内部的数据存储类,每一个线程都维护一个table[],通过set(),get()方法实现存取操作。只能在指定的线程中获取存储的数据,其他的线程一般无法获取。(注意:这里我用的是一般,可以使用InheritableThreadLocal达到其他线程获取数据的)什么情况下使用Thread Loc原创 2016-08-02 14:42:20 · 3154 阅读 · 0 评论 -
IntentFilter的匹配规则
允许转载请注明出处。IntentFilter的匹配规则对于初学者来说,学习IntentFilter的匹配规则还是有难度的,对于里面的规则肯定是有模糊不清的,为此,笔者写此文章以解惑!启动Activity分为二种,一种是显式,另一种是隐式。前者是指定包名和类名,而后者需要IntentFilter里面的3个过滤信息,action,category,data.需要说明的是,过滤列表中action,cate原创 2016-07-29 22:56:13 · 410 阅读 · 0 评论 -
Scroll简要分析
**实现滑动的7种方式**计算偏移量 1)layout()方法2)offsetLeftAndRight()和offsetTopAndBottom()3)LayoutParams 注意:选择你ViewGroup的具体容器是什么,我的是RelativeLayout。还有一种方式:不需要考虑父布局类型4)scrollerTo和scrollerBy scrollerTo和scrollerBy通常作用原创 2016-07-08 22:03:20 · 463 阅读 · 0 评论 -
ListView聊天
ListView提供了二个方法: getItemViewType:用来返回第postion个Item是什么类型 getViewTypeCount:返回不同布局的总数。知道了这二个方法后,我们先来看一看效果图: 下面贴一下代码: in.xml: out.xml代码差不多,这里不贴了。下面是Adapter适配器public class ChatItemListViewAdapter exten原创 2016-07-06 18:28:28 · 514 阅读 · 0 评论 -
《Android开发艺术探索》之View事件分发机制
有3个重要方法: dispatchTouchEvent(MotionEvent ev) onInterceptTouchEvent(MotionEvent ev)如果当前View拦截了事件,那么同一个事件序列当中,此方法不再调用。 onTouchEvent(MotionEvent ev)传递规则顺序:Activity—->Window(PhoneWindow)—->Vi原创 2016-06-18 10:40:53 · 476 阅读 · 0 评论 -
《Android开发艺术》之View的事件体系(上)
1.什么是View? View是所有控件的基类,从简单的Button到复杂的RelativeLayout,ListView,甚至容器ViewGroup它们的共同基类都是View.2.View的位置参数注意:这些坐标都是相对于View的父容器来说的 由上图易得View的宽高: width= right-left height = bottom-top通过View的getXXX()可以得到这原创 2016-05-23 11:44:23 · 307 阅读 · 0 评论 -
AIDL
AIDL(Android 接口描述语言):作用是用于进程间的通信。编译器会根据AIDL文件生成Java类,通过预先定义的接口以及Binder机制达到进程间的通信。 AIDL其实就是一个接口罢了,客户端通过bindService来与远程服务端建立连接,在该连接建立时会返回一个IBinder对象,该对象是服务端Binder的BinderProxy,客户端通过asinterface将该Binder原创 2016-05-15 17:11:09 · 282 阅读 · 0 评论 -
使用Intent传递对象
声明:笔者参考《第一行代码》一书: 方法1:使用Serializable接口:public class Person implements Serializable{ private String name; private int age; public String getName() { return name;}public void setName(Str原创 2016-05-14 11:18:43 · 274 阅读 · 0 评论 -
浅谈Activity的生命周期
在Activity从创建到销毁的过程中需要在不同的阶段调用7个生命周期。分别是onCreate(),onStart(),onResume(),onPause(),onStop(),onRestart(),onDestory(). 7个生命周期分别会在4个阶段进行调用(前提是执行过程中不发生状态的改变)1.开始Activity时:onCreate,onStart,onResume2.失原创 2016-03-06 19:49:20 · 327 阅读 · 0 评论