- 博客(27)
- 收藏
- 关注
转载 android委托模式----事件处理
一、基于监听的事件处理在事件监听的处理模型中,主要涉及如下三类对象:1.Event Source(事件源):事件发生的场所,通常就是各个组件、例如按钮、窗口、菜单等。2.Event(事件):事件封装了界面组件上发生的特定事情(通常就是一次用户操作)。3.Event Listener(事件监听器):扶着监听事件源所发生的事件,并对各种事件做出相应的响应。事件处理流程示意图如下:
2016-12-10 00:05:08
2014
转载 获取GPS信息
public class GPSInfoProvider {LocationManager manager;private static GPSInfoProvider mGPSInfoProvider;private static Context context;private static MyLoactionListener listener; //1.私有化构造方法
2016-12-02 15:10:07
775
转载 桌面快捷键
桌面快捷图标(shortcut)步骤:1、你要做什么2、你叫什么名字3、你长什么样子 原理:发送一个广播,当桌面程序接受到该广播后自动在桌面上创建一个快捷图标 该广播所携带的内容:快捷图标的名称、名称以及点击该图标时的意图 代码: Intent intent = new Intent();
2016-12-02 14:29:33
261
转载 app版本更新,安装,卸载,启动,分享
版本更新: Android网络编程 ,解析json,Handler,线程。 注: 耗时操作 代码: Get请求 URL url = new URL("http://ip:8080/update.json"); //URL HttpURLConnection conn = (
2016-12-02 14:26:54
807
转载 picasso基本使用
深度解析picasso,参考博客源网址:http://blog.youkuaiyun.com/u012702547/article/details/52273918android studio中添加compile'com.squareup.picasso:picasso:2.5.2'Picasso加载一张网络图片,最简单的一行代码就搞定:[j
2016-11-26 23:37:13
346
转载 rxjava详解
基本实现1) 创建 ObserverObserver 即观察者,它决定事件触发的时候将有怎样的行为。 RxJava 中的 Observer 接口的实现方式:ObserverString> observer = new ObserverString>() { @Override public void onNext(String s) {
2016-11-22 23:39:39
434
转载 观察者模式
几个概念Subject 抽象主题角色(你自己):也就是抽象的被观察者对象,里面保存了所有的观察者对象引用列表,提供了注册和反注册的功能。 ConcreteSubject具体的主题角色(你的举动):将有关状态存入各ConcreteObserver对象 当它的状态发送改变时,向它的各个观察者发出通知 。 Observer 抽象观察者(女朋友基类) :为所有的具体观察者定义一个接口
2016-11-22 21:06:45
272
转载 retrofit 2.0使用详解
Retrofit使用方法官网:http://square.github.io/retrofit/首先需要添加访问网络的权限。"android.permission.INTERNET"/>去官网添加最新依赖compile'com.squareup.retrofit2:retrofit:2.0.1'创建API接口 在retrofit中通过一个J
2016-11-22 19:00:59
394
转载 GreenDao 3.0使用详解
使用步骤: 1.module的build.gradle添加:apply plugin: 'org.greenrobot.greendao'//添加2.module的build.gradle依赖添加:compile'org.greenrobot:greendao:3.0.1'compile'org.greenrobot:greendao-generato
2016-11-21 17:28:35
518
转载 Handler、Message、Looper、MessageQueue详解
一、几个关键概念 1、MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方。每一个线程最多只可以拥有一个MessageQueue数据结构。 创建一个线程的时候,并不会自动创建其MessageQueue。通常使用一个Looper对象对该线程的MessageQueue进行管理。主线程创建时,会创建一 个默认的Looper对象,而Looper对象的创建,
2016-11-11 09:52:18
688
原创 native与html5交互
步骤:1.设置允许执行JS脚本:webSettings.setJavaScriptEnabled(true);2.添加通信接口webView.addJavascriptInterface(Interface,”InterfaceName”)3.JS调用AndroidInterfaceName.MethodName4.Android调用JSwebView.load
2016-10-26 17:11:58
355
转载 累加思想和计数器思想
1.累加思想:1.1 原理通过变量记录住每次变化的结果;通过循环的形式,进行累加动作。note:一般情况下,当循环次数明确的时候用for语句,当循环次数未知的时候用while语句。由于累加思想是主要通过for循环语句实现的(当然用while语句也可以),为便于记忆,我个人习惯称“累加思想就是‘for语句’”。1.2 举例问题:实现1到100的
2016-10-15 08:59:08
1043
原创 adapter的封装
1、数据使用泛型2、绑定数据使用抽象方法3、ViewHolder中的View成员变量转而通过view数组实现(SparseArray)4、将常用方法写在基类中代码实现:adapter基类:public abstract class BaseAdapterT,H extends BaseViewHolder> extends RecyclerView.Adapte
2016-10-14 21:24:04
267
转载 MaterialRefreshLayout(下拉刷新,上拉加载)
1、添加库dependencies { compile 'com.cjj.materialrefeshlayout:library:1.3.0'}2、在布局文件添加代码com.cjj.MaterialRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" xm
2016-10-12 23:08:44
479
转载 recycleView的使用
1.Datas: 要显示的数据2.Adapter:适配器,绑定数据集3.ViewHolder:根据当前的数据保存视图4.LayoutManager:布局管理器。决定item如何摆放5.ItemDecoration:勉强理解为item装饰器,可以美化item6. ItemAnimator:动画(当item被增加,删除,重新摆放时动画才有效)。7. Listene
2016-10-12 21:21:41
265
转载 okhttp的使用以及简单的封装
一、okhttp的使用1、添加库compile 'com.squareup.okhttp3:okhttp:3.4.1'2、java代码中添加public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");OkHttpClient client =
2016-10-12 16:17:51
379
转载 SliderLayout轮播
1、添加库文件dependencies { compile "com.android.support:support-v4:+" compile 'com.squareup.picasso:picasso:2.3.2' compile 'com.nineoldandroids:library:2.4.0' compile 'com.daimajia.slid
2016-10-12 16:06:59
450
原创 FragmentTabHost的使用
步骤:1、编写xml文件xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_par
2016-10-12 15:52:17
265
1
原创 自定义Toolbar
xml文件代码:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText andro
2016-10-12 11:17:51
438
原创 屏幕适配
遵循原则: 不用AbsoluteLayout(绝对布局), 多用相对布局&线性布局(权重), 要用dp,不用px- 图片适配 不是很常用- 布局适配 不是很常用, layout-800x480 专门适配480*800的屏幕- 尺寸适配 dp和px的关系: dp = px/设备密度 float density = ge
2016-10-11 23:51:07
198
原创 完全自定义控件
完全自定义控件.(继承View, ViewGroup)* 1. 自定义开关 > - 1. 写个类继承View> - 2. 拷贝包含包名的全路径到xml中> - 3. (MainActivity)界面中找到该控件, 设置初始信息toggleView = (ToggleView) findViewById(R.id.toggleView);// 设置开关更新监听
2016-10-11 21:42:14
167
转载 listview分页加载数据
listview底部的视图:xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_h
2016-10-11 20:02:39
229
转载 android三级缓存详解
android默认给每个应用只分配16M的内存,所以如果加载过多的图片,为了防止内存溢出,应该将图片缓存起来。图片的三级缓存分别是: 内存缓存 本地缓存 网络缓存其中,内存缓存应优先加载,它速度最快;本地缓存次优先加载,它速度也快;网络缓存不应该优先加载,它走网络,速度慢且耗流量网络缓存根据图片的url去加载图片 在本地和内存中缓存public class
2016-10-11 00:40:15
385
转载 解决listview加载网络图片乱跳
为什么会出现图片乱跳?使用convertView对ListView的每个item优化,item的复用可以有效降低内存的占用,使ListView滑动更为流畅。但会带来一个问题,当最顶部的item滑出屏幕时,会变成下一个从底部将要滑进来的item。每次滑进来的item都要去请求网络获得图片。第一个item滑出去时,是带着图片的。其ImageView指向了一块内存。当其慢慢滑出,从底
2016-10-11 00:11:30
497
转载 Android利用Jsoup解析html 开发网站客户端小记。
用到的工具为 jsoup-1.7.2.jar包,具体jsoup的相关文档,请去这边看http://jsoup.org/,这里有全部Api可以查询。分析当前html页面的结构,如下图:每个标签里面的值就是我们需要的,接下来我们需要异步去获取网页信息,首先创建一个连接,生成一个Document对象,取得标题所在的id值,通过select过滤。Elements div
2016-10-10 23:51:29
246
原创 Gson解析json数据
首先需要到http://code.google.com/p/google-gson/下载jar包, 并将其添加到项目中如解析:{\"name\":\"coolxing\", \"age\"=24, \"male\":true, \"address\":{\"street\":\"huiLongGuan\", \"city\":\"beijing\", \"country\":\"c
2016-10-10 23:30:39
265
原创 json数据解析
JSON对象: JSON中对象(Object)以"{"开始, 以"}"结束. 对象中的每一个item都是一个key-value对, 表现为"key:value"的形式, key-value对之间使用逗号分隔. 如:{"name":"coolxing", "age"=24, "male":true, "address":{"street":"huiLongGuan", "city":"beijing
2016-10-10 23:14:53
338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人