
android
文章平均质量分 64
WillenWu
无........................
展开
-
android JavaMail发送邮件(可发送附件)
http://download.youkuaiyun.com/detail/viviwen123/3677063是之前上传的资源,但只能发送普通邮件,不能发送附件。现在优快云不知怎么了,竟然不可以修改说明,只好在此发文更正了。只要在GMailSender.java文件里加入以下函数:public void send_mail_file(String str_title, String str_b原创 2012-02-15 12:36:23 · 2455 阅读 · 2 评论 -
Android-Universal-Image-Loader关闭Log
使用Android-Universal-Image-Loader加载图片确实很方便,但是经常会弹出来一屏的红色Log,影响其他代码的调试。看了一下源码,其Log都是在类com.nostra13.universalimageloader.utils.L中打印的,而且里面定义了两个public static 方法,分别是:disableLogging()和enableLogging(),调用这两个类就原创 2013-11-10 15:14:59 · 5033 阅读 · 2 评论 -
高德地图设置中心点和缩放比例,获取两点之间距离
设置中心点和缩放比例:/** * 监听amap地图加载成功事件回调 */ @Override public void onMapLoaded() { // 设置所有maker显示在View中 LatLngBounds bounds = new LatLngBounds.Builder() .include(marker1).build(); //设置中心点和原创 2013-10-30 15:23:11 · 10168 阅读 · 1 评论 -
Android GridView显示一行,左右滑动
最近项目需要用到这个功能,研究了一下,实现过程如下:gridViewAdapter = new GridViewAdapter(mContext, list1); ViewGroup.LayoutParams params = gridview.getLayoutParams(); params.width = DensityUtil.dip2px(mContext, 101原创 2013-10-24 09:41:05 · 5667 阅读 · 0 评论 -
AsyncTask并行执行
使用AsyncTask时发现一个奇怪的现象,即创建多个任务的时候,他是一个一个按顺序执行的,查资料之后发现:在1.5中初始引入的时候, AsyncTask 执行( AsyncTask.execute() )起来是顺序的,当同时执行多个 AsyncTask的时候,他们会按照顺序一个一个执行。前面一个执行完才会执行后面一个。这样当同时执行多个比较耗时的任务的时候 可能不是您期望的结果,具体情况就像原创 2013-09-28 14:23:46 · 2753 阅读 · 1 评论 -
二维码扫描(横屏、竖屏、解决竖屏后拉伸问题、美化扫描框)
以前上传过一个源码:Android二维码扫描简单源码是根据zxing的源码进行简化的,不过只支持横屏。其实支持竖屏的挺简单的:Step 1: Add following lines to rotate data before buildLuminanceSource(..) in decode(byte[] data, int width, int height)D原创 2013-09-28 11:35:06 · 3726 阅读 · 0 评论 -
Android悬浮窗自由移动实现
网上很多这方面的文章,但总有诸多问题。主要有:一、悬浮窗移动手指离开后,再次移动时,悬浮窗自动回到初始位置开始移动。二、悬浮窗总是不肯老实地呆在手机边,手指点上去时会有一些不正常的位移。三、把状态栏的高度默认了25。【不同分辨率的状态栏会一样高吗?】 项目中要用到这个功能,自己研究了一些,贴出关键功能代码。其他代码请自行问谷歌。悬浮窗初始化及监听Touch事件。wm = (Wi原创 2013-09-10 09:24:57 · 3512 阅读 · 0 评论 -
Android 应用性能调试
Performance Debugging of Android* Applications [Android* 应用性能调试]:http://software.intel.com/zh-cn/articles/performance-debugging-of-android-applications/?cid=sw:prccsdn2072如何编写高效的Android代码:ht转载 2013-08-26 12:50:16 · 881 阅读 · 0 评论 -
android动画特效之解决解决移动后闪烁现象,解决输入法弹出后位置回复原状,解决两个动画叠加
以下代码实现的效果是:BoundOpenView从居中移动到顶部,移动完后,BoundSendView从隐藏变为显示,并从面部移动BoundOpenView下方,同时透明度慢慢增加。private void BoundOpenViewAnimation() { Log.i(TAG, "BoundOpenViewAnimation"); final int top = B原创 2013-07-19 17:44:29 · 3527 阅读 · 0 评论 -
【Android程序的反破解技术】笔记
逆向Android软件的步骤:首先是对其进行反编译,然后阅读反汇编代码,如果有必要还会对其进行动态调试,找到突破口后注入或直接修改反汇编代码,最后重新编译软件进行测试。整个过程可分为反编译、静态分析、动态调试、重编译等4个环节。反破解技术也是从这四个方面进行的。一、对抗反编译工具(如ApkTool、BackSmali、dex2jar),使其无法进行反编译,或者反编译后无法得到软件正确的反汇编代原创 2013-06-18 11:27:12 · 4572 阅读 · 1 评论 -
Android网络抓包
一、抓包:直接使用Android移植版的tcpdump工具,该工具在Android模拟器的/system/bin目录下,源码位于Android系统源码的external\tcpdump目录。执行以下命令开始抓包:adb shell tcpdump -p -vv -s 0 -w /sdcard/capture.pcap抓包的数据将保存在/sdcard/capture.pcap。按ct原创 2013-06-17 11:01:36 · 1888 阅读 · 0 评论 -
android opengl es 2.0 draw circle
Android Opengl es 2.0 画圆,网上说原理的文章挺多的,但要么是1.0的实现,要么无法跑起来。发现一个可以跑起来的方案:http://www.java2s.com/Open-Source/Android_Free_Code/OpenGL/Shape/mkabatek_androidOpenGLShapes.htm。在此记录一下。原创 2017-04-19 17:02:24 · 1629 阅读 · 1 评论 -
Android Studio library R.java生成失败解决
今天在Android Studio里面创建library,library里有引用到一些资源,但是发现R一直引用不了。查看了下,build\generated\source\r\debug目录里面的R.java文件一直没有生成。谷歌许久,没有找到答案。最后自己找到了解决方案:菜单build->Make Module “yourLibrary”,然后发现R.java生成了,资源文件就可以引用了。原创 2016-02-17 17:33:07 · 12646 阅读 · 11 评论 -
替换APK文件内容后重新打包签名脚本
由于业务需求,需要替换APK文件内容后重新打包签名,调研后发现使用JDK里提供的命令可以很方便地实现。关键命令如下:jar -uf:替换apk文件内的某个文件或文件夹。jarsigner:为apk文件签名zipalign:对签名后的apk文件进行字节对齐优化下面以替换某apk包中assets目录下的1.ini和2.ini文件,并重新打包签名优化为例,先放上脚本代码:原创 2015-02-03 15:16:20 · 7350 阅读 · 0 评论 -
Android checkCallingPermission()方法返回值问题
Android开发检查权限时,发现调用checkCallingPermission()总是返回值-1,而Binder.getCallingPid() == Process.myPid()又总是返回true,百思不得其解。 网上查资料后发现,必须是在使用AIDL时在IPC(interprocess communication)方法中调用上述两个方法,才能够得到期望的值。原创 2014-11-05 18:59:19 · 6472 阅读 · 1 评论 -
Android ScrollView向上滑动控件顶部悬浮效果实现
本文参考了:《上滑停靠顶端的悬浮框》的代码,在此表示感谢。【上滑停靠顶端的悬浮框】里的实现方法是使用两个控件,滑动时,监听ScrollView的滚动Y值,从而通过对两个控件的显示隐藏来实现控件的顶部悬浮。但是实际应用场景中,有可能需要悬浮的控件里面的内容是比较多的,如果通过显示隐藏的方式来实现的话,操作控件里的内容时,需要重复定义两套变量,对控件里的内容进行修改时也是要操作再次,非常麻烦。本文的方法是通过addView和removeView来实现的。原创 2014-09-29 15:01:31 · 13388 阅读 · 3 评论 -
Android 通过samples\android-x\BluetoothChat学习蓝牙操作
最近帮别人写了一个东西需要用到蓝牙共享数据,发现Android SDK里的例子里的BluetoothChat——蓝牙聊天软件代码写得不错,就学习分析了一下。项目java文件3个:BluetoothChat:主界面,显示聊天信息BluetoothChatService:里面有3个主要线程类,AcceptThread:蓝牙服务端socket监听线程.。ConnectThread:蓝牙s转载 2014-07-15 10:41:59 · 1058 阅读 · 0 评论 -
Mobile Services批量提交数据
Mobile Services批量提交数据,参考了文章:Inserting multiple items at once in Azure Mobile Services。里面其实已经介绍得比较清楚了,但由于是英文,而且有些地方交待得不清楚,也没有Android的示例,故下文以Android版本的开发为例作个补充。首先在Mobile Services项目里新建AllToDoItems以及T原创 2014-07-22 15:08:08 · 1228 阅读 · 0 评论 -
Android软件安全开发实践
过去两年,研究人员已发现Android上的流行软件普遍存在安全缺陷或安全漏洞。漏洞频发的原因可能有很多,例如以下几种。与一切都是集中管理的iOS相比,Android提供了一种开放的环境,在获得了灵活性、可以满足各种定制需求的同时,也损失了部分安全性。开发团队通常将精力集中在产品设计、功能实现、用户体验和系统效率等方面,而很少考虑安全问题。Androi转载 2014-07-02 11:45:14 · 1313 阅读 · 0 评论 -
jQuery Mobile和PhoneGap混合开发
其实二者并不影响,PhoneGap负责调用系统的接口,jQuery Mobile实现一些网页效果。PhoneGap开发请看上一篇文章,jQuery Mobile开发环境搭建如下:【请先阅读上一篇文章,这一篇文章是在上一篇的基础上进行的】一、到jquerymobile.com下载最新的ZIP File,解压得到其JavaScript, CSS和images。放到/assets/www/js目原创 2013-07-01 15:27:00 · 2326 阅读 · 0 评论 -
搭建PhoneGap for Android开发环境
一、确保Android开发环境正常。二、下载PhoneGap。可到http://www.phonegapcn.com/去下载,速度快些。三、新建一个PhoneGap项目1.在eclipse中新建Android Project。2.在项目的目录下,建两个文件夹:/libs/assets/www3.进入将刚刚下载并解压的PhoneGap包里Anroid目录,我们需要的资源都原创 2013-07-01 11:27:57 · 1619 阅读 · 0 评论 -
Android实现图片随手指旋转功能
在View中进行重绘,主要是通过计算角度及距离来实现。实现类代码如下:package com.example.roatedemo;import java.util.Calendar;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;i原创 2013-03-29 09:19:01 · 3476 阅读 · 1 评论 -
Android复制Assets目录下的文件到指定目录
直接看代码:package com.android.demo;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import android.content.Context;public class CopyFileFromAssets { /** * *原创 2013-01-21 19:04:32 · 1748 阅读 · 0 评论 -
【Android】新浪微博开放平台V2开发入门基础
一、申请:AppKey和AppSecret,参看:《移动客户端接入》。二、下载AndroidSDK。SKD里有说明文档,按照说明文档即可调试成功里面的example。【在AuthorizeActivity类里的相位置替换成自己的AppKey、AppSecret以及回调网址,AndroidManifest.xml里的 data android:scheme=”weibo4andriod” and原创 2013-01-04 19:11:56 · 1019 阅读 · 0 评论 -
android adb命令实用举例
掌握常用adb命令,可以让我们更加轻松地玩转手机,拒绝悲剧。同时也可以在刷机的时候节省不少步骤。最实用的场景是,当你的手机电池是内置的,在手机死机时无法抠电池,如果你掌握一定的adb命令,就不用坐等电池耗光了,只需手机连上电脑,打开命令提示符界面,输入adb reboot即可快速重启手机。当然,使用adb命令首先要有adb包,下载地址:【http://download.youkuaiyun.com/d原创 2013-01-04 19:08:18 · 724 阅读 · 0 评论 -
Android短信数据库表结构介绍
Android的短信数据库表在/data/data/com.android.providers.telephony/databases/mmssms.db,共15张表【MIUI V4系统,其他系统可能不同】,但有比较常用的有:sms表:存储所有短信, 主要的列有_id, thread_id, address, person, date, read, type, body 。threads表原创 2013-01-04 19:11:18 · 3211 阅读 · 0 评论 -
android平台下提高sqlite大容量数据存储效率
在开发过程中解析xml中的数据有上万条之多,发现在想sqlite中插入的时候非常耗时,原因是没有使用事务,默认是每插入一次使用一次事务,这样如果插入1w条数据,就要开启1w次事务,非常耗时,所以我们可以通过手动开启和关闭的方式控制事务。在自己的继承了SQLiteOpenHelper的子类中加入插入:/** * databasename 是表名 * valuesA原创 2013-01-04 19:13:20 · 980 阅读 · 0 评论 -
android静默安装的实现
有时候我们需要软件实现静默安装,但是Android并未提供相应的API,然而我们知道命令行安装android的时候是不会提示用户的,所有要实现这个功能,我们就可以从执行命令行的方式实现。android提供的安装命令是pm install packageps : pm install /sdcard/android.apk但是执行这个命令需要前提条件,需要是系统级应用或者具有ROO转载 2013-01-03 15:23:38 · 811 阅读 · 0 评论 -
超简单实用详细的android Widget实例教程
本文参考了Android_Tutor的【Android高手进阶教程(八)之----Android Widget开发案例(世界杯倒计时!)】,十分感谢Android_Tutor。本文在Android_Tutor文章的基础上,作了一些简化和改进,主要功能是实现把小插件拖到桌面后,按一下小插件,出现一个Toast。其实按一下小插件,可以做很多事,这里为了简化,就简单地出现一个Toast。效果如下:原创 2012-08-10 21:31:13 · 2816 阅读 · 0 评论 -
MifareClassic卡自定义keyA和keyB
请先阅读《读写MifareClassic协议的NFC卡》一文了解MifareClassic卡的相关知识。根据MifareClassic卡的的相关协议,如果要自定义自己的keyA和keyB,以使自己写入的到卡中的信息只有知道key值的人才能读写,必须往要操作的区的Block 3即Trailer块写入数据。下图是Trailer块的数据示例:如图,我们只需定义要写入到Traile原创 2013-03-12 22:40:59 · 12680 阅读 · 3 评论 -
增加联系人到通讯录
直接上代码:管理通讯录的类:ManagerContact.javapackage com.example.contactdemo;import java.util.ArrayList;import android.content.ContentProviderOperation;import android.content.ContentResolver;import a原创 2013-03-29 10:50:45 · 1873 阅读 · 0 评论 -
android程序接通和挂断电话
关键代码:【PhoneUtils类】package com.ebupt.phonerecorddemo.server;import java.lang.reflect.Method;import android.content.Context;import android.content.Intent;import android.telephony.TelephonyManager原创 2013-07-11 12:43:50 · 2249 阅读 · 0 评论 -
eclipse开发Android项目时出现java.lang.NoClassDefFoundError的解决方法
一般是由于ADT版本问题导致的。解决方法:1.把Properties > Java Build Path > Libraries >下除了Android.X.x和android Dependencies以外的包都删掉。2. 在项目路径下,新建一个libs文件夹,并把所有的外部类放在这个文件夹中,eclipse就能自动识别并加载了3.刷新一下项目,clean一下项目,并:Andr原创 2013-06-13 14:57:10 · 2072 阅读 · 1 评论 -
ubuntu 12.04(64位)下搭建android开发环境
一、配置JDK,谷歌之。「http://www.cnblogs.com/bluestorm/archive/2012/05/10/2493592.html」二、到android开发者网站「http://developer.android.com/sdk/index.html」下载最新的Linux 64位SDK,解压。运行eclipse,会发现出现一些找不到库文件的提示。三、在终端执行:su原创 2013-05-31 16:26:40 · 1552 阅读 · 0 评论 -
javacv开发环境配置–一切原来可以这么简单
2013.5.31日根据Google Code上的变化重新编辑,提供Demo下载:http://download.youkuaiyun.com/detail/viviwen123/5489117。本文介绍eclipse下配置javacv的开发环境,过程十分简单,最后会举一个实例(FacePreview)进行验证配置是否成功。阅读本文的前提是android+eclipse开发环境已经配置好(当然ja原创 2011-05-03 09:46:00 · 11539 阅读 · 14 评论 -
Android短信广播监听调研
参考文章:一、【android安全问题(五) 抢先拦截短信】;二android安全问题(四) 抢先开机启动】。网上已有结论:优先级:假设我们广播优先级别都设成:2147483647(注:最大int形整数)首先动态注册优先级别最高其次静态注册在动态注册中最早动态注册优先级别最高。测试前提:动、静态注册,优先级均设置为最高(2147483647)。注册接收开原创 2013-06-03 16:48:10 · 1561 阅读 · 0 评论 -
Android Light Sensor
下面这段话都能看懂吧~Here I am explaining you how to use Light Sensor of Android.1. Implement SensorEventListener2. Create variable for SensorManager and Sensor3. Get Object of SensorManager using syste翻译 2013-05-19 11:12:29 · 1692 阅读 · 0 评论 -
mac下配置NDK开发环境
本文参考了别人的文章,详细步骤:一、启动终端Terminal二、输入 pico .bash_profile 回车。【如果不生效,命令前加sudo】三、输入以下内容【路径依实情而定】:export ANDROID_SDK_ROOT=/Users/apple/Desktop/adt-bundle/sdkexport ANDROID_NDK_ROOT=/Users/apple/Do原创 2013-04-26 08:54:47 · 1227 阅读 · 0 评论 -
Android自定义弹窗进度条
Android自定义进度条主要是修改ProgressBar的style,弹窗则是在Dialog里显示ProgressBar。直接上代码。 在style.xml里加入如下代码: 50dip 8dip false @android:drawable/progress_indeterminate_horizo原创 2013-03-25 15:19:09 · 3124 阅读 · 0 评论 -
编译facebook/android-jsc时NDK找不到问题解决
编译android-jsc时提示错误:BUILD FAILED: Unrecognized flavor in target //jsc:jscoffsetextractor#android-armv7,static while parsing //jsc/BUCKHere are some things you can try to get the following flavors to原创 2017-08-01 17:34:08 · 1043 阅读 · 1 评论