Android 常用开发技术
文章平均质量分 81
这里主要中介绍Android :一些常用Android开发基础知识或者是做项目app常备知识。
mmsx
专注于移动开发,关注移动开发开源项目,发布相关demo测试源码。
展开
-
android 读取 IMEI 和 MEID 的处理
相信关于这个获取网上有很多例子。我说说的情况吧,我项目使用的api版本是21(android 5.1)。所以没有网上6.0以上或者8.0方法,可以直接获取接口。只能用反射,因为接口在5.1是被屏蔽了。meid 是电信的一种方式。我们目标是获取IMEI1作为唯一码。但是测试会发现下面的问题。网上有个很全的解释:这个的获取IMEI 是通过getDeviceId()这个方法获取。其中带参...原创 2019-03-26 18:59:49 · 9326 阅读 · 3 评论 -
android 使用proj4j库,转换部分解释(Java 版纠正高程没有计算)
之前写过一篇文章介绍proj4,不过后面测试发现那个库高程没有参与计算,所以自己调试源代码,封装了一个高程参与计算的。搞着也是不容易啊。下面介绍库还是proj4j-0.1.1.jar之前的文章:android 使用proj4j库(Java版本)1、封装坐标转换的代码package com.mapzoom.demo.until;import org.osgeo.proj4j.Coo...原创 2018-10-17 20:45:42 · 10967 阅读 · 1 评论 -
Java 两个list数据根据某个字段合并
之前遇到一个需求,字段是每小时那种(2018101208)。然后服务给我数据少了部分。然后我需要自已推算。然后补上没有那些小时为单位的数据。这里面也涉及到了自已设计出来数据list是全面的。所有的小时都有。然后把服务器获取list根据这个进行对比,补上服务器没有的小时数。两个list根据某个字段进行合并。1、获取过去15天的小时初始化变量 public String start...原创 2018-10-12 20:50:01 · 27243 阅读 · 1 评论 -
java long类型溢出误区
最近遇到一个问题long类型溢出,很神奇,第一反应。后面测试一下。 private void testLong() { StringBuffer buffer = new StringBuffer(); Long time = System.currentTimeMillis(); //后面加上大写L,或者小写l。就不会溢出变成负数了 ...原创 2018-10-12 21:04:23 · 6032 阅读 · 1 评论 -
Android 动态加载sd卡里面so库
有些so文件太大,可以从手机内存或者sd卡里面拷贝到运行的应用程序里面。接口都是之前打包在里面了。还可以做so更新,就是把之前拷贝进行删除,然后进行不重新打包apk,进行重新拷贝进去。1,封装好的类package com.rtcmdemo.until;import android.content.Context;import java.io.ByteArrayOutputStre...原创 2018-09-26 21:03:38 · 2330 阅读 · 0 评论 -
Android jni 编译和使用总结
最近遇到很多奇奇怪怪的问题,就在这里记录一下。1、jni 数组初始化传入最近遇到一个问题,就是传一个byte数组到c++里面,进行传出值 byte[] mData = new byte[128]; ParseRg.Decrypt(key, mData); //这个是调用jni的 byte[] mData = new byte[128...原创 2018-08-26 17:41:44 · 783 阅读 · 0 评论 -
Android 自定义文件路径选择器
文中涉及到文件名称排序,固定根目录以及返回上一层在上面,方便选择等。根据文件后缀,筛选文件还没做。先看效果。1、效果图 2、核心代码如下是通过继承BaseAdapter 完成的,里面有自定义layout界面。进行管理返回跟目录以及上一层,方便管理。package com.filebrowser;import android.content.Context;...原创 2018-08-19 16:09:51 · 4839 阅读 · 1 评论 -
arcgis for Android 100.2 加载shp
几个月前就测试了arcgis for Android 100.2。之前也更新了几篇arcgis 相关的。现在继续。arcgis for Android 100.1 基本操作(缩小放大旋转定位)arcgis for Android 100.1 在线加载天地图和谷歌地图1、显示效果2、实现代码package com.arcgis.activity;import android.graphics.C...原创 2018-06-16 09:40:32 · 4615 阅读 · 6 评论 -
arcgis for Android 100.2 绘制点线面(文末有三维地图)
这是这阶段arcgis for Android 的最后一篇了,前面有三篇。对于我经常使用坐标,进行绘制点线面图形的程序员,这个必须要的。因为在项目中经常用到。arcgis for Android 100.1 基本操作(缩小放大旋转定位)arcgis for Android 100.1 在线加载天地图和谷歌地图arcgis for Android 100.2 加载shp1、效果显示2、代码实现pac...原创 2018-06-16 09:55:32 · 4140 阅读 · 0 评论 -
arcgis for Android 100.1 基本操作(缩小放大旋转定位)
arcgis for Android 100多是17年发布的。跟之前的10点多系列变化还是很大,很多地方都是重构过的。功能的强大就不用我多说。这篇先讲地图的基本操作以及加载地图。后面会说怎么加载天地图,谷歌地图等,加载shp,画图等等。github上面官方示例程序:https://github.com/Esri/arcgis-runtime-samples-android1,上图2,代码实现pac...原创 2018-04-22 09:53:57 · 4262 阅读 · 0 评论 -
android 两个经纬度计算方位角和距离(Java版本)
之前被同事紧急问起,location出来的经纬度怎么自已算出来方位角和距离。如果是自已算的话,一般来说是前后两秒经纬度进行计算。我在android 系统源码也看到计算方式。在这里进行贴出来,记录一下。1、location 类这个是location类。有android api源码都能找到的。2、关键代码 private static void computeDistanceAndBearing...原创 2018-05-13 09:22:07 · 5675 阅读 · 0 评论 -
android 生成wifi热点以及扫描连接wifi
前段时间,有个朋友找我。做个小项目,就是可以生成wifi热点,然后给二维码给其他手机连接。那么这个项目就包括功能有:wifi连接,生成wifi热点,生成二维码,扫描二维码进行wifi连接。里面用到了zxing这个库。本文源码下载:http://download.csdn.net/download/qq_16064871/102603301,图片展示2,生成wifi热点/** * 创建热点 */...原创 2018-03-01 22:26:48 · 3564 阅读 · 3 评论 -
ucmap for android 使用总结
我从业以来,很长有很多时间都在研究gis。不过是开源的还是收费的,多少多会看。现在又看了国内收费的ucmap for android ,说说我的感受吧。目前来说这是我用过接口最奇怪的,怎么说呢。就是跟一般习惯是不一样的。刚开始你会很纳闷,后面我会解释一下。我先声明,只代表个人观点,只是使用者观点。1,官网直接百度搜索ucmap即可,打开他们公司官网。下载开发包。UCMap(V6.6.0)Andro原创 2018-01-21 15:04:33 · 5557 阅读 · 2 评论 -
android 解析nmea原始数据
GPS数据遵循NMEA-0183协议,该数据标准是由NMEA(National Marine Electronics Association,美国国家海事电子协会)于1983年制定的。统一标准格式NMEA-0183输出采用ASCII 码,其串行通信的参数为:波特率=4800bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。数据传输以“语句”的方式进行,每个语句均以“$”开头原创 2018-01-11 20:28:16 · 8686 阅读 · 18 评论 -
android 蓝牙聊天(主动连接和被动连接)
在项目中经常用到蓝牙的应用,在这里特意写了一个demo。并且封装了代码,可以主动连接和被动连接一起使用,也可以分开使用。方便后面以后查询使用,也重新踩了部分坑。项目地址:https://gitee.com/mmsxxiaomo/BluetoothChat1,程序简单的界面2,客户端,主动连接package com.bluetooth.tool;import android.bluetooth.原创 2017-12-05 21:49:39 · 5507 阅读 · 1 评论 -
android 使用Robotium自动化测试
Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测试。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium 对Activity,Dia原创 2017-11-17 15:44:13 · 1355 阅读 · 0 评论 -
android studio 使用NDK和swig编译c++示例
使用NDK和swig工具来批量编译c++代码还是很方便的。我之前写过一篇eclipse版本的,现在终于有空把android studio的版本弄好。eclipse版本地址:Android ndk开发swig编译jni接口 。在这篇博客我会介绍相关配置,生成自动生成接口jar以及so库。这期间涉及很多踩坑,做好准备。本篇博客篇幅比较长。官方网址:http://www.sureshjoshi.com/原创 2017-11-02 10:04:58 · 5851 阅读 · 7 评论 -
android EditText默认数字键盘,能输入字母,数字和中文
最近遇到这样的市场需求,EditText默认弹出来是数字键盘,可以相互切换输入字母,数字和中文。还有就是一打开页面就弹出数字软键盘。刚开始对这个还是挺反感,因为这要求太细了。后面还是测试研究一番。1、最佳方案 <EditText android:id="@+id/edtProjectName"原创 2017-09-28 15:54:23 · 15080 阅读 · 2 评论 -
android activity各种生命周期演示
前言:做android开发也有三年了,前几天遇到一个bug。就是两个比较复杂的activity频繁来回切换,出现应用程序无响应了。这种测试类似于压力测试。毕竟出现了问题,还是挺尴尬的。最终发现的原因是finish之后,onDestroy里面有些释放资源的代码没有执行,又重新进入。后面了解了之后,就把比较重要释放资源放在finish那里先执行,就没出现应用程序无响应。后面有时间,又立马写demo测试原创 2017-09-21 17:47:51 · 848 阅读 · 0 评论 -
android location 数据标准输出,原始mnea输出和GpsStatus卫星状态的变化
android location 数据标准输出,原始输出和卫星状态的变化。标准输出就是由系统api已经封装好进行输出经纬度等等。原始数据有很多也可以解出来经纬度,解状态,卫星状态颗数。什么卫星组成,信噪比等等。卫星状态一般是信噪比以及卫星编号,方位角,高度角等。本文博客代码:http://download.csdn.net/download/qq_16064871/99607901,界面的简单显示原创 2017-09-06 22:27:59 · 4833 阅读 · 7 评论 -
android 模拟位置信息Location使用示例
android 自带location除了可以输出gps的经纬度信息,还可以进行传入location数据,进行模拟输出。输出模拟的位置信息可以在同一个应用程序,也可以给其他应用app使用。本文的源码下载:http://download.csdn.net/detail/qq_16064871/98570361,开启传入location信息先打开系统本机的gps,然后去开发者选项里打开模拟位置服务原创 2017-06-01 23:06:57 · 24759 阅读 · 3 评论 -
android 使用asynctask结合fragment更新UI(另附线程池管理示例)
使用asynctask结合fragment更新UI。在android上有不少设计都是使用fragment,因为使用fragment的生命周期可以和activity一起管理,再受到横竖屏旋转也可以保持稳定。使用asynctask,大家都很熟悉,这个有一个更新进度方法啦。就是巧妙使用这个方法。然后还能耗时工作放在这里。我写的这个可以作为定时器使用。更新的时间可以自已设置。demo下载:http://d原创 2017-04-25 22:36:06 · 3598 阅读 · 0 评论 -
android studio 编译aidl以及示例demo
使用android studio 编译aidl跟eclipse还是有一定的区别的。之前写过一篇eclipse 版本aidl博客Android aidl通信详解。那么这里主要是把那个demo转换成android studio的版本,以及一些注意事项或者配置。本篇博客源码下载:http://download.csdn.net/detail/qq_16064871/97799911 实现的图片主要是两个原创 2017-03-14 22:54:00 · 2924 阅读 · 0 评论 -
android studio 导入主题设置,代码风格(附带eclipse 主题代码样式)
在这里我最想说的,android studio默认主题样式,太low。不适合长时间写代码,看代码颜色不好识别,相对于背景的代码样式,我都不想吐槽了。还是网上下载主题代码样式导入样式。主题代码样式网站:http://color-themes.com/?view=index1,下载主题jar,导入设置即可打开网址http://color-themes.com/?view=index ,选择一个适合自已原创 2017-01-21 13:44:46 · 12196 阅读 · 0 评论 -
android udp与pc端通信实例
udp通信还是必备知识的,最近花时间去调通了一个例子程序,还不错。包括android程序以及网络调试助手。pc的网络调试助手稂莠不齐,不好弄。我推荐一个网络调试助手。名字就叫网络调试助手,英文名称NetAssist。1,测试环境android 4.4真机,window 10系统网络调试助手适配版本window all2,网络调试助手指南百度经验地址:http://jingyan原创 2016-12-18 12:00:49 · 6972 阅读 · 23 评论 -
android 数据解析总结(各种解析)
从事android开发以来,解析过不少数据,都是根据所谓的协议来的。其实,这些协议都是双方约定或者一方约定的数据格式。1,标准的gga坐标数据解析例如:$GPGGA,033744,2446.5241,N,12100.1536,E,1,10,0.8,133.4,M,,,,*1F看看geomap源码是怎么对坐标数据的解析的 NMEA 0183/* * OpenNMEA - A Jav原创 2016-12-01 23:16:02 · 3770 阅读 · 1 评论 -
android 系统版本信息的获取(附修正时差)
android 系统版本信息还是挺多,你在手机系统设置,关于设备里面看到的只是部分而已。像系统的sdk是几都没说。接下来看看有多少,以及常用的。最后附上获取系统版本信息的源码类Build.class。1、获取系统版本信息示例代码 TextView teView = (TextView)findViewById(R.id.textView1); String phoneInfo = "原创 2016-11-05 09:30:46 · 2505 阅读 · 0 评论 -
android 低功耗BLE蓝牙连接示例代码
android 低功耗ble蓝牙连接跟标准的蓝牙连接还是有很大的不同的。本文低功耗蓝牙连接代码是在sdk的版本4.3以上才支持。所用的核心代码连接也是不一样的。本文demo下载地址:http://download.csdn.net/detail/qq_16064871/96578851、区别常规的蓝牙连接类是BluetoothSocketfinal BluetoothDevice原创 2016-10-29 09:40:38 · 8147 阅读 · 3 评论 -
android 内外置SD卡的研究
最近网站后台监控上传的app崩溃记录,最常见的一条就是获取手机sd卡根目录出现崩溃。所以有查找各方面的资料,以及看android api源码。以前的Android(4.1之前的版本)中,SDcard跟路径通过“/sdcard”或者“/mnt/sdcard”来表示存储卡,而在Jelly Bean系统中修改为了“/storage/sdcard0”,以后可能还会有多个SDcard的情况。原创 2016-09-09 19:03:06 · 4699 阅读 · 0 评论 -
android 自带gps定位Location相关知识
android自带gps定位功能相信大家都不会太陌生了,都有所涉及。简单的写了一个示例程序,获取经纬度还有其它相关数据的代码,还有其他相关的知识,比如直接跳转到打开系统gps设置的界面。还有一个bug的处理,异常信息:Incomplete location object, missing timestamp or accuracy1、获取location 示例程序package com.e原创 2016-08-24 19:52:40 · 12233 阅读 · 0 评论 -
android 使用Ntrip协议,socket连接获取接入点,登录模式
前段时间出差去解决一个问题,就是获取接入点,还有登录模式。手机网络差分设置的问题,在这过程是使用Ntrip协议的。这个有点坑的地方,是在于服务器那边是不是按照协议来标准处理这些验证数据。首先是一个socket连接,socket连接上了发送协议。这个协议就是Ntrip来做的。Ntrip协议的下载地址:点击1、使用背景使用最多就是手机卡的接入点设置,android 系统设置,移动网络,可以原创 2016-08-20 00:05:32 · 7964 阅读 · 12 评论 -
android 日常迭代与维护总结二
android 迭代开发中陆续遇到各种问题,我们要善于总结,归类。现在记录一下这几个月遇到的问题汇总。1、android fragment中onActivityResult方法返回没有数据返回数据,可能Intent data有数据或者是int requestCode这个参数返回码有错误。解决办法:在activity中需要加上super.onActivityResult(requ原创 2016-07-09 10:15:33 · 2266 阅读 · 0 评论 -
android actionbar 网页在线生成style(修改配置)
android actionbar这个导航栏,相信大家爱已经不陌生了。自从android 3.0以上就有了这个导航栏功能。在郭大神博客有详细介绍actionbar功能。附上链接Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)。我在这里主要介绍android actionbar 网页在线生成style以及后面的修改style。ActionBar生成器:Android原创 2016-06-25 17:52:53 · 4408 阅读 · 1 评论 -
android 自定义xml存储方式以及存储位置
讲一下android 自定义xml存储方式以及存储位置。首先要说明一下,要区分android sharedpreferences存储。因为一般情况sharedpreferences存储也是成为xml存储,因为存储方式是以xml形式存在的。那么先看看我说的这种存储形式。本文代码:点击1、存储形式先看一张图片。这个就是存储的形式。可以看出开头还是很标准的。然后是custom这个原创 2016-05-27 10:21:06 · 3915 阅读 · 0 评论 -
android 日常迭代与维护总结一
现在全面负责公司android 产品的开发与维护,压力还真不小。因为产品多,android开发技术人员少。很多需要我亲力亲为。这里记录一下日常遇到的小知识。1、actionbarsherlock框架,标题栏返回处理//去掉app图标显示getSupportActionBar().setDisplayShowHomeEnabled(false);actionbarsherlock框架标原创 2016-05-20 13:06:48 · 6154 阅读 · 0 评论 -
android 跨应用程序广播发送接受
广播作为android的四大组件之一,适用的地方还是很多,多用来特定条件情况下的通知。例如,开机,闹铃,电池电量过低等等。但还可以自定义广播,用来两个应用程序的通知。曾经写的开机自启动的博客(通过接受系统广播):Android 开机自启动示例程序这篇博客源码下载:点击1、实现界面 2、发送广播的应用程序代码broadcastsend这个apk的代码很简单,有个按原创 2016-05-18 18:09:25 · 17900 阅读 · 12 评论 -
Android aidl通信详解
前段时间研究了不少android二次开发,其中有一种方法就是通过aidl通信,留接口提供给外面二次开发。从这里也可以看出:aidl通信是两个应用程序之间的进程通信了。在这篇博客中,主要写了两个应用程序,一个是serverdemo,可以称为服务端,也是提供接口的应用程序,在这里面我写了一个加法计算。二是客户端:clientdemo,在这个程序中调用了加法计算接口,把值传到serverdemo进行加法原创 2016-05-12 18:17:50 · 9232 阅读 · 9 评论 -
android 网络文件上传下载工具类总结
1、获取文件的最后修改时间 @SuppressLint("SimpleDateFormat") public String getFileDataTime(File file) { Date date = new Date(file.lastModified()); SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-d原创 2016-04-21 08:32:54 · 2934 阅读 · 2 评论 -
android 水准仪的实现(方向传感器的使用)
好久之前就已经研究了方向传感器Sensor.TYPE_ORIENTATION。根据自已实践,改写了网上的两个水准仪的例子,又重新封装使用了一下,最后也用在了项目中。1、前言介绍下面这段话是出自Android 传感器之方向传感器一般情况下,在android系统中获取手机的方位信息在api中有TYPE_ORIENTATION常量,可以像得到加速度传感器那样得到方向传感器sm.g原创 2016-04-11 15:01:25 · 7077 阅读 · 2 评论 -
android 公司app升级UI总结
这个月忙忙碌碌已快接近尾声,主要是公司的app进行项目重构以及UI升级。所以略作总结。1、出现编译内存不够 Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE[2016-03-02 17:00:11 - EGStarSplash] Please check logcat output for more details.[2原创 2016-03-24 23:40:29 · 5118 阅读 · 0 评论