![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 学习
文章平均质量分 70
肖赛SoAi
成功源于不断的学习和积累
展开
-
Android Jetpack 系列篇(二) WorkManager
本篇文章介绍 Jetpack 架构组件中的 WorkManager, 该组件可以灵活管理 Android 后台任务主要特点向后兼容API 14,在API 23+的设备上使用JobScheduler,在具有API 14-22的设备上使用BroadcastReceiver + AlarmManager的组合可以设置网络状态或计费状态等约束条件实现异步一次性或定期任务有效监控和管理计划任...原创 2019-09-19 17:20:58 · 438 阅读 · 0 评论 -
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 · 3729 阅读 · 0 评论 -
Android 调用谷歌语音识别
調用谷歌语音识别其实很简单,直接利用 intent 跳转到手机里面的谷歌搜索代码也很简单,直接调用方法 startVoiceRecognitionActivity()如果大家手机里面没有谷歌搜索,这里会弹出一个下载框给我们选择下载识别完成后,得到result List数组,里面有很多识别结果,我们获取第一个就可以了贴出代码: /** * 調用方法 */ private原创 2013-09-05 16:32:10 · 6523 阅读 · 0 评论 -
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 · 34234 阅读 · 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 · 7145 阅读 · 1 评论 -
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 · 3212 阅读 · 2 评论 -
Android 自定义视图容器控件拦截ontouch事件传递给其子控件
自定义View 控件:/* * * 一个视图容器控件 * 阻止 拦截 ontouch事件传递给其子控件 * */public class InterceptScrollContainerView extends LinearLayout { public InterceptScrollContainerView(Context context, AttributeSet att原创 2013-05-22 15:29:43 · 9634 阅读 · 0 评论 -
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 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 · 11722 阅读 · 9 评论 -
Android 短信发送
关键代码:SmsManager manager = SmsManager.getDefault();ArrayList texts = manager.divideMessage(content);for(String text : texts){//发送信息,参数1、发送号码,2,中心号码(移动、联通等) 参数3、发送内容,参数4,发送状态 ,参数5,对方是否收到状态ma原创 2012-11-07 22:13:25 · 1291 阅读 · 0 评论 -
Android基于XMPP Smack Openfire下学习开发IM(三)会议室创建、加入以及查询会议室中所有成员等
openfire 中的会议室不像QQ群一样,不能保存那些离线用户,加入会议室后,一旦断开连接,就会离开会议室。虽然如此,但如果要实现也不是不可能,我们可以自己做后台来保存,有兴趣的可以去试着实现一下,这里就不实现了。好了,下面我们就一起来学习一下创建会议室、加入会议室以及查询会议室中的所有成员:一、创建会议室注释都写的很清楚,不做太多解释。需要配置更多信息,可以到 http:/原创 2013-03-29 18:29:41 · 13414 阅读 · 16 评论 -
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 · 20425 阅读 · 43 评论 -
Android基于XMPP Smack Openfire下学习开发IM(二)对分组、好友和头像等一些操作
下面就一起来学习一下,如何查询分组和添加分组等!一、查询所有分组通过Roster来获取所有分组,Roster可以通过connection.getRoster()来得到。 /** * 获取所有组 * * @param roster * @return 所有组集合 */ public static List getGroups(Roster roster) {原创 2013-03-29 12:27:03 · 16583 阅读 · 11 评论 -
Android ScollView移动到最底端
有两种方式:第一种:chatScroll为scollView控件对象chatScroll.post(new Runnable() { public void run() { chatScroll.fullScroll(ScrollView.FOCUS_DOWN); } }); 第二种:/*** 将ScollView 移动到最底端* @原创 2013-03-16 11:16:19 · 3334 阅读 · 0 评论 -
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 · 31494 阅读 · 4 评论 -
Android基于XMPP Smack Openfire下学习开发IM(四)单人聊天和多人聊天(发送消息、接收消息)
很久没有写博客了,回顾了一下原先学习的,接着没有写完的继续写咯。(ps:告诉大家一个秘密,其实写写博客对自己的帮助是非常大的哦~)好了废话不多说,进入主题吧。一、单人聊天1)发送消息:首先要获取一个聊天窗口,getConnection()为获取连接connection的方法,调用getFriendChat()获取 private Map chatManage = n原创 2013-10-09 11:58:57 · 38868 阅读 · 25 评论 -
Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等
以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后台服务器代码就比较复杂,对于我这新手来讲就比较难了。后来在网上看到用openfire做服务器,利用强大的Smack API库来实现IM聊天就简单多了。 网上也有很多关于这方面的资料,我就在这里把网上的资料和自己的理解总结一下和大家一起交流学习。需要用到以下几个工具:Openfire 最新版本(原创 2013-03-09 16:24:13 · 72942 阅读 · 66 评论 -
Android 进阶篇之AOP
AOP 大家应该都了解过一点,也就是我们所说的面向切面编程,与之相对应的还有 OOP 面向对象编程、POP 面向过程编程,下面我们就一起学习下在 Android 中 AOP 的环境配置以及怎么使用环境配置在项目根目录下的 build.gradle 配置buildscript { repositories { jcenter() google() ...原创 2019-09-12 15:33:46 · 491 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Android 自定义日历控件
有图有真像:日历控件View:/** * 日历控件 功能:获得点选的日期区间 * */public class CalendarView extends View implements View.OnTouchListener { private final static String TAG = "anCalendar"; private Date原创 2013-05-22 15:20:16 · 76294 阅读 · 105 评论 -
Android UI视图效果篇之仿QQ好友列表分组悬浮PinnedHeaderExpandableListView
楼主是在平板上测试的,图片稍微有点大,大家看看效果就好接下来贴源码:PinnedHeaderExpandableListView.java 要注意的是 在 onGroupClick方法中parent.setSelectedGroup(groupPosition)这句代码的作用是点击分组置顶,我这边不需要这个效果,QQ也没有用到,所以给注释了,大家如果需要可以解开注释原创 2014-10-23 17:15:22 · 29210 阅读 · 38 评论 -
Android 系统工具类SystemUtils收集整理(持续更新)
最近做的功能中涉及到了一些关于系统方面的东西,自己摸索以及网上搜集整理出来了一个工具类方便调用包含的功能有:获取系统中所有APP应用、获取用户安装的APP应用、根据包名和Activity启动类查询应用信息、跳转到WIFI设置、WIFI网络开关、移动网络开关、GPS开关 当前若关则打开 当前若开则关闭、调节系统音量、设置亮度、获取屏幕的亮度、跳转到系统设置、获取文件夹下所有文件、获取视频的缩原创 2014-08-14 11:00:32 · 10906 阅读 · 4 评论 -
Android 学习笔记一些小知识点(2014.08.25更新)
————获取屏幕高宽———— // 获取状态栏高度Rect frames = new Rect();MainTwoActivity.this.getWindow().getDecorView().getWindowVisibleDisplayFrame(frames);int statusBarHeights = frames.top;//获取标题栏高度int titleHeig原创 2012-09-21 04:22:15 · 5210 阅读 · 6 评论 -
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 · 31584 阅读 · 9 评论 -
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 · 44534 阅读 · 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 阅读 · 0 评论 -
Eclipse中的ADT
一,在线安装:启动eclipse,在Help菜单中,选择software update...,选对available software,点击右侧的add site...,输入下载地址hhtps://dl-ssl.google.com/android/eclipse/后面步骤根据提示就可以了。 配置,在eclipse界面上选择“windows”菜单,依次选择“preferences”-and原创 2012-08-07 10:00:12 · 1350 阅读 · 0 评论 -
Android 通过Base64上传图片到服务器
之前做上传图片是采用HttpServlet上传,不过用了一下Base64上传图片后,感觉比HttpServlet方便很多,大家也可以跟着尝试一下。前台图片处理:(传Bitmap对象即可) /** * 通过Base32将Bitmap转换成Base64字符串 * @param bit * @return */ public String Bitmap2StrByBas原创 2014-02-26 14:35:51 · 65012 阅读 · 16 评论 -
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 · 35807 阅读 · 54 评论 -
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 · 15554 阅读 · 3 评论 -
Android基于XMPP Smack Openfire下学习开发IM(五)连接断开重连
学习过程中大家都碰到过连接被断开的问题给困扰吧,下面教大家如何做到连接断开后,重新连接首先要创建连接监听器,用来监听连接状态,这里我写了一个类继承了ConnectionListener,重写了里面5个方法,最重要的两个方法connectionClosed()和connectionClosedOnError()前者为连接正常断开,后者是连接异常断开,不管是正常还是异常,我们都要监原创 2013-10-09 12:17:28 · 29800 阅读 · 9 评论 -
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 · 247722 阅读 · 30 评论 -
Android 生命周期
Activity的三个状态:1、Activity 状态当位于屏幕前台时(位于当前任务堆栈的顶部),它是活动或运行状态,也就是系统调用onStart()到OnStop()之前这一段时间。2、Paused状态当它失去焦点但仍然对用户可见时,它处于暂停状态就是系统调用onCreate()之后到onStop()之前这段时间。即是:在它之上有另外一个activity。这个activity也许原创 2012-08-30 14:37:31 · 1751 阅读 · 0 评论 -
Android 手势滑动动画效果收集整理
一 、 利用View自身的setAnimation来实现动画(TextView、imageView、ListView等都可以实现)java代码:public void UpdateViewContent(){TextView txtview = (TextView)findViewById(R.id.content_view);txtview.setText(MyGetNextTe原创 2012-09-04 14:26:39 · 7357 阅读 · 0 评论 -
Android 实现微博分享功能
Android 实现微博分享功能的实现,通过发送下面的intent: Intent intent = new Intent(Intent.ACTION_SEND); //启动分享发送的属性 intent.setType("text/plain"); //分享发送的数据类型 intent.putExtra(Intent.EXTRA_原创 2012-09-13 11:41:20 · 3011 阅读 · 1 评论 -
android权限大全
访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置android.转载 2012-09-18 18:05:25 · 1131 阅读 · 0 评论 -
Android 截屏并写入SD卡中
-----------截屏方法private Bitmap shot() { View views = getWindow().getDecorView(); views.buildDrawingCache(); // 获取状态栏高度 Rect frames = new Rect(); views.getWindowVisibleDisplayFrame(frames); i原创 2012-09-14 11:14:11 · 3287 阅读 · 0 评论 -
Google Maps实现绘制两点之间线条和图标
如果需要查看两地之间所移动的路线图,就需要在地图上绘制线条和图标来查看了,废话不多说,贴上代码!JAVA代码:package com.SoAi.Activity;import java.util.List;import android.content.Context;import android.graphics.Bitmap;import android.grap原创 2012-09-13 17:23:26 · 3816 阅读 · 0 评论 -
android在google map上画出导航路线图
android在google map上画线比较容易实现的,但是现在问题在于如何获取起点和终点之间的路线图。这里我们使用Google Directions API来实现, Google Directions API是一种使用 HTTP 请求计算多个位置间路线的服务。路线可以以文本字符串或纬度/经度坐标的形式指定起点、目的地和路标。Google Directions API 可以使用一系列路标传回多段转载 2012-09-14 12:10:27 · 2316 阅读 · 0 评论