Android
文章平均质量分 77
碎火流荧
这个作者很懒,什么都没留下…
展开
-
GPS定位详解
一、LocationManagerLocationMangager,位置管理器。要想操作定位相关设备,必须先定义个LocationManager。我们可以通过如下代码创建LocationManger对象。LocationManger locationManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);二、LocationListenerLocationListener,位置监听,监听位置变化,监听设备开转载 2021-04-30 17:03:20 · 1161 阅读 · 1 评论 -
Android最新API获取北斗卫星定位信息(全网最新)
前段时间北斗导航系统全球组网的最后一个卫星编组入网的消息可谓是使我广大同学都大大振奋了一把,作为一个地道的码工,第一时间想到了怎么用Android系统的API获取北斗导航的相关参数。先去北斗官网逛了一圈,发现并没有针对移动设备开放的api。没关系,条条大路通北京,咱们还有别的方案,去Android系统api求证,看看是否有北斗相关信息。一查,果真有!good!在Android源码里,最新的卫星信息实体类里里面,有几个非常耀眼的全局常量,各位客官上眼:这几个常量是,目前主流的导航系统的分类,北斗的..转载 2021-04-30 16:33:42 · 7145 阅读 · 2 评论 -
Android 客户端与PC服务端socket通信接收与发送图片(终结者)
前言这个解决方案是我和队友在《物联网》比赛的集训中得到的。在socket中Android客户端接收图片是相当的棘手(反正我当时就是这样觉得),接收文字还算简单。在刚开始接触socket接收图片的时候,出现一大堆意想不到的结果,要么图片显示不出来,要么图片显示不完整都有可能,下面我给出自己的解决方案,如果您有幸碰到了这个问题而且正在不知道怎么解决而发愁的时候,希望这篇文章能给您一些帮助。开车相信你们刚开始也会像我一样犯了这样一个错误用了下面这一段代码处理流的接收while((len = inp转载 2020-10-30 13:56:21 · 948 阅读 · 0 评论 -
android客户端和java服务端之间用socket来传输图片
为研究android客户端和java服务端之间用socket来传输图片的问题,困扰我很久,网上的参考内容不是完整,就是不详细,所以鉴于自己的痛苦,测试成功后,我决定把代码共享,希望遇到这个问题的同胞,不再痛苦。一、从服务端向客户端发送图片:服务端的代码:import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.IOException; import java.net...转载 2020-10-30 13:52:36 · 472 阅读 · 2 评论 -
Android使用Socket(Tcp/Udp)协议进行数据传输(传输大文件)
Socket是什么:所谓Socket 通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过”套接字”向网络发出请求或者应答网络请求。Socket内部又有两种协议(Tcp/Udp),我们来说说其各自的特点。先来说说网络编程的三要素1.IP地址:网络中计算机的唯一标识2.端口3.协议:通信的规则Tcp/Udp特点一、 TCP(协议):建立连接,形成传输数据的通道 在连接中进行大数据量传输 通过三次握手完成连接,是可靠协议 必须建立连接,效率稍微低点转载 2020-10-30 13:48:38 · 2963 阅读 · 0 评论 -
Android Socket 发送与接收数据问题: 发送后的数据接收到总是粘包
先说明一下粘包的概念: 发送时是两个单独的包、两次发送,但接收时两个包连在一起被一次接收到。在以前 WinCE 下 Socket 编程,确实也要处理粘包的问题,没想到在 Android 下也遇到了。首先想从发送端能否避免这样的问题,例如: (1) 调用强制刷数据完成发送的函数;(2) 设置发送超时。1 先试了调用 flush() 函数,但运行后现象依旧2 设置发送超时是 Windows 平台的做法,但在 Android 平台下是否有类似的设置呢?查看 Socket 类的实现代码:java.net.转载 2020-10-30 13:44:23 · 1373 阅读 · 0 评论 -
mavenCentral()、jcenter()、google()仓库
//buildscript里是gradle脚本执行所需依赖,分别是对应的maven库和插件buildscript { repositories {// google()// jcenter() maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' } maven { url 'http://maven.aliyun.com/nexus/conte...转载 2020-10-26 14:22:30 · 2060 阅读 · 0 评论 -
Android Wifi连接控制、TCP、UDP通信,6.0以上适配
本文章包含内容Wifi连接控制、Wifi广播接收,适配了Android6.0以上的版本 Wifi下的TCP通信 Wifi下的UDP通信 Github项目地址 码云项目地址最近公司要开发智能家居,APP要作为遥控器和控制中心,其中的原理就是智能设备开机先作为一个热点,发射Wifi信号,然后手机连上这个热点(Wifi控制),手机和智能设备建立了连接后,将家里路由器wifi的账号密码通过TCP协议,Socket通信发送给智能设备,最后智能设备收到后就能连上家里的路由器了。第一步当然就是Wifi控转载 2020-10-24 19:03:13 · 826 阅读 · 0 评论 -
每天记录学习的新知识 :蓝牙BLE数据传输记录
简介:Google在android 4.3(API Level 18)的android版本中引入了低功耗蓝牙BLE核心API。低功耗蓝牙BLE也就是我们经常说的蓝牙4.0。BLE区别于经典蓝牙,有搜索、连接的速度更快、低能耗的优点;缺点是传输的速度慢,传输的数据量也很小,每次只有20个字节。1.协议BLE遵循GATT协议,经典蓝牙遵循GAP协议。GATT协议:GATT(Generic Attribute Profile):全称叫做通用属性配置文件,是基于ATT做进一步的逻辑封装,定义数据转载 2020-10-22 11:36:55 · 1871 阅读 · 0 评论 -
蓝牙BLE(BlueTooth BLE)入门及爬坑指南
前言最近比较忙,两三周没有更新简书了,公司正好在做蓝牙BLE的项目,本来觉得挺简单的东西从网上找了个框架,就咔咔地开始搞,搞完以后才发现里面还有不少坑呢,故而写一篇蓝牙BLE入门及爬坑指南,旨在帮助刚入蓝牙BLE的小伙伴们少走弯路。注:本文所有的具体代码实现都在文章最后的github上经典蓝牙和蓝牙BLE的区别说起蓝牙,大家一定听过蓝牙1.0 2.0 3.0 4.0,不过现在已经不再用版本号区分蓝牙了,蓝牙1.0~3.0都是经典蓝牙,在塞班系统就已经开始使用了,确实很经典。有些人一直认为蓝牙转载 2020-10-09 09:06:46 · 2266 阅读 · 2 评论 -
EditText两个数字自动加空格
public class MyTextWatcher implements TextWatcher { int label; EditText editText; public MyTextWatcher(int label,EditText editText) { this.label = label; this.editText = ed原创 2017-07-31 08:47:09 · 583 阅读 · 0 评论 -
Android学习之路
学习路线图http://www.itheima.com/androidmapGoogleGoogle DevelopersGoogle视频Google开发者社区Google官方微博Google Samples学习网站GitHubStackOverFlow极客学院黑马程序员慕课网w转载 2017-12-19 17:30:45 · 337 阅读 · 0 评论 -
微信mars学习笔记
微信的Mars网络框架是2016年12月28号开源的。 前一段时间开始对其进行了连续的学习和了解。 一、主要的学习资料如下: 1. 微信公众号的文章: 2017.01.10 微信Mars——移动互联网下的高质量网络连接探索(周志杰)http://www.infoq.com/cn/presentations/wechat-mars-high-quality-network-conne转载 2017-11-17 09:31:40 · 2283 阅读 · 0 评论 -
RecycleView使用详解
RecyclerView不属于MD系列,但是却常常一起使用。一、Reclycler的作用和优点用来干嘛—— 代替 ListView个GridView。自带ViewHolder分割线控制方便横向,竖向、列表,多行列表和流式皆可item增删动画控制方便二、简单使用以前没有RecyclerView,我们要使用RecyclerView可以引入下面这个com.android.su转载 2017-09-16 10:02:06 · 647 阅读 · 0 评论 -
Android中使用NativeActivity进行APP开发
自古以来,Android的主要开发语言都是以Java为主,也有很多开发者使用其他语言,当然也有混合开发的,比如Java&C or Java&C++等,一直以来,android的开发语言层出不穷现在看来,Android的开发语言相当多,像什么C# for Android 使用C#进行Android开发,也有Qt for Android 使用Qt图形库(C++)进行Android开发(PS转载 2017-09-07 10:37:19 · 19623 阅读 · 0 评论 -
Android Studio将library手动打成jar包
以这个library为例,我们要将com.zxxk.httputils目录下的内容打成jar包1. 执行make project,执行完之后我们打开如下图所示的目录即可看到class文件2. 配置该库的build.gradle文件,并添加如下代码task clearJar(type: Delete) { delete转载 2017-09-07 09:08:25 · 414 阅读 · 0 评论 -
Android状态栏微技巧,带你真正理解沉浸式模式
记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解。其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠转载 2017-09-05 10:50:27 · 270 阅读 · 0 评论 -
android CoordinatorLayout使用
一、CoordinatorLayout有什么作用CoordinatorLayout作为“super-powered FrameLayout”基本实现两个功能: 1、作为顶层布局 2、调度协调子布局CoordinatorLayout使用新的思路通过协调调度子布局的形式实现触摸影响布局的形式产生动画效果。CoordinatorLayout通过设置子View的 Behaviors来调转载 2017-09-04 14:44:07 · 228 阅读 · 0 评论 -
ToolBar回退键的调用和设置颜色
<android.support.design.widget.AppBarLayout android:id="@+id/about_appbar" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="3" android:theme="原创 2017-07-26 10:19:36 · 364 阅读 · 0 评论 -
EditText软键盘设置下一步调到指定edittext
android:imeOptions="actionNext"android:nextFocusForward="@+id/back_up_val"原创 2017-07-24 14:22:53 · 3462 阅读 · 0 评论 -
Android之MVC设计模式在Android中的使用
最近一直在想怎么去优化一下现有的项目的代码和框架,项目中代码的臃肿和繁多在修改需求的时候带来了非常大的不方便,在大的项目工程中,一个好的框架,好的设计模式,能减少很大的工作量,所以最近一直在深入的学习MVC和MVP设计模式,这一篇对对于MVC的介绍非常的简单明了,想学习MVC设计模式的可以看看,欢迎有心得的相互交流,相互学习。原文地址:http://www.2cto.com/kf/2015转载 2017-12-05 09:34:03 · 1628 阅读 · 0 评论 -
Android代码规范
Android代码规范开始之前请详细阅读并遵守Android开发者代码风格指南不要使用拼音命名名称应简洁而富于描述,使用完整单词,避免使用缩写(除非该缩写被更广泛使用,例如URL、HTML)代码中不要出现中文标点字符,例如:‘,’、‘:’注释中可以书写中文标点字符,便于阅读注释遵循英文写作习惯,英文标点符号后空一格,避免句子紧凑颜色色值的转载 2017-12-27 10:55:45 · 181 阅读 · 0 评论 -
单例模式(懒汉式)的更好的写法
特别说到这个问题,是因为网上很多这样的代码:public class Singleton { privatestatic Singleton instance; privateSingleton (){} publicstatic Singleton getInstance() { if(instanc转载 2016-07-25 16:08:59 · 233 阅读 · 0 评论 -
近期参加的各大公司面试总结
前段时间公司坚持不下去了,所以加入了找工作的大军。上一家公司是一家o2o创业公司,在里面呆了一年半多,现有的公司的产品就是从零开始一点点参与完善迭代的,在这个过程中从中也学到了很多也成长了很多,更认识了一帮可爱的同事。奈何大环境不好,公司已经坚持不下去了,所以开始准备找工作。从开始的准备面试题,面试找工作,换房子,处理一些家里的事等,零零散散大概花了二十多天的样子,这里需要抱歉的是博客和git...转载 2018-10-26 10:02:13 · 206 阅读 · 0 评论 -
Android实际开发中实用的第三方(开源)框架
1.Butterknife将Android视图和回调绑定到字段和方法https://github.com/JakeWharton/butterknife2.Material – dialogs一个漂亮,流畅且可自定义的对话框APIhttps://github.com/afollestad/material-dialogs3.BaseRecyclerViewAdapterHe...转载 2018-10-16 09:47:25 · 282 阅读 · 0 评论 -
一个支付宝应用使用了30多个开源软件,包含库文件github地址,学习使用!!!!!!
在支付宝中的“设置”选项中,有一项为“关于”,在版权信息中显示了所有使用的开源软件信息。不看不知道,一看吓一跳,原来支付宝居然使用了30多个开源软件,下面整理了支付宝 Android 客户端使用的开源组件,觉得对你们有帮助的可以看下:1、FFmpegFFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 FFmp...转载 2018-05-30 14:28:15 · 636 阅读 · 1 评论 -
android组件化的学习
1、通过创建versions.gradle来统一管理各模块依赖库。/** * Shared file between builds so that they can all use the same dependencies and * maven repositories. **/ext.deps = [:]def versions = [:]versions.android_gr...原创 2018-06-05 11:52:18 · 988 阅读 · 1 评论 -
Android快速开发整理(库、插件、常用网站)
一、官方支持库compile ‘com.android.support:appcompat-v7:26.1.0’compile ‘com.android.support:support-v4:26.1.0’compile ‘com.android.support:recyclerview-v7:26.1.0’compile ‘com.android.support:support-v13:26.1...转载 2018-04-03 19:32:11 · 499 阅读 · 0 评论 -
Android 7.0 FileProvider 使用说明
FileProviderFileProvider 这个组件在Android 22.0.0 (也就是 Android 5.0 ) 版本下加入进Android系统,该组件是ContentProvider的子类,功能就是用来提供文件在跨进程间的访问能力。大家千万不要觉得是Android 7.0 才加入进来的。为什么Android 7.0 文件共享要使用FileProvider这个原因是因为,Androi...转载 2018-04-09 13:48:33 · 314 阅读 · 0 评论 -
Log日志管理类
public class LogUtil { private final static int LOGLEVEL = 4; private final static String LOG_TAG = "ZZCHATROOM"; public static void v(String msg) { if (LOGLEVEL >= 4) { ...原创 2018-03-21 14:10:21 · 454 阅读 · 0 评论 -
Activity生命周期的全局管理
Application里面添加:this.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { AppMa...原创 2018-03-21 14:07:42 · 235 阅读 · 0 评论 -
通过URI获取的文件路径为null的解决方法
今天调用系统自带的FileChooser后,根据Intent返回的uri获取路径的时一直返回null。这个问题很奇怪,最后发现验证用的华为P7是Android 4.4系统。先看下4.4之前的uri的形式:[java] view plain copyUri : content://media/extenral/images/me转载 2017-12-29 15:28:50 · 2666 阅读 · 0 评论 -
解决弹出输入法ScrollView重新刷新卡顿的问题
清单配置文件加属性:android:configChanges="keyboardHidden|screenSize|orientation"原创 2017-07-31 08:42:39 · 569 阅读 · 0 评论 -
Android之Build类.(Android获取手机配置信息 )
一、类结构:java.lang.Object ↳android.os.Build二、类概述:从系统属性中提取设备硬件和版本信息。三、内部类:1、Build.VERSION 各种版本字符串2、Build.VERSION_CODES 目前已知的版本代码的枚举类四、常量:UNKNOWN 当转载 2017-07-17 13:47:23 · 959 阅读 · 0 评论 -
angads25:文件选择器
private void importTxtFile() { DialogProperties properties = new DialogProperties(); properties.selection_mode = DialogConfigs.SINGLE_MODE;// 多选 、 单选 properties.selection_type = DialogCon...原创 2017-07-14 09:07:50 · 630 阅读 · 0 评论 -
Android线程调用的正确姿态
线程是程序员进阶的一道重要门槛。对于移动开发者来说,“将耗时的任务放到子线程去执行,以保证UI线程的流畅性”是线程编程的第一金科玉律,但这条铁则往往也是UI线程不怎么流畅的主因。我们在督促自己更多的使用线程的同时,还需要时刻提醒自己怎么避免线程失控。除了了解各类开线程的API之外,更需要理解线程本身到底是个什么样的存在,并行是否真的高效?系统是怎么样去调度线程的?开线程的方式那么多,什么样的姿势才转载 2016-08-16 08:52:16 · 1512 阅读 · 0 评论 -
Android Studio -修改LogCat的颜色
一、 先看效果二、设置File->Settings 或Ctrl + Alt +S 找到 Editor -> Colors &Fonts -> Android Logcat 或在上面的搜索框中输入Logcat 点中Verbose , Info, Debug等选项,然后在后面将Use Inberited attributes 去掉勾选 再将 Foreground 前的复选框转载 2016-07-20 15:54:00 · 271 阅读 · 0 评论 -
svn提交设置忽略的文件
*.settings bin gen .classpath .project *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store原创 2016-07-29 11:37:07 · 364 阅读 · 0 评论 -
布局属性的设置
android:layout_height="wrap_content"android:minHeight="?attr/actionBarSize"原创 2016-07-16 15:14:31 · 275 阅读 · 0 评论 -
xml的解析
private void getLayer(){try{String result = WebServiceUtils.getMapLayers();InputStream inputStream = new ByteArrayInputStream(result.getBytes());LayerInfo.parse(inputStream);}catch(Exception原创 2016-07-26 17:08:21 · 361 阅读 · 0 评论