Android
文章平均质量分 73
_学而时习之_
这个作者很懒,什么都没留下…
展开
-
(转载)EditText限定输入小数位数
通过构造方法传入小数点后面的位数,如果调用方法为:edittext.setLongClickable(false); //禁用粘贴edittext.setFilters(new InputFilter[]{new DecimalDigitsInputFilter(2)});//限定两位小数public class DecimalDigitsInputFilter implement...转载 2019-07-11 17:12:11 · 1066 阅读 · 2 评论 -
Xamarin在VS2012没有智能提示的解决办法
visual studio安装目录下会有一个 monodroidcatalog.xml文件,是好改成下面一样:[本人是64位,32位没有(86)]保存此文件后本人重启vs,然后新建一个.axml文件后可爱智能提示就出来了。。转载 2015-07-02 16:53:37 · 1565 阅读 · 0 评论 -
C#的Xamarin开发小米盒子应用并以WCF实现微信通知
对于熟悉C#语言的开发者而言,用Xamarin开发Android应用也是一个不错的选择。小米盒子是Android系统,当然也就可以使用Xamarin来开发。首选来看效果图。注:(1).左图是从数据库中拉取用户列表(图中的用户的虚拟的)(2)中间图是根据选中的用户发起微信通知(3)右图是微信企业号中收到的通知一、在VS中建立Android应用1.布局主界面 <Lin原创 2015-07-01 11:27:00 · 2828 阅读 · 3 评论 -
Android锁屏状态下弹出activity,如新版qq的锁屏消息提示
在接收消息广播的onReceive里,跳转到你要显示的界面。如:Intent intent = new Intent(arg0,MainActivity.class);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); arg0.startActivity(intent);复制代码在该acti转载 2014-09-02 08:34:07 · 2697 阅读 · 0 评论 -
在Android迷你广告上添加浮动的关闭按钮
在开发Android应用时,有是为了收益会增加一些广告。但是广告不断的滚动显示,又很烦人,降低用户体验,所以就需要增加一个关闭的按钮来隐藏或者关闭广告。有的应用是直接将关闭广告的功能做到了设置界面里边,但有的是在广告上增加了一个按钮。这里以万普的迷你广告为例。万普的迷你广告是一个LinearLayout,我开始尝试着在上面直接添加一个关闭按钮,然后设置相应的布局参数,但是效果不理想。后来改用R原创 2014-04-10 09:28:42 · 3717 阅读 · 0 评论 -
Android之搜索框的纯代码实现
在Android开发中,搜索框是很常用的,但是控件中没有现成的,需要自己封装。那要怎么封装呢?方式一:使用XML和JAVA代码相结合的方式。在XML中定义搜索的相关控件及布局,JAVA代码中进行相应事件的控制。方式二:对于浮动搜索框,可以使用SearchRecentSuggestionsProvider和searchable来实现。方式三:全部使用JAVA代码实现。前面两种,网上的原创 2014-04-08 17:36:47 · 6262 阅读 · 0 评论 -
Java中的函数传递
在C和C++中,函数的传递可以通过函数指针来实现。在C#中,函数传递可以通过委托、Action、Func来实现。Java中没有函数指针、没有委托,那函数要如何传递呢?可以通过以下两种方式实现。1、通过handler,在A类中实例化B类,并传递一个handler到B中。B通过handler发送消息,A中接收到消息后,执行相应的函数。严格的来说,这种不算是函数传递,只是变相达到了函数调用的目的原创 2014-04-18 14:31:45 · 1330 阅读 · 0 评论 -
Android控件在点击、选择时背景变化(button、listview)
用户行为的变化,界面上的行为也要随之变化,比如用户点击、选择等。如果使用按钮,没有添入背景图片,按钮在点击时会有变化。但如果增加了背景图,点击时则没有变化了,除非动态的改变背景图。用户的行为不断变化,如果每次都是通过代码去控制背景的变化,虽然可以达到,但不好控制。那有没有更好的办法呢?有的。可以通过自定义的xml作为背景图实现。先看一下效果图。点击按钮时,背景变成了黄色原创 2014-04-04 08:41:14 · 5143 阅读 · 0 评论 -
Android之NDK开发的简单实例
NDK全称为Native Development Kit,是本地开发工具集。在Android开发中,有时为了能更好的重用以前的C/C++的代码,需要将这些代码编译成相应的so,然后通地JNI以供上层JAVA调用。当然,也有的是为了更高的保护性和安全性。下面是实现的过程。1、下载NDK TOOL可以从http://developer.android.com/tools/sdk/ndk/ind原创 2014-03-24 15:58:54 · 1417 阅读 · 0 评论 -
Android之zip文件加密解压及进度条的实现
zip文件的解压可以使用java的zip库,但是没有实现对加密文件的解压功能,这里可以使用zip4j来实现。具体可以参看该文《Android下zip压缩文件加密解密的完美解决方案》。该文件中没有实现解压进度的功能,这里进行一简单的实现。Zip4jSp.java/** * unzip file to dest dir with password in thread. * * @原创 2014-04-18 11:04:52 · 5152 阅读 · 13 评论 -
VS使用Xamarin连接不上Genymotion的Android模拟器的原因
将Genymotion安装完成后,一定记得配置ADB的SDK,如下图打开Settings-->ADB-->选择Android SDK位置-->OK-->Start开启模拟器这时将可以在VS中看到该模拟器了。如果没有,可以尝试先启动模拟器,再启动VS。如果还没有,那就要看看两者配置的SDK位置是否一致。一般都是SDK位置配置不对造成的的。转载 2015-08-10 20:05:43 · 4170 阅读 · 0 评论 -
Android-SDK国内更新镜像及设置
Android SDK在线更新镜像服务器中国科学院开源协会镜像站地址:IPV4/IPV6: http://mirrors.opencas.cn 端口:80IPV4/IPV6: http://mirrors.opencas.org 端口:80IPV4/IPV6: http://mirrors.opencas.ac.cn 端口:80上海GDG镜像服务转载 2015-11-12 16:47:23 · 4594 阅读 · 0 评论 -
Error:Execution failed for task ':app:transformClassesWithDexForDebug"
3个错误non-zero exit value 1; non-zero exit value 2; non-zero exit value 3Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.Transfor转载 2016-04-08 17:01:53 · 1943 阅读 · 0 评论 -
Android的自定义长按
android的弹出菜单,使用activity来实现,但是长按的时间太短,容易与其他view的触摸逻辑相冲突,代码如下 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.l...原创 2019-05-09 11:33:35 · 1226 阅读 · 0 评论 -
PopupMenu弹出位置的控制
PopupMenu作为弹出菜单是很好用的,但是默认只能弹出在view的下方,而实际中这样的弹出位置可能无法满足需求,比如自定义的canvasView,要在canvasView长按的位置弹出菜单,PopupMenu只有一个show的方法,没有可以设置位置的方法,但当我们跟进源码去看时发现了这样的一段代码:PopupMenu.classpublic void show() { ...原创 2019-05-09 10:57:41 · 11055 阅读 · 4 评论 -
android的图形旋转与点内判断
android的图形绘制是基于canvas,旋转也是对canvas进行旋转,但是因为旋转是直接旋转了canvas,所以必须在旋转前保存(save),然后再旋转后再恢复(restore),否则后续的图形都会绘制在旋转后的canvas上。示例代码如下/** * 绘制图形 * * @param canvas */ private void drawG...原创 2019-04-08 14:49:50 · 1069 阅读 · 0 评论 -
android wifi调试(无需安装插件)
android开发时,用数据线连接来调试,非常麻烦,我们可以用adb命令来实现wifi的无线调试。1.将设备用数据库连到电脑上,注意一定得是数据线,有的是充电线,并不具备数据连接的功能,会导致设备识别不到。2.在Android Studio连接到设备上调试,确认设备连接调试是OK的。3.打开CMD输入命令 adb tcpip 5555,端口5555可自行指定4.adb开启后,再输入...原创 2019-03-21 10:00:05 · 2284 阅读 · 0 评论 -
kotlin的canvas绘制path
kotlin中调用canvas的drawPath,通过设置Paint的style可以绘制边框或者填充。当为FILL时则填充,为STROKE则绘制边框。在绘制边框时,使用path的lineTo来设置每一个绘制的点,但绘制之后,却发现绘制会从左上角开始绘制。一遍一遍的查代码,并没有添加左上角的点,那为什么会从左上角开始绘制?难道是path的默认起点是左上角?那如果是这样,又怎么修改左上角的点呢?查调用...原创 2018-03-29 16:12:49 · 1288 阅读 · 0 评论 -
APP中的微信登录调试
在APP中进行微信登录时,需要先申请得到appId。这个网上有很多相关的文章。这里主要是说一下,在微信登录调试时,有文章说是要用申请appId时使用的签名来生成release下的apk,然后将apk安装就可以微信登录。但是在这个过程中,难免是要调试的,而release包是无法调试的。那要怎么办?在Android Studio中的build.grade,增加一个debug模式的签名配置,使用申请ap...原创 2018-03-13 11:06:30 · 2806 阅读 · 0 评论 -
TextView的textSize与getDimensionPixelSize的坑
Android中的TextView直接对textSize赋值时,显示的结果和预期的差别很大,找了好久的原因,终于找到了说法,是textSize默认赋值时使用的是sp单位,而values中dimens中定义的是另一种单位,比如dp,这样就导致两者单位不同,显示也就有很大的差异。要解决这个问题,只需要在给textSize赋值时指定相应的单位。为此,不能直接用textSize=xxx的赋值方式,必须改用...原创 2018-02-25 14:49:55 · 887 阅读 · 0 评论 -
小程序web-view的神坑
微信小程序的web-view可以外链站点,只要该站点在小程序的后台设置即可。站点需要https的站点。原本是很简单的一件事,只要将url放到web-view的src中就可以了。实际也是跑起来了。可是在安卓中跑没有问题,而在苹果上一跑就出问题了,一片空白。不知道怎么回来事。 设置src的代码很简的,就是页面的data中定义了一个src,然后在onLoad的函数中设置了动态的src.var ur...原创 2018-03-15 16:45:36 · 19051 阅读 · 4 评论 -
ADB WIFI DEBUG(ANDROID STUDIO)
Android Studio开发Android时,需要真机调试。常见的方法是用USB线连接然后调试。但是USB线的连接相当麻烦。那有没有无线调试的方式呢?有的。一般有两种方式一、在手机上安装ADB无线调试的APK,但是需要root权限,有很多手机拿不到这个权限。所以这个有一定的局限性。二、使用插件ADB WIFI这里使用的是第二种方法,具体步骤如下1.在Android Studio中的Settin...原创 2018-02-09 14:35:01 · 926 阅读 · 0 评论 -
Android下zip压缩文件加密解密的完美解决方案
前言一个多月前,因项目需要对Java语言下的zip格式压缩文件的处理作了一些了解,尝试了多种开源项目并写了几篇博客做记录:http://blog.csdn.net/zhangyihui1986/article/details/7724229http://blog.csdn.net/zhangyihui1986/article/details/7723649http://bl转载 2014-04-18 10:54:27 · 17828 阅读 · 5 评论 -
Eclipse在线安装插件奇慢的解决办法
Eclipse的强大很大的原因是因为N多插件的支持,所以插件安装成了必然。我们常常会使用在线安装插件,但是在线安装时,有时会发现速度奇慢无比,这怎么办?经查找资料发现,是Site配置的原因。先看一个图。下载停留在Calculating requirements and dependencies中很长时间,进度条一直过不去。后面查了资料,说是Site的配置问题,于是进行了下面的配置。原创 2014-03-21 09:16:12 · 27970 阅读 · 4 评论 -
Android版Web服务器实现(二)使用服务来监听HTTP请求
《Android版Web服务器实现(一)HTTP协议请求头解析》一文中说到了HTTP协议请求头的解析,那么我们要如何得到这个HTTP请求头呢?我们需要监听端口。监听是一直要运行着的,在Android中比较好的方式就是使用服务。下面是实现的代码。WebServer.javapackage com.sparkle.webservice;import java.io.IOExceptio原创 2014-03-11 10:35:04 · 7778 阅读 · 5 评论 -
Android版Web服务器实现(四)界面更新
《Android版Web服务器实现(三)HTTP响应》实现了HTTP的响应,那么在界面上要如何控制呢?界面上的控制,只需简单的几个选项。1、配置web服务的根路径。2、配置端口。3、启动与停止服务。下面是实现的代码。MainActivity.javapackage com.sparkle.webservice;import java.net.InetAddress;原创 2014-03-11 11:18:35 · 2788 阅读 · 0 评论 -
Android之查看Wifi密码
在Android手机中,连接了Wifi之后,密码一般就看不到了,那有没有什么办法可以查看到这些密码呢?办法一般有两种,一种是通过查看wifi的配置文件,一种是使用命令。对于第一种,网上已经有很多了,大致就是先root,然后使用一些手机助手或者手机文件查看之类的工具(如ES、Root Exploere等)来查看wifi配置文件(位置是进入data/misc/wifi,目录里有个wpa_supplic原创 2014-03-05 08:30:17 · 31900 阅读 · 10 评论 -
Android跳转到系统Activity关闭并返回原Activity的解决办法
在Android开发时,有时因为需求,需要跳转到系统的一些页面,比如从UI中跳转到系统设置项、WIFI设置等,那要如何返回到原来的Activity中呢?我们可以通过WindowManager来实现。原理可以简单的理解为在跳转到系统的Activity中后,在该Activity的上方添加一个按钮,然后对这个按钮添加事件。先看看效果图实现代码如下CallSystemActivit原创 2014-02-20 09:10:54 · 7383 阅读 · 3 评论 -
Android跨应用间的数据传输
在有些项目中,会有多个应用出现,这样应用间的数据传输就成了必然。那应用间的数据传输要怎么实现呢?我们知道,在跨Activity之间的数据传输可以通过Bundle和Intent结合来实现,那应用间的数据传输是否也可以使用这种方式呢?答案是可以的!在使用Bundle来传输数据时,又有多种途径,比如直接数据传输、序列化数据传输、打包数据传输等。下面是从TransDataA应用传输到TransData原创 2014-02-26 10:35:25 · 5478 阅读 · 0 评论 -
Android基于IIS的APK下载(一)自定义更新控件
Android越来越普及,那已经安装的应用要如何更新呢?在应用市场中常会有显示某某应用已经更新之类的信息,那我们是否也可以实现类似的功能呢?如果要实现又要做哪些准备呢?做过WEB开发的,一般都会知道对于WEB服务器有很多,比如Windows自带的IIS、跨平台的Apache等,这里以IIS作为服务器实现APK的更新下载,下面是效果图。我们可以看到,在获取更新列表后,可以根据情况进行相应原创 2014-02-25 10:15:33 · 1871 阅读 · 0 评论 -
Android基于IIS的APK下载(五)IIS的配置
这里使用的IIS是win7_64的。步骤一:打开IIS。控制面板->管理工具(如果没有,请把查看方式调成大图标)->Internet 信息服务(IIS)管理器。步骤二:配置网站目录步骤三:添加JSON和APK的支持。1、打开MIME2、添加MIME类型(JSON和APK)3、重启IIS,访问测试原创 2014-02-25 12:05:52 · 2173 阅读 · 0 评论 -
Android基于IIS的APK下载(四)数据下载
在《Android基于IIS的APK下载(三)用JSON传输更新数据》一文中已经从服务器中拿到了更新数据,并且呈现到了UI中,结合前面的文章及效果图(参见下图),可以看到UI中的更新列表一行一行的呈现,而每一行的末尾有一个行为按钮,对应着不同的行为,这个行为要如何实现呢?我们再看一下UpdateItemsAdapter中getView的部分代码updateItem.SetBehavior(原创 2014-02-25 11:41:49 · 1906 阅读 · 0 评论 -
Android基于IIS的APK下载(三)用JSON传输更新数据
在《Android基于IIS的APK下载(二)显示更新列表》一文中已经在界面中显示了更新列表,那这个更新列表的数据是如何来的呢?我们看到UpdateItemsAdapter的构造函数中传入了一个updateItems的参数,这就是更新列表的数据,所以我们现在的关键就是获取updateItems。由于我们是基于网络传输数据的,那网络中数据传输主要有哪此呢?比较常用的有json、xml。在量级上,原创 2014-02-25 11:09:55 · 1872 阅读 · 0 评论 -
Android版Web服务器实现(一)HTTP协议请求头解析
Web服务器是可以向发出请求的浏览器提供文档的程序,主要功能是提供网上信息浏览服务。不论在哪里的浏览器向服务端发出了请求,服务端只有收到了请求之后才会作出响应。那么服务端又要如何知道有请求发来呢?最简单的方法莫过于监听。对于服务端的机器上,能够用来监听的就是端口,所以根本上,服务端是通过监听某个端口,然后当浏览器向这个端口发出请求后,服务端就能收到信息,再作出相应的响应。浏览器要向服务端发出请原创 2014-03-11 10:12:01 · 4917 阅读 · 0 评论 -
Android版Web服务器实现(三)HTTP响应
《Android版Web服务器实现(二)使用服务来监听HTTP请求》一文实现了HTTP请求的监听,那么我们要如何作出响应呢?在响应时,有几种情况。1、请求的方法不支持。比如服务端仅支持了GET/POST方法,而请求却有DELETE等,此时回复501。2、请求的资源不存在。在服务端不存在该资源文件,将回复404页面。3、请求的类型不支持。服务端可能存在该资源,但是该资源的类型没有支持,将原创 2014-03-11 10:51:07 · 2672 阅读 · 0 评论 -
Android基于SwiFTP开源库的FTP实现(FTP匿名登录)
FTP是基于FTP协议来实现文件的管理,理论上只要将协议逐个实现,就可以实现一个FTP的服务端了,但需要一些时间,而且还是个体力活。现在有了SwiFTP的开源库,只要对其稍加改造,就可以将手机快速变成一个FTP的服务器。这里提供一个SwiFTP的下载地址https://github.com/sparkleDai/swiftp。我们先来看看SwiFTP源码中实现的效果图:前一原创 2014-03-06 10:39:40 · 6584 阅读 · 2 评论 -
在限制中突破——你所不知道的iPhone输入法秘密
百度手机输入法iPhone版从最初的满足基本输入需求,到现在全方位情感化的输入体验,经历了10多个版本的蜕变。随着功能和体验不断提升也得到了越来越多的用户所喜爱,已经成为iPhone上最好用的输入法。 对于它的体验设计,是一个逐步完善的过程:从基础体验建设(可用)——优化升级体验(易用)——用户深层需求满足(爱用),这是一个让用户从可用到易用,然后到爱用的过程。转载 2014-04-01 08:15:15 · 1157 阅读 · 0 评论 -
Android之Windows下生成动态库so并打包到APK中
Android内核是Linux的,而linux的动态库是*.so文件,那么在windows要如何生成并打包到APK中呢?实现这一过程,大致需要以下几个步骤:1、搭建编译环境2、使用JNI生成相应的头文件3、编写动态库的实现4、生成动态库5、编译调用动态库的代码6、动态库打包到APK中7、测试下面就依据这些步骤一一进行实现。1、搭建编译环境要生成*.so的原创 2014-03-19 10:23:46 · 6001 阅读 · 0 评论 -
Android弹窗中的spinner异常解决办法
弹窗常用AlertDialog来袜,因为AlertDialog可以很方便的添加所要的项。比如确定/取消按钮,自定义的标题栏、自定义的信息布局等。在自定义布局时,比如我们采用LinearLayout来布局,然后再往LinearLayout中添加一些项,比如TextView、EditText等。这些都很容易实现。不过,如果添加spinner,可能就会出问题了。找了很久,发现是context引起的。原创 2014-04-29 17:58:40 · 2912 阅读 · 0 评论 -
Android打包之Ant多渠道打包的实现
在Android打包时,不同的应用市场会有不同的配置,特别是当有广告里,里面要有相应的市场标识,如果还是一个一个的生成,显然耗时又耗力,还易出错,所以面对各应用市场的多种渠道打包必须要依赖于脚本实现。这里是ant多渠道打包的实现。直接上脚本代码。build_mulity_channel.xml<project name="AntDemo" default="loo原创 2014-03-17 14:07:15 · 1844 阅读 · 0 评论