- 博客(71)
- 资源 (124)
- 收藏
- 关注
转载 Android Studio插件整理
1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat2.Android ButterKnife Zelezny配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊。在Activity,
2016-11-29 23:31:13 15782
原创 蓝牙API笔记
蓝牙API笔记常用API :BluetoothAdapter BluetoothDevice BluetoothSocketBluetoothAdapter 代表一个蓝牙适配器硬件通过BluetoothAdapter 可以打开/关闭蓝牙适配器 扫描周边蓝牙设备…bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();打开/关闭 蓝牙
2016-11-29 23:24:07 15617
原创 智能家居之智能监控小记
1.手机是如何连接摄像头第一次连接的时候摄像头需要通过网线和路由器连接,会给摄像头分配一个ip地址,手机使用uid、密码通过ip地址进行连接,类似javaweb中的登陆访问操作2.第一次怎么连接摄像头首次连接摄像头需要通过网线去连接摄像头,然后手机通过wifi连接路由器,必须得到同一个网段下,然后通过手机去添加摄像头,因为我们已经有uid和密码了,所以不用添加,这样就会
2016-11-29 23:08:50 16389
原创 自定义控件实现(淘宝头条/京东快报)垂直循环滚动栏目
1、通过继承LinearLayout的方式①自定义属性xml version="1.0" encoding="utf-8"?> name="JDAdverView"> name="gap" format="integer" /> name="animDuration" format="integer"/> ②自定义View
2016-11-26 01:13:25 16857
原创 Android性能优化之电量优化
1、在android framework里面有专门负责电量统计的Service:BatteryStatsSerive①这个Service在ActivityManagerService中创建,代码如下:mBatteryStatsService = new BatteryStatsService(new File(systemDir, 'batterystats.bin').toStr
2016-11-26 00:40:12 18315 2
原创 ListView的ViewHolder优化
优化后listView的数据适配器以下是对Adapter经过优化之后的BaseAdapter,不管是ListView还是GridView或者其他具有列表特性的控件,在设置数据适配器的时候可以直接继承public abstract class LvBaseAdapter extends BaseAdapter { private ArrayList mDatas; /** 首页list
2016-11-25 23:30:53 15491
原创 使用fir.im托管应用时通过Android Studio插件更新应用
最近使用fir.im托管自己的一些业余应用时发现无法更新服务器的应用,经过多方取经发现以下插件即可实现fir.im 新增 Android Studio 插件Android Studio 是比较受欢迎的开发环境。这次 fir.im 上线 Android Studio 插件 插件,可以帮 Android 开发者在 Android Studio 的开发环境中上传应用,添加更新日志。上传成功后
2016-11-25 00:01:17 18018
转载 使用PreferenceFragment实现设置模块
一、PreferenceFragment的引入:PreferenceActivity是一个非常有用的基类,当我们开发Android项目时避免不了选项设置,这些设置习惯用Preference来保存。Android专门为这种Activity提供了便捷的基类PreferenceActivity。如果继承自Preference则不需要自己控制Preference的读写,PreferenceActivi
2016-11-24 16:09:34 19493 3
原创 返回键之moveTaskToBack(boolean ) 方法的使用
当你开发的程序被按后退键退出的时候, 你肯定不想让他就这么被finish()吧,那么就想把程序退置到后台就可。(类似于PC端,你关闭一个浏览器和你最小化一个浏览器的区别)public boolean moveTaskToBack(boolean nonRoot)参数值含义:1、false,仅当activity为task根(即首个activity例
2016-11-24 13:44:05 16092
转载 AndroidUI之View的加载机制
对于接触安卓开不到一年的自己来说,总结下view的生命周期还是有非常重要的好处的,不仅表达了对view的理解,也可以给初学者学习参考;本文就粗略总结下view的加载机制,上一文中给大家粗略介绍了下安卓的绘图基础和原理,也偶尔提到了安卓的view是通过解析xml,然后变成Java对象,再通过父类的canvas和paint绘制出来的,如果往上层理解,简单的概括下,就是在activty里通过这是Cont
2016-11-23 00:57:01 15810
原创 VR开发基础—VR视频
1、导入谷歌官方提供的库:commonwidget、common、panowidget(全景图)、videowidget(视频)或者添加依赖:dependencies { compile project(':libraries-common') compile project(':libraries-commonwidget') compile pro
2016-11-23 00:14:54 15786
原创 VR开发基础—全景图
1、导入谷歌官方提供的库:commonwidget、common、panowidget(全景图)、videowidget(视频)或者添加依赖:dependencies { compile project(':libraries-common') compile project(':libraries-commonwidget') compile
2016-11-23 00:13:13 15804
原创 直播技术学习笔记(一)
播放器相关技术:1、开源项目jjdxm_ijkplayer是基于ijkplayer简单的UI界面;ijkplayer是一个基于 FFmpeg n2.6 的开源 Android/iOS 视频播放器;2、虚拟按键的隐藏方法:rootView = getLayoutInflater().from(this).inflate(R.layout.activity_ca
2016-11-23 00:06:56 15980
原创 酷狗音乐展示滚动歌词效果的控件实现
在音乐播放器项目中使用到酷狗音乐展示歌词的效果,需要支持修改字体、颜色、渐变色等功能截图如下(效果不是很好,请下载Demo查看)歌词绘制流程核心代码如下(具体实现过程请看Github源码)@Overrideprotected void onDraw(Canvas canvas) { super.onDraw(canvas); // 中心Y坐标 float
2016-11-22 23:36:11 19283 2
原创 Android四大基本组件介绍与生命周期
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。一:了解四大基本组件Activity :应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。在Intent 的描
2016-11-22 00:09:09 15819
原创 Android N 多窗口模式应用开发
我们都知道,在最新的Android N系统中,加入了一个新的功能,就是多窗口模式。多窗口模式允许我们在屏幕上显示两个窗口,每个窗口显示的内容不同,也就是说,我们可以一遍看电视剧,一边聊微信。这里我们通过官方提供的一个Demo来了解一下,作为开发者,怎么给我们的App也适配多窗口模式。这里给出代码github地址,需要的话可以clone下来边看边了解:https://github.com/goog
2016-11-22 00:05:24 16572 1
原创 Android5.0 全新的动画
全新的动画在Material Design设计中,为用户与app交互反馈他们的动作行为和提供了视觉上的连贯性。Material主题为控件和Activity的过渡提供了一些默认的动画,在android L上,允许自定义这些动画:Touch feedback 触摸反馈Circular Reveal 圆形展示Curved motion 曲线运动View state chang
2016-11-20 15:14:38 15487
原创 敏捷开发小记
所谓敏捷开发就是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态;敏捷开发遵循:1. 个体和交互胜过过程和工具2
2016-11-19 23:02:02 15461
原创 源码分析之应用程序启动过程
整个应用程序的启动过程要执行很多步骤,但是整体来看,主要分为以下五个阶段:1、Step1 - Step11:Launcher通过Binder进程间通信机制通知ActivityManagerService要启动一个Activity;2、Step12 - Step16:ActivityManagerService通过Binder进程间通信机制通知Launcher进入Paus
2016-11-17 20:05:10 15464
转载 贝萨尔曲线实现Periscope心形点赞动画效果
先来个效果图这个动画效果主要几个关注点是:一、自定义的RelativeLayout中动态加载ImageView二、刚开始的三个还没移动的动画效果anpha和scaleX,scaleY ,用ObjectAnimator加载三、红心移动效果,运用了ValueAnimator的TypeEvalutors(估值器) 和addUpdateListener监听,在TypeEvalutors获取了贝塞尔曲
2016-11-17 19:10:39 16192
原创 解决Eclipse在xml中编辑布局文件智能提示失效问题
1、设置xml 文件的代码提示功能:打开Eclipse 依次选择Window > Preferences > Xml > Editor > Content Assist > Auto activation > Prompt when these characters are inserted ,设置框中默认是<=: ,现在将它改为:<=:.abcdefghijklmnopqrstuvwxyz(,
2016-11-17 16:33:09 26273 1
转载 Android直播中弹幕效果实现
在B站或者其他视频网站看视频时,常常会打开弹幕效果,边看节目边看大家的吐槽。弹幕看起来很有意思,今天我们就来实现一个简单的弹幕效果。 从直观上,弹幕效果就是在一个ViewGroup上增加一些View,然后让这些View移动起来。所以,整体的实现思路大概是这样的:1、定义一个RelativeLayout,在里面动态添加TextView。2、这些TextView的字体大小、颜色、移动速度、
2016-11-17 15:02:17 23281 1
转载 MVP模式在Android开发中的应用
一、MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生。 在MVP模式里通常包含4个要素: (1)View:负责绘制UI元素、与
2016-11-17 14:59:31 22221
原创 Android通过使用webview实现和js的交互
Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为trueAndroid(Java)与 JavaScript(HTML)交互有四种情况:1) Android(Java)调用HTML中js代码2) Android(Java)调用HTML中js代码(带参数)3) HTML中j
2016-11-04 13:32:23 23381
原创 给ViewPager设置adapter出现空指针异常 解决
问题描述:TopNewsAdapter topNewsAdapter = new TopNewsAdapter();System.out.println("11111111" + topNewsAdapter == null);// 返回false,表明topNewsAdapter 不为空System.out.println("11111111" + mViewPager == n
2016-09-25 21:06:31 24537
原创 Android应用开发-网络编程①
1、ANR(Application Not Response)应用程序无响应①当用户输入事件5s内没有得到响应,将会弹出ANR对话框;②广播接收者的onReceive()方法执行时间超过10s会出现ANR;③解决原则:所有耗时操作都要在子线程中进行,包括网络操作、I/O、SDCard、数据运算;2、常见错误及解决:①ANR:application not response 应用
2016-08-11 22:32:01 7145
原创 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(解读误区)
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?本来是一道很简单的问题(找个小学生都能算出来)但是大部分人都忽略了一个跟经济有关的问题。假如是三个人去买啤酒喝,到底需要买几瓶啤酒呢?是3瓶吗?NONONO是2瓶!你想想,先买2瓶,然后再向老板借1瓶(万一不借呢?)喝完之后刚好3个瓶盖可以兑换刚才借的那1瓶啤酒,对老板来说并没有什
2016-07-24 21:29:26 9644 1
原创 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)..
鄙人从网上查询如题问题,发现有两种不同的方法,考虑到效率问题,作如下比较: 1、第一种方法是:直接使用for循环遍历并查找相同的字符,然后次数递增; 2、第二种方法是:用Map存储字符及其出现次数,利用Map种键不能重复这一特点实现;public class GetCharCount { public static void main(String[] a
2016-07-24 21:23:49 8075 3
原创 取出一个字符串中字母出现的次数。如:字符串:"abcde%^kka27qoq" ,输出格式为: a(2)b(1)k(2)...
考虑到效率问题,鄙人发现网上应该有两种不同的方法,经过验证发现,用for循环实现比较快捷(花的时间少):程序如下:(1)for循环简单思路就是把源字符串转换成字符数组并挨个比较;(2)另外一种方法是用Map集合,由于Map集合中是不允许有键重复,利用这一特点实现;import java.util.HashMap;import java.util.Map;import jav
2016-07-24 18:25:32 7309
原创 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出例如: a: 21 次 b: 15 次 c:: 15 次 把: 7 次 当: 9 次 前: 3 次
public class testMain { public static void main(String[] args) throws Exception { FileReader fr = new FileReader("src/testMain.java"); FileOutputStream fos = new FileOutputStream("c
2016-07-23 15:56:31 8094
原创 用Notepad的NppExc插件运行带包名的java文件
用Notepad的NppExc插件运行package目录下的class文件:npp_savecd $(CURRENT_DIRECTORY)javac -d .$(NAME_PART).javajava -classpath . $(NAME_PART)-classpath:包名,jdk提供的静态变量,指向class文件所在的目录个人根据各种论坛和
2015-09-28 21:43:13 8207 2
仿微信聊天软件Socket实现(包含客户端和服务端)
2019-09-09
Android键盘记录器的源文件
2019-09-09
Android开发最常用工具类
2019-09-09
Android大学生在线(包含UI效果图、原型图、接口文档、毕业设计)
2019-09-09
Java调用Win32获取窗口句柄JNative-1.3.2
2020-12-31
Android典型应用案例之Android机器人控制的智能家居系统
2019-09-11
基于安卓Android订餐点菜系统(含测试数据与毕业设计)
2019-09-08
Android高仿大众点评公开版
2019-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人