- 博客(52)
- 资源 (38)
- 问答 (1)
- 收藏
- 关注
原创 简述安卓框架发展史二(mvp,mvvm)
上篇中的mvc,dao包其实就是咱们现在流行的mvp的p,p处理业务逻辑,有所区别的就是,mvp中activity暴露view接口给P,P对这些接口就行处理业务,具体结构如下图:那么mvvm又是什么样的呢,其实vm也是处理业务逻辑,相当于MVP的p,唯一不同的是,v与m通过databind把数据和view进行了绑定,看mvp想再tvView显示userbean里的name数据,就需要f
2017-04-21 11:14:39
579
原创 简述安卓框架发展史一(没有mvc,到流行的mvc框架样式)
安卓刚开始流行时的框架 安卓没有MVC的说法时,安卓框架又是什么样的呢?那么我就给大家介绍下本人刚开始做安卓时候,那些老程序圆是怎么样搭建框架的,这个框架在当时应该也是很流行的。 这里只是简单的写了几个包作为框架的基础,框架是这样的,比如你有用户模块,那么你就要建一个用户包,用户包下有用户列表,某个用户的具体信息,添加用户等类,只要是
2017-04-21 10:17:08
526
原创 商城倒计时(时分秒倒计时、分秒毫秒倒计时)
1、布局用法 引用项目coutdowntimelibrary的CountDownView 如下 <carraydraw.com.coutdowntimelibrary.countdown.CountDownView android:layout_marginTop="5dp" android:id="@+id/coutdownmillysecond"
2016-07-01 13:58:00
2967
原创 安卓端上传多文件与servlet服务器接收多文件
android端上传文件很简单 用xutils提供的方法 如下: RequestParams requestParams=new RequestParams(); requestParams.addBodyParameter("video", new File(path));//视频 path为路径 requestParams.addBodyParameter("img", new
2015-12-31 15:17:17
1556
原创 NumberPicker简单用法(情感状态为例)
如图::代码如下: View qinganView=View.inflate(this, com.yika.R.layout.qianggan,null); final NumberPicker numberPicker= (NumberPicker) qinganView.findViewById(R.id.numberPicker);
2015-11-30 10:17:51
2526
原创 android nfc P2P模式
demo下载地址http://download.youkuaiyun.com/detail/u012303938/9311167(打开手机自带的NFC 与BEAM,两个手机相碰即可传递数据)主要代码如下:package com.example.nfcp2p;import java.nio.charset.Charset;import java.util.Arrays;import java.uti
2015-11-30 09:31:38
2583
1
原创 android nfc NDEF的RTD_TEXT读写
android nfc 有两种读写模式,分别是NDEF读写模式与非NDEF读写模式,非NDEF读写模式中又有一下几种:IsoDep、MifareClassic、MifareUltralight、Ndef、ndefFormtable、Nfca、Nfcb、NfcBarcode、NfcF、NfcV(通过Tag.getTechlist()获得)。 主要讲的是NDEF格式的读写,测试de
2015-11-23 14:32:51
2530
原创 android nfc MifareUltralight读写
MifareUltralight :是techlist中的一种类型,共16页,每页4个字节,也就是一页只能存2个汉字或者4个字母,0到3页 也就是前四页用来存卡片信息的,所以往MifareUltralight写数据,只能从第四页开始写,总共可以写入除了自带的卡片信息,可以写入4到15页数据,也就是56个字节,折算出来就是最多可写28个汉字或者56个字符。找MifareUltralight 卡
2015-11-19 16:02:26
4005
原创 com.alipay.apmobilesecuritysdk.face.APSecuritySdk$RunningTask$1: can't find superclass or interface
支付宝混淆时报错:Proguard returned with error code 1. See consoleNote: there were 341 duplicate class definitions.Warning: com.alipay.apmobilesecuritysdk.face.APSecuritySdk$RunningTask$1: can't find sup
2015-11-13 11:42:20
4769
原创 两个手机靠近,唤起应用如微信(需打开NFC)
为什么人们对nfc不感兴趣呢 多好的技术 比蓝牙传输什么的都方便多了,只需两个手机靠近 就可以传递数据 多强大的功能 有兴趣的人 下我的demo试试 要求:手机必须装微信 打开手机自带的nfc 两个手机靠近 就可以唤起微信 当然也可以传递数据 下章再说。 DEMO下载地址http://download.youkuaiyun.com/detail/u01230
2015-11-09 13:41:37
4170
原创 android nfc写入应用程序包名与网址 自动打开应用程序与网址
安卓手机大部分手机提供了NFC芯片 可以根据NFC传递数据 NFC卡与手机 手机与手机数据等交互 非常好的功能,这篇文章教大家如何向NFC卡或标签写入功能。 DEMO下载地址http://download.youkuaiyun.com/detail/u012303938/9243233 用法 : 点击包名 将NFC标签靠近手机后置摄像头附近即可
2015-11-05 11:46:27
5605
原创 封装好的Mapactivity百度地图路径规划
1、只许向MapAcitvity传一个Intent值 值为一个坐标 去哪里的坐标即可。2、自动定位到当前位置。3、demo下载地址 http://download.youkuaiyun.com/detail/u012303938/9173285代码如下 Mapactivitypackage com.example.daohang;import android.app.Acti
2015-10-12 11:27:41
1319
原创 将上拉加载更多下拉刷新PullToRefreshView用到项目中去
1、PullToRefreshView要用的几个方法如下: a、PullToRefreshView.setOnFooterRefreshListener //监听上拉加载更多 b、PullToRefreshView.setOnHeaderRefreshListener//监听下拉刷新 c、PullToRefreshView.setLastUpdated//上次更
2015-09-10 10:22:01
1738
原创 android studio 考呗.so文件运行报错 解放方案
安卓sudio中 拷贝.so文件 运行会报错 是因为没有引用到.so,在项目中的build.gradle中加入这句 jniLibs.srcDirs = ['libs']即可,这句位置 sourceSets { main { jniLibs.srcDirs = ['libs'] } }注:是项目的build.gradle,不要粘错
2015-08-20 16:40:54
464
原创 封装好的Potoutil工具类,调用拍照、相册以及对图片做处理
平时写项目总会遇到上传图片,都有写调用相机相册,很烦很累,所以这里封装好了 只需调用此类,就可以实现相机相册,并且返回图像对其做处理,可以返回bitmap 或者转成String去上传服务器。 PhotoUtil.CAMRA_SETRESULT_CODE:相册返回PhotoUtil.PHOTO_SETRESULT_CODE:拍照返回photoUtil.getCameraPath(I
2015-08-14 10:09:03
1434
原创 android sudio 如何获取sha1与md5值
1、打开android studio 在最下面找到Terminal 如下图2、 输入命令 C: 进入c盘3、 输入命令 cd Users\Administrator 其中Administrator是自己的用户名 Administrator文件下有个.adnroid文件4、 输入命令 cd .android 如下图5、输入命令 keytoo
2015-08-11 10:56:03
2694
原创 android sudio Failure [INSTALL_FAILED_OLDER_SDK]解决方案
运行androidstudio时报如下错pkg: /data/local/tmp/comss.example.administrator.findche Failure [INSTALL_FAILED_OLDER_SDK]解决方案:点开项目的build.gradle 找到minSdkVertion 手机测试版本是多少 就改多少 我的改为15 最大的为22
2015-08-06 10:16:41
879
原创 封装好的popupwiindow功能类分享到微信好友、朋友圈、qq好友、qq空间
先说下用法:1、在Tapplication中的wxid(在微信开放平台申请的应用id)与tencentId(在qq开放平台申请的应用id)换成自己的申请的id,将本demo换成自己申请应用的包名。本demo在微信和qq开放平台已经申请好了应用,可以直接使用2、在清单文件中,AuthActivity里的scheme="xxxx"的数字换成自己的tencentId。3、popupwiind
2015-07-29 14:46:33
1397
原创 最新andriod sudio1.2.2导入lib工程方法
1、File-->New-->Import Module如下图点击“...”找到你的lib工程 如下图点击ok,如下图出现红叹号 是因为和我项目中的其他lib工程名字重复了 ,改下module name里的名称叫lib2,点击finish完成。2、点击File-->Project Structure-->点击自己的主项目-->选择Depende
2015-07-22 17:13:52
909
原创 android sudio 运行的中文是乱码解决方案
1、File-->Setings-->查找file encodings 如下图2、将 IDE Encoding 、Project Encoding、Default encoding for properties files 设置成统一的Gbk或者utf-8等都可以。3,、在运行项目的时候 ,android studio点击右下角运行的编码格式, 改成和上面统一的编码格式 gbk或者
2015-07-21 17:42:21
1024
原创 StaggeredGridView+universal-image-loader加载网路图片实现瀑布流
StaggeredGridView 开源lib https://github.com/maurycyw/StaggeredGridView文章demo下载地址 http://download.youkuaiyun.com/detail/u012303938/8883957用imageloder去加载网络图片 用StaggeredGridView去显示实现瀑布流。MainActivity
2015-07-09 14:58:55
1220
原创 Error:(24, 13) Failed to resolve: com.android.support:recyclerview-v7:20.+ <a href="install.m2.repo"
Android studio 报错 Error:(24, 13) Failed to resolve: com.android.support:recyclerview-v7:20.+Install Repository and sync projectShow in FileShow in Project Structure dialog Error:(25, 13)
2015-07-07 10:04:34
34940
原创 ERROR: In <declare-styleable> MenuView, unable to find attribute android:preserveIconSpacing
eclipse sdk从低版本切换到高版本sdk的时候 v7包会包这个错ERROR: In MenuView, unable to find attribute android:preserveIconSpacing 问题解决: 点击V7包找到values文件夹 打开attrs.xml ctrl+f 查找 MenuView 将preserveI
2015-07-06 17:57:39
11003
1
原创 安卓通过spinner实现二级选择地区(根据思路可以写三级)
思路I :通过二维数据放我们需要的城市地区 ,第一个spinner加载第一级城市,监听第一级城市去控制第二个spinner加载二级城市。demo下载地址http://download.youkuaiyun.com/detail/u012303938/8838489 代码如下:MainActivitypackage com.example.testdiqu;import java.
2015-06-25 16:14:35
2103
原创 imageloader 简单应用
1、导入imageloader工程或jar包 具体下载地址https://github.com/nostra13/Android-Universal-Image-Loader 如果下载不了的话到在这里下载也可以http://download.youkuaiyun.com/detail/u012303938/8764151 2、写一个自己的Tapplication去继承appliaca
2015-06-02 15:16:20
825
原创 imageloader+scaleimageview+viewpager组合异步加载图片的图片浏览功能
在qq空间或者微信朋友圈里 看到图片总会点击图片进行查看,图片放大缩小功能包括通过手势放大缩小旋转以及双击放大缩小,并且可以左右滑动看到前一张图片或者后一张图片,需要该功能的话,这篇文章或许可以给你帮助。 众所周知,imageloader异步加载图片,不仅可以快速加载图片,而且还可以将图片保存到sdk缓存中,因此下载图片用imageloader即可,如有不懂的,可简单看下我的这篇
2015-06-02 14:46:33
1671
原创 关于dynamic-load插件式开发
dynamic-load插件式开发可以访问没有安装的APK中的类,也就是APK无需安装就可以被打开。具体原理有相关文档参考 http://blog.youkuaiyun.com/singwhatiwanna/article/details/22597587 其中有一些缺陷,插件中无法调用系统相册或者相机等,只要是用到intent调用系统acitivity都是行不通的。 dynam
2015-05-21 15:25:34
2182
原创 关于DropDownListView的上拉加载更多下拉刷新
试用了一下网上提供的DropDownListView 感觉很怪怪的 只要数据不够铺满全屏 listview的头布局不会隐藏掉,可以实现点击刷新,加载更多也是一样的 如果数据是加满全屏的 这样感觉使用起来非常舒服了,具体效果看demo demo下载地址 http://download.youkuaiyun.com/detail/u012303938/8717103 看代码
2015-05-19 16:59:47
2117
原创 关于安卓root过手机静默安装与卸载
用到一个工具类AndroidCommon 详细了解地址:http://www.open-open.com/lib/view/open1385174381198.html ,其中为我们提供了root后静默安装的工具类PackageUtils,其中包含安装与卸载。 走下思路,首先静默安装要用到adb命令,所以手机必须root(至于360手机助手静默安装,无需root也可以静默安装,具体我
2015-05-09 14:53:51
1517
原创 关于安卓插件式开发
网上找了很多关于插件式开发的资料 最值得研究意义的两种开源开发插件框架http://www.oschina.net/p/cjframeforandroid 与http://www.oschina.net/p/xcombine 另外还有一种非常简单的通过sharedUserId方式去实现。接下来讲的就是最方便的通过sharedUserId去实现。 思路:在主app中与次app中设置同样
2015-04-28 16:15:44
844
原创 360防窃听比上次写的更简洁方便使用
思路:点击按钮,开启一个服务,在服务里直接调用打电话“10086”,在服务中监听电话状态,通话状态用遮挡物遮住,挂断则消失并停止该服务,如果想盖住360的防窃听,可以延迟0.8s在把遮盖物显示出来,就可以遮住。demo下载地址 代码如下:http://download.youkuaiyun.com/detail/u012303938/8624721 MainAcitivy.class
2015-04-23 16:15:50
1262
原创 携程在手点击小按钮缩放效果与自定义按钮效果
携程在手点击小按钮缩放效果思路很简单,点击按钮写一个缩放动画效果,延迟0.5m,接着进去相应的activity中。 1、在layout下建一个anim文件夹,写一个set的set_scale.xml动画,如下 <scale android:fromXScale="1.0" android:toXScale="0.96" android:fr
2015-04-15 10:01:59
1717
原创 非常简单的百度定位,只需要几个步骤即可
百度地图sdk下载地址 下载百度sdk1、去百度地图申请秘钥 :点击打开链接2、将下载后的百度定位解压,将libs中的BaiduLBS_Android.jar与armeabi中的.so文件复制到自己的libs文件夹中 3、在清单文件中加入权限、服务、和秘钥 都不能少,否则报错或获取不到地理位置
2015-04-13 12:42:49
1891
原创 非常简单的viewpager+fragmen实现类似商城app结构
先说下思路在一个activity中的主布局加入supportv4架包中的viewpager,viewpager相当于一个listview,在viewpager中我们要放的fragment,对viewpager做监听,实现想要的效果,代码很简单一看就懂,一直上代码。 主类package com.example.fragtest;import java.util.ArrayList;
2015-03-31 14:38:35
928
原创 仿360android打电话遮挡号码与通话后记录删除
先说下思路 首先点击拨号 进入一个是否拨通界面,选择确认后,调用系统直接拨打电话,然后判断拨打电话的状态,如果是拨通的状态下 用窗口管理器写一个遮挡物 遮挡住 如果不是拨通状态将遮挡物去掉,去掉完成当前activity,在onactivityforresult中执行查找通话记录进行删除。好了 开始上代码。 主界面mainactivity.class
2015-03-27 16:38:51
1692
原创 解决dialog中edittext点击两次才响应事件的问题
edittext响应事件用onclick点击第一次会先获取焦点,第二次才响应事件,这个思路需要处理焦点事件比较繁琐,因此我们用ontouch事件,会发现用ontouch事件点击的时候,会发现响应三次事件,三次是因为ontouch有up down cancel三次 我们只需要在down中做自己要实现的事件就可以了,代码如下: edittext.setOnTouchListener(ne
2015-02-26 10:00:29
2660
原创 打造一个精简的BaseActivity
查资料了解了一下注解,因此想到封装一个BaseActivity让其他的类去继承,这样就省了很多事情。demo下载地址http://download.youkuaiyun.com/detail/u012303938/8435675
2015-02-09 17:17:17
815
原创 android实现微信支付
微信支付给大家先过一个概念,想要执行微信的分享、支付等功能,必须要进行获取AccessToken,获取AccessToken必须要在微信开放平台注册一个账号,并且创建一个应用,审核通过后得到appkey与APP_SECRET,通过这两个参数去调用new GetAccessTokenTask().execute();去获得AccessToken(注意调用支付时要注册下),然后再执行new Get
2015-02-07 17:11:28
4269
视频上传与下载
2014-11-03
类似朋友圈里的评论下拉加载点击图片放大
2015-04-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人