自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

肖赛SoAi

          『成功源于不断的学习和积累 』 个人公众号:Soaic

  • 博客(81)
  • 资源 (13)
  • 收藏
  • 关注

原创 Android Jetpack 系列篇(二) WorkManager

本篇文章介绍 Jetpack 架构组件中的 WorkManager, 该组件可以灵活管理 Android 后台任务主要特点向后兼容API 14,在API 23+的设备上使用JobScheduler,在具有API 14-22的设备上使用BroadcastReceiver + AlarmManager的组合可以设置网络状态或计费状态等约束条件实现异步一次性或定期任务有效监控和管理计划任...

2019-09-19 17:20:58 405

原创 Android 进阶篇之AOP

AOP 大家应该都了解过一点,也就是我们所说的面向切面编程,与之相对应的还有 OOP 面向对象编程、POP 面向过程编程,下面我们就一起学习下在 Android 中 AOP 的环境配置以及怎么使用环境配置在项目根目录下的 build.gradle 配置buildscript { repositories { jcenter() google() ...

2019-09-12 15:33:46 471

原创 Android Jetpack 系列篇(一) Data Binding

从这篇文章开始,就和大家一起来学习下 Android Jetpack 架构组件,这篇是系列篇一 Data Binding,下面就一起来学习下吧。环境配置很简单,只需要在app的build.gradle中设为启用即可。android { ... dataBinding { enabled = true }}Hello World布局文件act...

2019-08-31 18:21:00 835

原创 Android UI视图效果篇之仿QQ好友列表分组悬浮PinnedHeaderExpandableListView

楼主是在平板上测试的,图片稍微有点大,大家看看效果就好接下来贴源码:PinnedHeaderExpandableListView.java 要注意的是 在 onGroupClick方法中parent.setSelectedGroup(groupPosition)这句代码的作用是点击分组置顶,我这边不需要这个效果,QQ也没有用到,所以给注释了,大家如果需要可以解开注释

2014-10-23 17:15:22 29165 38

原创 Android 下拉刷新控件SwipeRefreshLayout结合WebView使用

SwipeRefreshLayout 是谷歌官方下拉刷新控件,4.0以下的版本需要用到  android-support-v4.jar包才能用到android-support-v4.jar 包下载地址:http://download.csdn.net/detail/h7870181/7784247官网API地址:https://developer.android.com/reference

2014-08-19 16:03:53 31537 9

原创 Android 系统工具类SystemUtils收集整理(持续更新)

最近做的功能中涉及到了一些关于系统方面的东西,自己摸索以及网上搜集整理出来了一个工具类方便调用包含的功能有:获取系统中所有APP应用、获取用户安装的APP应用、根据包名和Activity启动类查询应用信息、跳转到WIFI设置、WIFI网络开关、移动网络开关、GPS开关 当前若关则打开 当前若开则关闭、调节系统音量、设置亮度、获取屏幕的亮度、跳转到系统设置、获取文件夹下所有文件、获取视频的缩

2014-08-14 11:00:32 10849 4

原创 Android 常用的adb命令

1、安装APK(如果加 -r 参数,保留已设定数据,重新安装filename.apk) adb install xxx.apk adb install -r xxx.apk ...18、关机命令adb shell reboot -p

2014-07-29 16:57:14 44410 1

原创 Android 在ubuntu上下载和编译系统源码

下载源码分为以下几个步骤:1、配置安装下载环境 配置 JDK环境 安装curl、git-core软件 sudo apt-get install curl sudo apt-get install git-core

2014-07-29 14:50:45 1774

原创 Android 通过Base64上传图片到服务器

之前做上传图片是采用HttpServlet上传,不过用了一下Base64上传图片后,感觉比HttpServlet方便很多,大家也可以跟着尝试一下。前台图片处理:(传Bitmap对象即可) /** * 通过Base32将Bitmap转换成Base64字符串 * @param bit * @return */ public String Bitmap2StrByBas

2014-02-26 14:35:51 64906 16

原创 Android Google Maps API 网络服务用于网络定位、计算路线、获取经纬度、获取详细地址等

Google Maps API 网络服务  官网地址 :https://developers.google.com/maps/documentation/webservices/?hl=zh-cn其实就是一些接口,供我们调用,如:1、根据地址获取经纬度http://maps.google.com/maps/api/geocode/json?address=北京&lang

2013-10-09 14:51:03 15507 3

原创 Android基于XMPP Smack Openfire下学习开发IM(六)总结

不管学习什么都应该总结这里我把关于Xmpp的一些方法整理到一个工具类中了我就分享给大家XmppConnection.javapackage com.techrare.utils;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.ByteArrayInpu

2013-10-09 12:35:25 35766 54

原创 Android基于XMPP Smack Openfire下学习开发IM(五)连接断开重连

学习过程中大家都碰到过连接被断开的问题给困扰吧,下面教大家如何做到连接断开后,重新连接首先要创建连接监听器,用来监听连接状态,这里我写了一个类继承了ConnectionListener,重写了里面5个方法,最重要的两个方法connectionClosed()和connectionClosedOnError()前者为连接正常断开,后者是连接异常断开,不管是正常还是异常,我们都要监

2013-10-09 12:17:28 29756 9

原创 Android基于XMPP Smack Openfire下学习开发IM(四)单人聊天和多人聊天(发送消息、接收消息)

很久没有写博客了,回顾了一下原先学习的,接着没有写完的继续写咯。(ps:告诉大家一个秘密,其实写写博客对自己的帮助是非常大的哦~)好了废话不多说,进入主题吧。一、单人聊天1)发送消息:首先要获取一个聊天窗口,getConnection()为获取连接connection的方法,调用getFriendChat()获取 private Map chatManage = n

2013-10-09 11:58:57 38824 25

原创 Android 调用谷歌语音识别

調用谷歌语音识别其实很简单,直接利用 intent 跳转到手机里面的谷歌搜索代码也很简单,直接调用方法 startVoiceRecognitionActivity()如果大家手机里面没有谷歌搜索,这里会弹出一个下载框给我们选择下载识别完成后,得到result List数组,里面有很多识别结果,我们获取第一个就可以了贴出代码: /** * 調用方法 */ private

2013-09-05 16:32:10 6471

原创 Android 通过wifi调试程序【转】

1.首先让android手机监听指定的端口:  这一步需要使用shell,因此手机上要有终端模拟器,不过网上很多,随便找个就行了,依次敲入下列几行:?su//获取root权限setprop service.adb.tcp.port 5555//设置监听的端口,端口可以自定义,如5554,5555是默认的stop adbd//关闭adbdstart a

2013-09-05 16:05:55 3709

原创 Android 解决Gallery下ScrollView滑动事件冲突

在Gallery下,里面内容过长超出屏幕,这时我们可以用ScrollView来滚动,但是这样做了以后,会发现一个问题,Gallery的滑动事件和ScrollView的滑动事件起冲突,这时我们可以自定义Gallery控件来避免这个问题:下面贴出代码:import android.content.Context;import android.util.AttributeSet;import

2013-06-29 15:38:29 3834 1

原创 The connection to adb is down, and a severe error has occured.问题解决

遇到问题描述:运行android程序控制台输出[2013-06-25 11:10:32 - MyWellnessTracker] The connection to adb is down, and a severe error has occured.[2013-06-25 11:10:32 - MyWellnessTracker] You must restart adb and

2013-06-25 11:34:03 34208 12

原创 Android Calendar的学习与运用【转】

import java.text.DateFormat;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;/** * Android Ca

2013-05-23 14:40:28 7123 1

原创 Android 自定义视图容器控件拦截ontouch事件传递给其子控件

自定义View 控件:/* * * 一个视图容器控件 * 阻止 拦截 ontouch事件传递给其子控件 * */public class InterceptScrollContainerView extends LinearLayout { public InterceptScrollContainerView(Context context, AttributeSet att

2013-05-22 15:29:43 9619

原创 Android ScrollView HorizontalScrollView 实现全方向(上下左右)反弹效果

自定义控件View :/** * 类功能描述: * 具有弹性效果的全方向ScrollView,参考ScrollView与HorizontalScrollView源码 * */public class HorizontalScrollView extends FrameLayout { static final int ANIMATED_SCROLL_GAP = 250;

2013-05-22 15:25:56 10257 5

原创 Android 自定义日历控件

有图有真像:日历控件View:/** * 日历控件 功能:获得点选的日期区间 * */public class CalendarView extends View implements View.OnTouchListener { private final static String TAG = "anCalendar"; private Date

2013-05-22 15:20:16 76214 105

原创 Android ScrollView反弹效果的实现

自定义ScrollView控件:/** * ScrollView反弹效果的实现 */public class BounceScrollView extends ScrollView { private View inner;// 孩子View private float y;// 点击时y坐标 private Rect normal = new Rect();// 矩形(这里只

2013-05-22 15:04:10 11673 9

原创 Android 实现按两次返回键退出程序

// 是否退出程序private static Boolean isExit = false;// 定时触发器private static Timer tExit = null; public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if

2013-05-09 17:15:48 3188 2

原创 Android基于XMPP Smack Openfire下学习开发IM(三)会议室创建、加入以及查询会议室中所有成员等

openfire 中的会议室不像QQ群一样,不能保存那些离线用户,加入会议室后,一旦断开连接,就会离开会议室。虽然如此,但如果要实现也不是不可能,我们可以自己做后台来保存,有兴趣的可以去试着实现一下,这里就不实现了。好了,下面我们就一起来学习一下创建会议室、加入会议室以及查询会议室中的所有成员:一、创建会议室注释都写的很清楚,不做太多解释。需要配置更多信息,可以到 http:/

2013-03-29 18:29:41 13383 16

原创 Android基于XMPP Smack Openfire下学习开发IM(二)对分组、好友和头像等一些操作

下面就一起来学习一下,如何查询分组和添加分组等!一、查询所有分组通过Roster来获取所有分组,Roster可以通过connection.getRoster()来得到。 /** * 获取所有组 * * @param roster * @return 所有组集合 */ public static List getGroups(Roster roster) {

2013-03-29 12:27:03 16534 11

原创 java 比较两个日期之间的大小

/** * 比较两个日期之间的大小 * * @param d1 * @param d2 * @return 前者大于后者返回true 反之false */public boolean compareDate(Date d1, Date d2) { Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getIn

2013-03-16 11:19:24 16169

原创 Android ScollView移动到最底端

有两种方式:第一种:chatScroll为scollView控件对象chatScroll.post(new Runnable() { public void run() { chatScroll.fullScroll(ScrollView.FOCUS_DOWN); } }); 第二种:/*** 将ScollView 移动到最底端* @

2013-03-16 11:16:19 3306

原创 Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】

package com.soai.imdemo;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.InputStream;import android.graphics.Bitmap;import android.graphics.BitmapFactory;

2013-03-12 15:01:31 31431 4

原创 Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等

以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后台服务器代码就比较复杂,对于我这新手来讲就比较难了。后来在网上看到用openfire做服务器,利用强大的Smack API库来实现IM聊天就简单多了。 网上也有很多关于这方面的资料,我就在这里把网上的资料和自己的理解总结一下和大家一起交流学习。需要用到以下几个工具:Openfire  最新版本(

2013-03-09 16:24:13 72888 66

原创 Android下使用最新FaceBook SDK 3.0(三)使用facebook中的FQL查询信息

FQL查询相当于SQL查询,利用FQL查询,我们可以得到更多关于自己或者朋友的信息strings.xml 文件 FirstFacebook Hello world! Settings 494262210644963 Send Request Query Multi-queryactivity_main.xml  添加两个按钮控件<LinearL

2013-02-16 14:18:49 7463 1

原创 Android下使用最新FaceBook SDK 3.0(二)使用facebook实现登录注销

前一篇我们学习了集成FacebookSDK到我们项目工程中,这篇来学习一下如何使用facebook来登录!1、打开 res/layout/activity_main.xml,在布局中添加一个facebook登录按钮<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln

2013-02-05 18:27:12 20397 43

原创 MyEclipse6.5破解代码

运行以下代码即可得到KEY(id为test): package com.soai.model;import java.text.DecimalFormat;import java.text.NumberFormat;import java.text.SimpleDateFormat;import java.util.Calendar;public class Test {//

2013-01-18 10:51:16 5122

原创 Android 获取本地外网IP、内网IP、计算机名等信息

一、获取本地外网IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { //http://iframe.ip138.com/ic.asp //infoUrl = new URL("http:/

2013-01-08 12:16:44 33848 6

原创 Android ScrollViewy与HorizontalScrollView实现上下左右滚动

<ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentTo

2012-12-29 17:40:43 5753 1

转载 Android 开发之onClick事件的三种写法

package a.a;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;public class AActivity extends Activity {

2012-12-29 11:44:55 1998 1

原创 Android eclipse 运行项目设置程序默认安装到SD卡

1、在Android手机启用USB调试功能2、在Windows系统中打开命令提示符(开始菜单,选择运行,输入cmd回车即可),使用CD命令切换到Android-SDK\tools目录下(即adb.exe文件目录下),Android-SDK为你前面安装Android SDK指定的目录。3、在命令提示符进入Android-SDK\tools目录后,输入adb devices回车,你应该可以看到

2012-12-28 17:22:01 5782 1

原创 Android 模拟器 hardWare 属性

Hardware:Abstracted Lcd Density默认160,最直接的表现就是手机图标和文字的大小,120最小,可根据分辨率的大小自定义,一般推荐使用默认值即可。SD Card Support 是否支持插入/弹出闪存卡; Dpad Support 是否要让手机支持DPad键,默认为yes,表示支持。DPad键就是手机上的那些Home键、返回键、电话键、电源键。

2012-12-24 10:20:21 1668 1

原创 Android 获取手机应用信息

SystemUtils.java工具类 package com.techrare.utils;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.content.Intent;import android.content.pm.Packag

2012-12-22 10:49:46 3849

原创 Android 手动显示和隐藏软键盘

1、方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2、方法二(view

2012-12-19 18:10:11 247621 30

原创 [Accessibility] Missing contentDescription attribute on image

今天使用了下ADT 16.0 在定义一个ImageVIew的时候 总是提示这个[Accessibility] Missing contentDescription attribute on image警告,虽说可以不理 但总是感觉怪怪的,在网上一搜 发现原来这是ADT 16.0的新特性,在一些没有文本显示的控件里,如imageView和imageButton等,ADT会提示你定义一个android

2012-12-13 16:13:07 1795 1

Android 图片压缩之多种压缩结合使用

首先通过尺寸压缩,压缩到手机常用的一个分辨率(1280*960 微信好像是压缩到这个分辨率),然后我们要把图片压缩到100KB以内,通过质量压缩来计算options需要设置为多少,最后调用JNI压缩,这边我测试了下,压缩出来的清晰度和原图几乎差不多,压缩时间大概1秒钟左右

2016-04-11

Android 自定义日历(包含单选和多选) 程序源码

Android 自定义日历(包含单选和多选)

2014-12-30

仿QQ好友列表分组悬浮PinnedHeaderExpandableListView

仿QQ好友列表分组悬浮PinnedHeaderExpandableListView

2014-10-23

android-support-v4.jar

兼容Android 4.0以下的版本,包中包含类许多我们可以调用的,如widget、view、util等等

2014-08-19

反编译工具

适合class文件,jar文件等一些被编译好了的,都可以用这个工具来反编译。

2013-12-09

asmack.jar

asmack.jar 基于openfire服务器利用Xmpp协议在Android上实现即时通讯

2013-10-09

Android 模拟器永久root工具

Android 模拟器永久root工具------包含 (android for img.rar、Android SU文件更新包.zip、RootExplorer.apkSuperuser.apk) 1、用android for img.rar里的android for img.exe打开 E:\SDK\platforms\android-8\images\system.img,进入app文件夹, 添加RootExplorer.apkSuperuser.apk这两个APK 2、保存命名为system.img到另一个文件夹 3、复职该文件替换E:\SDK\platforms\android-8\images\system.img文件 4、创建Android2.2模拟器,该模拟器就已经root了 注:android-8对应的是android 2.2,大家也可以利用相同方式root其它模拟器

2013-08-01

ADT-20.0.3

最新ADT eclipse android 插件

2013-03-12

openssl-0.9.8k_WIN32

openssl-0.9.8k_WIN32

2013-02-05

Android APK 反编译工具附带教程

看到其他人写的APK Android 应用是不是很想看看到底怎么实现的呢!!! 此工具只做学习之用。

2012-12-22

Android FlingGallery类完美实现手势拖动多个布局页面

完美实现手势拖动多个布局页面

2012-09-05

ADT-14.0.0.ZIP

eclipse android 插件

2012-08-07

extjs 4.0.7-gpl API

最新extjs 4.0.7 API,你值得拥有

2012-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除