安卓经验
zhangxiangliang2
这个作者很懒,什么都没留下…
展开
-
Java设计模式之单例模式
Java设计模式之懒汉单例模式//懒汉式单例模式public class LazySingleton { private static LazySingleton lazySingleton=null; //私有构造,不允许外面 new 对象 private LazySingleton(){} public static LazySingl...原创 2019-06-11 22:06:10 · 119 阅读 · 0 评论 -
安卓TV开发之MetroView选中框
安卓TV开发最大的特点是遥控器操作,所以电视界面上要有醒目的操作反馈,这就是MetroView选中框。除了用白色的边框表示被选中,还可以增加其他的效果,比如放大一点点。由于这是安卓TV开发标配功能,我把它从项目中抽取出来,封装成工具类,然后可以直接调用。 实现效果如下,界面有点闪,那是录屏软件的原因: 工程目录也很简单,工具类都放在一起,只有一个调用类,目录如下: ...原创 2018-09-20 21:54:33 · 607 阅读 · 0 评论 -
安卓TV开发之实现原生播放器
安卓有很多第三方的播放器,比如最强大的ijkPlayer和最全能的Vitamio播放器,如果是手机APP开发,可以直接拿过来用。但是TV APP开发不行,因为电视盒子的高定制性,兼容性很差,比手机上差很多,这个是我在20+盒子上测试的结果。这中间各种调试,各种参数修改,按下葫芦浮起瓢,经历了无数的噩梦。最后,不得已,只好抱着试一试的态度,实现原生的播放器。结果在所有盒子上,完美适配,简直了。后...原创 2018-09-20 17:01:51 · 7003 阅读 · 3 评论 -
安卓TV开发之自定义键盘
最近公司在搞智能电视APP开发,里面涉及到许多常用功能,基本上TV开发都需要用到这些,比如说焦点选中框,自定义键盘等等,后面陆续记录开发过程。本文重点介绍自定义键盘。首先要说明的是安卓系统自带有软键盘,理论上来讲是可以直接拿来用。如果是手机APP开发,确实是直接调用手机软键盘,除了特殊场合需要自定义键盘,比如处于安全考虑的密码键盘,或者输入金额的键盘等。但是TV开发不行,不信你打开你家的...原创 2018-09-19 21:30:29 · 3117 阅读 · 1 评论 -
安卓手机使用NFC读取MifareClassic等标签信息
参考文章Activity里面的核心代码: private NfcAdapter mNfcAdapter; private PendingIntent mPendingIntent; @Override public void onNewIntent(Intent intent) { { Tag tagFromIntent = int原创 2017-09-26 11:24:52 · 12153 阅读 · 0 评论 -
Android Studio上传项目至jCenter
Android Studio上传项目至jCenter参考文章: http://blog.csdn.net/yang123465/article/details/54972351 http://blog.csdn.net/lmj623565791/article/details/51148825完整流程如下:1.注册jCenter账号 2.找到APIKey 3.新建仓库 4.添加代码 5上原创 2017-05-08 18:35:25 · 1062 阅读 · 0 评论 -
安卓开发进阶之RxJava在实际项目中使用--第二篇
关于RxJava原理分析,请参考仍物线写的文章—-给 Android 开发者的 RxJava 详解。本文不对原理作过多的分析,从最快上手的角度,让开发者使用起来,当我们有实践经验后回过头来看原理分析会更清晰。 本系列共有三篇文章,分别关于Rxjava的基础使用(最快,最实用),Retrofit使用(Github上star达22k+,安卓领域排名第一),最后是RxCache缓存(大部分app都支持离原创 2017-07-02 16:26:52 · 3888 阅读 · 1 评论 -
安卓开发进阶之RxJava在实际项目中使用--第一篇
关于RxJava原理分析,请参考仍物线写的文章—-给 Android 开发者的 RxJava 详解。本文不对原理作过多的分析,从最快上手的角度,让开发者使用起来,当我们有实践经验后回过头来看原理分析会更清晰。 本系列共有三篇文章,分别关于Rxjava的基础使用(最快,最实用),Retrofit使用(Github上star达22k+,安卓领域排名第一),最后是RxCache缓存(大部分app都支持离原创 2017-07-01 16:32:08 · 5873 阅读 · 2 评论 -
ExpandbleListView封装Adapter
为ExpandableListView打造通用的BaseAdapter,只需几行代码,不用继承BaseExpandableListview并重写那些方法。 特点,简单,复用view,同时支持ExpandableListview和ListView。源码已上传至Github,地址为:https://github.com/crook3/ExpandableListviewAdapter使用方法为: c原创 2017-05-11 21:16:08 · 1594 阅读 · 0 评论 -
安卓热修复----手动加载dex文件到设备并执行
运行环境:MacOS 10.12.6, Android Studio 3.1.4, 终端工具(iTerms), mumu模拟器。步骤:1.新建文本Hello.java,内容如下:public class Hello{ public static void main(String[] args) { System.out.println("Hello Android...原创 2019-05-14 14:35:03 · 844 阅读 · 0 评论 -
Retrofit框架源码分析一
Retrofit框架源码分析一Retrofit基本使用第一步: //先引入依赖,(这里不需要另外引入OkHttp依赖,因为Retrofit默认内置) //第一个,retrofit依赖 implementation 'com.squareup.retrofit2:retrofit:2.6.0' //第二个,用于GsonConverterFact...原创 2019-06-07 21:08:22 · 231 阅读 · 0 评论 -
Java设计模式之适配器模式
Java设计模式之适配器模式适配器模式包括类适配器和对象适配器,下面先看类适配器:类适配器public class Adaptee { public void adapteeRequest(){ System.out.println("被适配者的方法"); }}public interface Target { void request...原创 2019-06-16 16:19:18 · 128 阅读 · 0 评论 -
Java设计模式之构建者模式
Java设计模式之构建者模式//新建类Course,有三个属性。public class Course { private String courseName; private String coursePPT; private String courseVideo;//toString方法用于调试 @Override public String...原创 2019-06-11 08:06:34 · 225 阅读 · 0 评论 -
Java设计模式之工厂模式
Java设计模式之工厂模式//新建录制课程接口public interface Video { void produce();}//新建实现类public class JavaVideo implements Video { @Override public void produce() { System.out.println("录制...原创 2019-06-10 21:12:22 · 165 阅读 · 0 评论 -
Java设计模式之装饰者模式
Java设计模式之装饰者模式先考虑这样一个生活场景,煎饼摊前面有三个人饿了要买煎饼,第一个只要煎饼,第二个煎饼加鸡蛋,第三个煎饼加鸡蛋加香肠。下面看代码实现。//新建一个类 煎饼public class Battercake { public String getDesc(){ return "煎饼"; } public int price(){...原创 2019-06-15 21:38:57 · 151 阅读 · 0 评论 -
Java设计模式之外观模式
Java设计模式之外观模式外观模式也叫门面模式。考虑这样一个业务场景,商城里面有积分兑换功能,比如1000积分可以兑换一个键盘等。这里可以拆分出三个子系统,积分数量和礼物库存校验子系统,积分支付子系统,物流子系统。//创建积分礼物类public class PointGift { private String name; public PointGift(Str...原创 2019-06-15 09:56:43 · 159 阅读 · 0 评论 -
Java设计模式之原型模式
Java设计模式之原型模式//首先新建一个类Mailpublic class Mail { //这个类总共有三个属性 private String name; private String emailAddress; private String content; public Mail(){ System.out.println("...原创 2019-06-14 21:57:46 · 279 阅读 · 0 评论 -
OkHttp网络请求框架源码解析二
OkHttp网络请求框架源码解析二本篇讲解OkHttp核心知识拦截器,共有5个拦截器,分别为RetryAndFollowUpInterceptor,BridgeInterceptor, CacheInterceptor,ConnectInterceptor和 CallServerInterceptor。下面一一讲到。//上一篇讲到,作为Runnable的 AsyncCall...原创 2019-06-04 12:47:59 · 168 阅读 · 0 评论 -
OkHttp网络请求框架源码解析一
OkHttp网络请求框架源码解析一基本使用,在app的build.gradle添加依赖 compile 'com.squareup.okhttp3:okhttp:3.8.1'在配置文件添加网络访问权限 <uses-permission android:name="android.permission.INTERNET"></uses-...原创 2019-06-03 18:08:55 · 181 阅读 · 0 评论 -
Java设计模式之容器单例模式
Java设计模式之容器单例模式public class ContainerSingleton { private ContainerSingleton(){} private static Map<String , Object> map=new HashMap<>(); public static void putInstance(Str...原创 2019-06-14 14:11:15 · 1637 阅读 · 0 评论 -
Java软件设计原则
先了解UML相关知识UML类图+ 表示public- 表示privae# 表示protected~ 表示defualt下划线 表示static斜体 表示abstract开闭原则:对扩展开放,对修改闭合。// 1.首先创建一个接口ICoursepublic interface ICourse { Integer getid(); S...原创 2019-06-10 10:56:32 · 523 阅读 · 1 评论 -
Java设计模式之单例模式最佳实践
Java设计模式之单例模式最佳实践//新建枚举类public enum EnumInstance { INSTANCE; private Object data; public Object getData() { return data; } public void setData(Object data) { ...原创 2019-06-13 20:38:58 · 251 阅读 · 0 评论 -
Java设计模式之饿汉式单例模式
Java设计模式之饿汉式单例模式public class HungrySingleton { private HungrySingleton(){} private final static HungrySingleton hungrySingleton=new HungrySingleton(); public static HungrySingleton...原创 2019-06-13 15:31:40 · 198 阅读 · 0 评论 -
安卓开发 socket之shutdownOutput()
socket.shutdownOutput()至少有两个作用:1:关闭输出流后,此前输入的数据可以发送,而此后的则不可以;2:在要发送的数据后面加上正常终止符。第二点很重要,因为如果使用socket的readLine()方法来读数据,会涉及一个问题。该方法是阻塞式的,如果没有数据可读,则一直等待。虽然这样使得编程很方便,但同样带来一个问题,如何正常的从阻塞中返回。原创 2016-03-24 21:46:58 · 2254 阅读 · 0 评论