- 博客(81)
- 资源 (13)
- 收藏
- 关注
原创 Android Jetpack 系列篇(二) WorkManager
本篇文章介绍 Jetpack 架构组件中的 WorkManager, 该组件可以灵活管理 Android 后台任务主要特点向后兼容API 14,在API 23+的设备上使用JobScheduler,在具有API 14-22的设备上使用BroadcastReceiver + AlarmManager的组合可以设置网络状态或计费状态等约束条件实现异步一次性或定期任务有效监控和管理计划任...
2019-09-19 17:20:58
437
原创 Android 进阶篇之AOP
AOP 大家应该都了解过一点,也就是我们所说的面向切面编程,与之相对应的还有 OOP 面向对象编程、POP 面向过程编程,下面我们就一起学习下在 Android 中 AOP 的环境配置以及怎么使用环境配置在项目根目录下的 build.gradle 配置buildscript { repositories { jcenter() google() ...
2019-09-12 15:33:46
491
原创 Android Jetpack 系列篇(一) Data Binding
从这篇文章开始,就和大家一起来学习下 Android Jetpack 架构组件,这篇是系列篇一 Data Binding,下面就一起来学习下吧。环境配置很简单,只需要在app的build.gradle中设为启用即可。android { ... dataBinding { enabled = true }}Hello World布局文件act...
2019-08-31 18:21:00
855
原创 Android UI视图效果篇之仿QQ好友列表分组悬浮PinnedHeaderExpandableListView
楼主是在平板上测试的,图片稍微有点大,大家看看效果就好接下来贴源码:PinnedHeaderExpandableListView.java 要注意的是 在 onGroupClick方法中parent.setSelectedGroup(groupPosition)这句代码的作用是点击分组置顶,我这边不需要这个效果,QQ也没有用到,所以给注释了,大家如果需要可以解开注释
2014-10-23 17:15:22
29208
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
31581
9
原创 Android 系统工具类SystemUtils收集整理(持续更新)
最近做的功能中涉及到了一些关于系统方面的东西,自己摸索以及网上搜集整理出来了一个工具类方便调用包含的功能有:获取系统中所有APP应用、获取用户安装的APP应用、根据包名和Activity启动类查询应用信息、跳转到WIFI设置、WIFI网络开关、移动网络开关、GPS开关 当前若关则打开 当前若开则关闭、调节系统音量、设置亮度、获取屏幕的亮度、跳转到系统设置、获取文件夹下所有文件、获取视频的缩
2014-08-14 11:00:32
10902
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
44530
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
1790
原创 Android 通过Base64上传图片到服务器
之前做上传图片是采用HttpServlet上传,不过用了一下Base64上传图片后,感觉比HttpServlet方便很多,大家也可以跟着尝试一下。前台图片处理:(传Bitmap对象即可) /** * 通过Base32将Bitmap转换成Base64字符串 * @param bit * @return */ public String Bitmap2StrByBas
2014-02-26 14:35:51
65006
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
15553
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
35803
54
原创 Android基于XMPP Smack Openfire下学习开发IM(五)连接断开重连
学习过程中大家都碰到过连接被断开的问题给困扰吧,下面教大家如何做到连接断开后,重新连接首先要创建连接监听器,用来监听连接状态,这里我写了一个类继承了ConnectionListener,重写了里面5个方法,最重要的两个方法connectionClosed()和connectionClosedOnError()前者为连接正常断开,后者是连接异常断开,不管是正常还是异常,我们都要监
2013-10-09 12:17:28
29796
9
原创 Android基于XMPP Smack Openfire下学习开发IM(四)单人聊天和多人聊天(发送消息、接收消息)
很久没有写博客了,回顾了一下原先学习的,接着没有写完的继续写咯。(ps:告诉大家一个秘密,其实写写博客对自己的帮助是非常大的哦~)好了废话不多说,进入主题吧。一、单人聊天1)发送消息:首先要获取一个聊天窗口,getConnection()为获取连接connection的方法,调用getFriendChat()获取 private Map chatManage = n
2013-10-09 11:58:57
38865
25
原创 Android 调用谷歌语音识别
調用谷歌语音识别其实很简单,直接利用 intent 跳转到手机里面的谷歌搜索代码也很简单,直接调用方法 startVoiceRecognitionActivity()如果大家手机里面没有谷歌搜索,这里会弹出一个下载框给我们选择下载识别完成后,得到result List数组,里面有很多识别结果,我们获取第一个就可以了贴出代码: /** * 調用方法 */ private
2013-09-05 16:32:10
6519
原创 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
3727
原创 Android 解决Gallery下ScrollView滑动事件冲突
在Gallery下,里面内容过长超出屏幕,这时我们可以用ScrollView来滚动,但是这样做了以后,会发现一个问题,Gallery的滑动事件和ScrollView的滑动事件起冲突,这时我们可以自定义Gallery控件来避免这个问题:下面贴出代码:import android.content.Context;import android.util.AttributeSet;import
2013-06-29 15:38:29
3843
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
34233
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
7143
1
原创 Android 自定义视图容器控件拦截ontouch事件传递给其子控件
自定义View 控件:/* * * 一个视图容器控件 * 阻止 拦截 ontouch事件传递给其子控件 * */public class InterceptScrollContainerView extends LinearLayout { public InterceptScrollContainerView(Context context, AttributeSet att
2013-05-22 15:29:43
9634
原创 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
10276
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
76287
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
11718
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
3210
2
原创 Android基于XMPP Smack Openfire下学习开发IM(三)会议室创建、加入以及查询会议室中所有成员等
openfire 中的会议室不像QQ群一样,不能保存那些离线用户,加入会议室后,一旦断开连接,就会离开会议室。虽然如此,但如果要实现也不是不可能,我们可以自己做后台来保存,有兴趣的可以去试着实现一下,这里就不实现了。好了,下面我们就一起来学习一下创建会议室、加入会议室以及查询会议室中的所有成员:一、创建会议室注释都写的很清楚,不做太多解释。需要配置更多信息,可以到 http:/
2013-03-29 18:29:41
13410
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
16580
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
16183
原创 Android ScollView移动到最底端
有两种方式:第一种:chatScroll为scollView控件对象chatScroll.post(new Runnable() { public void run() { chatScroll.fullScroll(ScrollView.FOCUS_DOWN); } }); 第二种:/*** 将ScollView 移动到最底端* @
2013-03-16 11:16:19
3332
原创 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
31487
4
原创 Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后台服务器代码就比较复杂,对于我这新手来讲就比较难了。后来在网上看到用openfire做服务器,利用强大的Smack API库来实现IM聊天就简单多了。 网上也有很多关于这方面的资料,我就在这里把网上的资料和自己的理解总结一下和大家一起交流学习。需要用到以下几个工具:Openfire 最新版本(
2013-03-09 16:24:13
72937
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
7502
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
20421
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
5128
原创 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
33876
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
5776
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
2008
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
5809
1
原创 Android 模拟器 hardWare 属性
Hardware:Abstracted Lcd Density默认160,最直接的表现就是手机图标和文字的大小,120最小,可根据分辨率的大小自定义,一般推荐使用默认值即可。SD Card Support 是否支持插入/弹出闪存卡; Dpad Support 是否要让手机支持DPad键,默认为yes,表示支持。DPad键就是手机上的那些Home键、返回键、电话键、电源键。
2012-12-24 10:20:21
1682
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
3869
原创 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
247718
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
1801
1
Android 图片压缩之多种压缩结合使用
2016-04-11
Android 模拟器永久root工具
2013-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人