Android积累
文章平均质量分 54
大大大超人
在路上的Android开发者
展开
-
自制恋爱话术APP永久免费使用
市面上的恋爱话术APP多要收费,少则2,30多则1、2百,程序员就不带怕的,当然要自己撸一个免费的出 来了。准备后台搭建使用servlet+tomcat框架,新建一个webproject,然后在src文件下新建一个包,再新建一个servlet文件,在servlet里能够看到doget和dopost两个办法。这便是接收app传来的恳求后要调用的办法,也便是一个控制器。在这儿处理app传来的恳求,然后调用办法去拜访数据库。了解学习了servlet时,发现要去拜访数据库,这时候就需求用到JD.原创 2021-03-25 12:19:37 · 2235 阅读 · 3 评论 -
Android Studio、Java安装及环境变量配置
经常有朋友问Android Studio怎么安装,安装好了怎么编译速度这么慢。刚好这几天电脑重装了,顺便记录一下安装的过程,分享给大家1. 安装java 下载java安装包,安装完后记得配置环境变量;在“系统变量”新建一个变量名为JAVA_HOME的变量,变量值为你本地java的安装目录,我这里为:C:\Program Files\Java\jdk1.7.0_80,设置...原创 2016-04-21 20:12:05 · 20005 阅读 · 0 评论 -
Android横向界面锁屏时生命周期异常情况处理--Activity异常销毁重建
事情很简单,原本好好的一个横屏拍摄界面,当锁屏时理应执行onpause,onstop才对,结果日志一看,销毁活动重建了,再解锁又重建了一个。其实如果是手机开启自动旋转的话这个Bug很好理解,但是问题是如果当前界面是横屏的,哪怕你在AndroidManifes的方向设置中固定了横屏选项,但是在锁屏时还是会被销毁,走横竖屏切换流程。类似的坑还有SurfaceView,在锁屏和按home键时,虽...原创 2016-09-20 18:58:22 · 2408 阅读 · 0 评论 -
从路径uri加载Bitmap,缩小图片到指定大小的方法记录
根据uri获取实际的文件路径 @TargetApi(Build.VERSION_CODES.KITKAT) public static String getRealPathFromURI(Uri uri) { final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;原创 2017-02-10 11:46:22 · 1577 阅读 · 0 评论 -
如何利用Camera.setPreviewCallbackWithBuffer和addCallbackBuffer减少Camera预览时内存占用
探讨在打开摄像头预览时这两个方法的作用关于:setPreviewCallbackWithBuffer() Installs a callback to be invoked for every preview frame, using buffers supplied with addCallbackBuffer(byte[]), in addition to displaying...原创 2017-02-13 10:40:49 · 15523 阅读 · 0 评论 -
点击TextView透传原因剖析--Android事件传递机制探究
经常在项目中被点击事件各种坑,今天就来总结下吧直接说结论:点击事件的响应顺序Activity —> ViewGroup —> View 当点击事件来到ViewGroup时会根据点击的xy坐标遍历布局中的子view判断是否在其区域内,遍历顺序为最顶层到最底层。如果这时候覆盖在view上的view没有消费这个点击事件,那么事件就会继续传递下去,就导致了点击事件的...原创 2017-03-11 20:59:50 · 3348 阅读 · 2 评论 -
源码角度探究为什么ImageLoader无法加载含中文名称的视频缩略图
终于有空去解决这个问题了,以前一直以为这个库只能加载图片,其实视频的缩略图也是可以加载的,但是如果视频名称里有中文名,加载就会报错之前项目比较忙,就不去计较,趁今天下班有点空,忍不住要去查查原因。下载源码研究,结论如下:首先第一步读取文件:protected InputStream getStreamFromFile(String imageUri, Object extra) throws IO...原创 2017-03-20 15:20:38 · 1128 阅读 · 0 评论 -
并发和并行的区别
并发和并行的区别并发:在一个CUP上交替执行2个或多个线程 并行:在2个或2个以上的CPU上同时各自执行一个或多个线程并行是并发的子集,没有多核CPU就谈不上并行。借用知乎的一个比喻: CPU和线程的关系如下 1,用一个奶两个孩子轮流喂,这叫并发。 2,用两个奶分别给两个孩子喂,这叫并行。原创 2018-02-01 23:33:36 · 233 阅读 · 0 评论 -
如何用手机做一个能识别语音的遥控器思路总结
之前项目需要开发和一个硬件设备连接,开发一个手机遥控器类的App。实现语音控制带红外遥控接收器的家电,包括电视,空调等。开发完成有段时间了,今天有空总结下开发的一些思路。。。技术点分析:外部材料准备:科大讯飞的离线语音识别SDK、 语音合成SDK可二次开发的遥控信号发射器主要原理,首先连接遥控信号发射器。开始要先捕获到原装遥控器的红外指令,保存到手机上。然后发送这...原创 2016-05-24 22:16:54 · 4909 阅读 · 0 评论 -
论技术手段解决睡眠打呼问题--别打呼App诞生记
今天终于把程序调通了,聊一聊我做这款应用的思路。首先说一说做这个程序的初衷吧,某天在办公室午睡打呼后,整整被嘲笑了一个下午啊,天呐。。。然后接下来一个礼拜都不敢午睡了。。。。 于是当天晚上就准备开发一款,打呼检测app,只要检测到打呼,手机就会发出震动,把你吵醒,让你换个姿势继续睡。。好的,如何实现呢。。首先从手机的麦克风获取实时的分贝值,然后设定一个临界值,超过临界值就报警震动,那么为...原创 2016-03-11 22:28:52 · 615 阅读 · 0 评论 -
关于hashcode(),equals()和==的区别
hashcode(),equals()和==的区别1、 所有的对象都继承object,自带的equal就是==public boolean equals(Object obj) { return (this == obj);不过string这个类是个例外,它会比较每个字符是否相等public boolean equals(Object anObject)原创 2018-02-02 22:52:08 · 245 阅读 · 0 评论 -
Integer 的-128至127缓存常量池记录
先说结论Integer a=127;Integer b=127;Integer c=128;Integer d=128;a==b true c==d falseInteger a=new Integer (127);Integer b=new Integer (127);Integer c=new Integer (...原创 2018-02-08 19:44:36 · 2068 阅读 · 1 评论 -
List的泛型擦除和Java 方法重载之坑
首先看一段代码 虽然泛型不同,但是依然不能重载,编译根本不能通过 public void addData(List<TaskRequest> list) { if (list == null || list.isEmpty()) { return; } }和 public void addData(Li...原创 2018-03-22 23:19:59 · 2039 阅读 · 0 评论 -
IntentService源码解析与HandlerThread在Android框架上的使用
很好用的两个东西,知其然知其所以然首先注意:服务并不是一个新的进程,启动的应用程序在哪个进程,服务就在哪个进程-IntentService作为Service的升级版,增加了在服务中使用线程的能力,而Service其实的在主线程中运行的,耗时操作的话还是会引起ANR,IntentService的好处就不言而喻了,不仅能处理耗时操作,而且优先级还比线程高,同时服务执行完成后还会自动停止...原创 2018-03-24 12:51:48 · 381 阅读 · 0 评论 -
Android的倒计时工具类CountDownTimer使用简介
CountDownTimer使用简介 private class GiftTimeCount extends CountDownTimer { private GiftTimeCount(long millisInFuture, long countDownInterval) { // 倒计时总时长,倒计时间隔多少时长触发onTick--单位毫秒 ...原创 2018-05-03 17:08:11 · 342 阅读 · 0 评论 -
byte数组转int类型,不足位数补0问题的解决
一个byte数组中的数值全部转换为16进制的int类型,最后以String输出,不足的位数补0,相邻的16进制数之间加了一个空格; String in; for (byte b : resBuffer) { in=Integer.toHexString(b&0xff);原创 2016-05-22 22:45:08 · 5537 阅读 · 0 评论 -
解决Android Studio源码的乱码问题
在IDE界面最下方的编码样式里选择GBK即可,settings里也有相关选项,在Editor-File Encodings里设置即可。 安装好的应用里出现的乱码,要在build文件,android标签里添加以下代码compileOptions { encoding "GBK" }原创 2016-05-21 12:47:12 · 1192 阅读 · 0 评论 -
浅谈Java中的对象和对象引用
浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然。今天我们就来一起了解一下对象和对象引用之间的区别和联系。1.何谓对象? 在Java中有一句比较流行的话,叫做“万物皆对象”,这是Java语言设计之初的理念之一。要理解什么是对象,需要跟类一起结合起来理转载 2016-03-16 15:51:19 · 322 阅读 · 0 评论 -
bit、byte、位、字节、汉字、字符之间的区别
package com.suypower.chengyu.test;public class ByteTest { /** * byte 8 bits -128 - + 127 * 1 bit = 1 二进制数据 * 1 byte = 8 bit * 1 字母 = 1 byte = 8 bit(位) * 1 汉字 = 2 byte = 16 bit */转载 2016-03-22 22:48:45 · 20128 阅读 · 6 评论 -
java 编程笔记
JAVA并不只是一种语言,而是一个完整的平台,有一个庞大的库,其中包含很多可以重用的代码和一个提供诸如安全性,跨操作系统的可移植性以及自动回收等服务的执行环境。 JAVA的强大功能主要分为十大部分: (一)简单性 (二)面向对象(OOP) (三)分布式 (四)健壮性 (五)体系结构化 (六)可移植性 (七)解释性转载 2016-03-02 10:06:38 · 510 阅读 · 0 评论 -
Json格式详解
转载自:http://www.ruanyifeng.com/blog/2009/05/data_types_and_json.html作者: 阮一峰日期: 2009年5月30日1.前几天,我才知道有一种简化的数据交换格式,叫做yaml。我翻了一遍它的文档,看懂的地方不多,但是有一句话令我茅塞顿开。它说,从结构上看,所有的数据(data)最终都可以分解成三种类型:转载 2016-03-08 09:44:21 · 560 阅读 · 0 评论 -
Android开发60条技术经验总结
Android开发60条技术经验总结,以下是全文:1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。2. 数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架 LiteOrm 库,超级清晰且重心可以放在业务上不用关心数据库细节。3. 全局变量放全局类中,模块私有放自转载 2016-03-09 10:46:18 · 335 阅读 · 0 评论 -
Android中的PendingIntent 原理
pendingIntent他封装了一个intent,这个intent不会立即执行,当满足一定条件的时候才执行intent, 比如notification 当用户点击了通知栏的notification的时候才会跳转到,应用的某一个activity, 因为你得到pendingIntent的方法是getbroadcast()所以这个pendIntent点击以后会发送一条广播, getActivity()...转载 2016-03-11 22:23:55 · 2898 阅读 · 0 评论 -
BNF语音识别文件格式简介
此文分析离线语音识别的语义规则文件,即BNF文件,一般放在Android Studio的Assets文件夹下。本大侠使用的是科大讯飞的语音识别SDK,所以以下所有规则在此SDK下实测有效1、结构简单的说,BNF文件分为五个部分:文档标示头;(不要去改就对了)语法名称;槽声明;主规则(可引用子规则);文档主体(具体的定义槽、引用规则)2、定义2.1 文...原创 2016-05-24 21:46:36 · 12057 阅读 · 7 评论 -
Android Studio使用经验汇总
总结一下android studio 我常用的一些技巧,作为一段时间的总结,并以备自己后续查阅之用:原创 2016-03-31 16:18:16 · 609 阅读 · 0 评论