Android开发
文章平均质量分 94
Maple_Shao
Android Developer
展开
-
安卓4.4中应用无法读取修改sd卡的问题——程序员解决方案
Google去年11月正式发布了Android 4.4,代号为KitKat(奇巧,雀巢的一款巧克力品牌),该系统带来了诸多新的特性。 但需要注意的是,该系统可能会让你之前一直正常使用的SD卡变为无用的“摆设”,因为根据新版本的API改进,应用程序将不能再往SD卡中写入文件。 来看Android开发者网站的“外部存储技术信息”文档中的描述: 引用WRITE_EXT翻译 2015-02-11 15:10:05 · 2627 阅读 · 0 评论 -
解决Google map在手机上debug版本可用,release版本不可用的问题
问题描述:在做Google map开发时,在android studio 上debug调试时可以正常使用,但是发布release版本时却不可用了。根本原因是使用的keystore不一样了,debug模式下调试app,使用的系统默认的debug.keystore。release模式下出包时,使用的是自己设定的keystore。在Google map原创 2016-08-01 15:40:38 · 1770 阅读 · 1 评论 -
打开和关闭蓝牙设备
在Android中,与蓝牙有关的类和接口在 android.bluetooth 包中。其中BluetoothAdapter是蓝牙中的核心类,代表本地的蓝牙适配器设备。BluetoothAdapter类让用户能执行基本的蓝牙任务。当我们使用蓝牙时会先判断当前手机是否打开了蓝牙,然后在进行相应的处理。简单来看蓝牙的开启和关闭:public class原创 2015-12-29 10:34:03 · 1346 阅读 · 0 评论 -
Google map根据经纬度获取地址信息
Google map经纬度解析http://stackoverflow.com/questions/9409195/how-to-get-complete-address-from-latitude-and-longitude Google map 根据指定经纬度解析出可读的地址信息,也就是地址解码了,主要使用 Geocoder。 需要借助两个类Geocoder和Address,可点击查看原创 2016-08-23 16:14:31 · 13569 阅读 · 0 评论 -
android中创建带数字的自定义bitmap
在开发中可能需要用到一些带数字的drawable图片,比如从0-99,此时让UI挨个给图,就很没有必要了。资源文件也会爆棚。此时就需要我们用代码自定义drawable图片来。先看效果:上代码:package com.everbridge.xxx.util;import android.graphics.Bitmap;import andro原创 2016-11-16 16:50:25 · 2213 阅读 · 4 评论 -
[几何] 计算任意多边形的面积、中心、重心
最近项目用到:在不规则任意多边形的中心点加一个图标。(e.g: xx地区发生暴雪,暴雪区域是多边形,给多边形中心加一个暴雪的图标)之前的设计是,计算不规则多边形范围矩形bounds的中心点。这个比较简单,对于一些圆,矩形,凸多边形都比较适合。但是遇到凹多边形就会出现问题,比如一个月牙型的不规则多边形,bounds的中心点,就落到月牙外了。就有点难以接受了。经过讨论,决定将中心改为重心。...原创 2016-12-15 16:17:31 · 36457 阅读 · 34 评论 -
Google map获取手机屏幕当前显示地图的范围
在开发时,可能用到手机屏幕当前显示Google map的显示范围,也就是显示矩形四个顶点,怎么获取那?系统有提供的方法:VisibleRegionhttps://developers.google.com/android/reference/com/google/android/gms/maps/model/VisibleRegion原创 2016-09-22 18:21:21 · 2682 阅读 · 0 评论 -
Mac下获取android studio keystore的SHA1和MD5
在Android studio中打开Terminal工具、获取 debug.keystore 的SHA1、MD5:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android获取其他 ke原创 2016-08-01 15:09:43 · 5987 阅读 · 1 评论 -
localytics的使用
最近公司在更换app分析软件,来收集每个功能的使用频率。之前用的fabric,但是fabric只能精确到天,领导层希望能精确到小时。此时,Localytics 就闪亮登场了。Localytics官网: https://dashboard.localytics.com其实Localytics还有很多功能。本文只说Events功能。也就是在程序中埋点,来监听某些方法原创 2017-02-21 13:58:38 · 1323 阅读 · 0 评论 -
Android 进化
Android的进化史本文介绍Android的进化史,列举Android的API版本和版本名称的对应关系以及发布时间。API版本工程代号发布时间备注11.0Astro(铁臂阿童木)2008.09.23 21.1Petit Four-Bender(发条机器人)2009.02.02原创 2014-08-02 13:55:40 · 866 阅读 · 0 评论 -
[控件] 高仿iOS样式Dialog
由于android各个版本的系统Dialog样式都不一样,并且也不是特别好看,所以这里自己定制一套高仿iOS样式的android Dialog。让自己的代码具备两个平台的风格,并可以自由切换。 快速使用:Step 1. Add it in your root build.gradle at the end of repositories:allprojects {...原创 2018-03-21 18:18:32 · 777 阅读 · 0 评论 -
Android DrawerLayout 和ViewPager滑动冲突解决
最近遇到项目整体是Activity搭配DrawerLayout的抽屉样式,在左侧抽屉的顶部,有一个ViewPager无限轮播。并要求ViewPager左滑下一页,右滑上一页,3秒自动轮播下一页,点击按住停止轮播。同时DrawerLayout的NavigationMenuView左滑打开,右滑关闭。滑动事件同时存在,手指滑动头部区域ViewPager响应,滑动其他区域DrawerLayout打开or...原创 2017-03-07 18:39:27 · 2387 阅读 · 1 评论 -
Android冷启动详解
Android冷启动详解冷启动:热启动:APP冷启动详解冷启动优化本文主要讲Android app 冷、热启动流程,已经启动优化。冷启动:当应用启动时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就叫做冷启动(后台不存在该应用进程)。冷启动因为系统会重新创建一个新的进程分配给它,所以会先创建和初始化Application类,再创建和初始化MainActiv...原创 2019-03-21 10:08:33 · 2824 阅读 · 1 评论 -
[几何] 判断点是否在任意多边形内
最近项目用到:在Google map上判断事发地点,是否在管辖区域内。也就是典型的判断一个点是否在不规则任意多边形内的例子。但是Google Map没有提供相应的api,找资料发现百度地图提供了一个工具类,肿么办,为了一个工具类,加入百度地图吗,操蛋,这是不可能的!百度地图api链接:http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_7_......原创 2016-05-26 09:55:16 · 12276 阅读 · 36 评论 -
service中获取sharedpreferences数据不同步
在某个地方通过context获取sharedpreferences对象,并进行存储数据后,在Activity中获取的sharedpreferences存储数据和在Service中获取的sharedpreferences存储数据不一致! 分析:在getSharedPreferences的时候mode使用的是MODE_PRIVATE,这种mode不支持Activity跟Servi...原创 2016-04-01 20:37:18 · 3364 阅读 · 1 评论 -
Android Studio 使用技巧
本文为综合版,实现windows与Mac结合对照。快捷键:ActionWin/LinuxMac OSX注释代码(//)Ctrl + /Cmd + /注释代码(/**/)Ctrl + Shift + /Cmd + Option + /格式原创 2016-04-08 10:17:07 · 3282 阅读 · 1 评论 -
Android Studio中如何打JAR包
Android Studio中如何打JAR包Android Studio中对于library类型的Moudle,默认打出来的是AAR包,但有时候我们的SDK还需要共享给一些其他eclipse的项目使用,这样我们就需要输出JAR包,可以通过在Moudle中的build.gradle加入task来实现。makeJar.dependsOn(build)task make原创 2016-05-04 16:43:18 · 790 阅读 · 0 评论 -
Android工程项目没有错却出现红叉—解决办法
今天下午项目出来一个小问题。搞了好久没搞好。网上各种办法试了之后都没有解决。现在总结一下类似问题的解决办法。 表面上看整个项目一点错误没有。但是却有个红叉。如下图:解决办法如下:1、代码中敲入一行回车,然后保存就能解决。2、【Project 】 --> 【Clean】 如果上述两种方式没有解决。 3、查看【Problems】视图寻找错误提示。原创 2015-07-30 18:24:43 · 4827 阅读 · 0 评论 -
安卓4.4中应用无法读取修改sd卡的问题——用户解决方案
在最新的Android 4.4系统中,外置存储卡(SD卡)被称为二级外部存储设备,而新版本的API改进后应用程序已无法往外置存储卡(SD卡)写入数据,并且WRITE_EXTERNAL_STORAGE只为设备上的主要外部存储授予写权限,只有综合权限指定了应用程序的包目录后才能在二级外部存储设备中创建、修改、删除数据。 综合上述原因,Android 4.4用户会发现一些手机助手无翻译 2015-02-11 15:07:01 · 3699 阅读 · 0 评论 -
android自定义SurfaceView实现跑男动画
先看效果:代码实现:import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import andr原创 2015-08-04 13:54:09 · 1929 阅读 · 1 评论 -
Butterknife框架导致Android 项目中有隐藏代码文件
Butterknife框架导致Android 项目中有隐藏代码文件。前两天接手了一个项目。结果项目出现红叉。整观项目却没有任何错误。通过Ctrl + Shift + G 查看调用的时候。指向了一个隐藏代码文件。但是在工程包结构下却没有该类。 原来Android工程项目中还存在隐藏代码文件之说。分析其原因:是上个哥们使用了Butterknife框架。进行了视图注入原创 2015-07-31 09:31:07 · 924 阅读 · 0 评论 -
带有分割线的GridView九宫格的完美实现
今天我们来模仿一下支付宝钱包首页中带有分割线的GridView,俗称九宫格。先上图,是你想要的效果么?如果是请继续往下看。 我们都知道ListView设置分割线是非常容易的,设置ListView的分割线颜色和宽度,只需要在布局中定义android:di原创 2015-09-15 11:16:07 · 1782 阅读 · 0 评论 -
自定义checkbox 样式
有些时候需要根据项目需求自定义CheckBox 的样式,步骤如下:1.首先在drawable文件夹中添加drawable文件my_checkbox.xml 2.在values文件夹下的styles.xml文件中添加CustomCheckboxTheme样式 @drawable原创 2015-10-22 14:29:53 · 861 阅读 · 0 评论 -
QQ第三方登陆-极简版
最近用到QQ第三方登陆,其实仅仅对于第三方登陆而言,用到的东西不多,也就是简化用户注册的烦恼而已。就搞个超级简化版吧,代码不多,几百行而已。先看效果,再看代码 主函数:package com.maple.login;import org.json.JSONException;import org.json.JSONObject;i原创 2015-12-15 11:54:42 · 1560 阅读 · 0 评论 -
商城app_购物车
最近的项目,用到了商城系统,现在把购物车模块抽取一下,搞个Demo先看效果:原创 2015-12-31 13:45:42 · 1344 阅读 · 0 评论 -
分段式RadioGroup
最近项目有个单选按钮,不过比开关多一个选项, 单选按钮,分一选一,二选一,三选一,四选一。。。。一选一,用CheckBox。 见我另一片博:http://blog.csdn.net/shao941122/article/details/49333139 二选一,用开关按钮 多选一,就用这个分段式RadioGroup了先看效果,后看代码有些大神已经看出来了,这个改写的GitHub上的项目。原创 2015-12-16 11:56:51 · 847 阅读 · 0 评论 -
横竖屏切换问题
一、禁止横竖屏转换Android横竖屏切换在手机开发中比较常见,很多软件在开发过程中为了避免横竖屏切换时引发不必要的麻烦,通常禁止掉横竖屏的切换,通过在AndroidManifest.xml中设置activity中的android:screenOrientation属性值来实现。比如下列设置android:screenOrientation="portrait"//原创 2016-01-19 11:24:27 · 1145 阅读 · 0 评论 -
解决Android软键盘弹出引起的各种不适
在做输入信息页面的时候,经常会遇到键盘挡住输入框或者将一些控件顶起的情况,android为此提供了一系列的的配置参数供选择,可以在androidmanufist.xml的对应Activity的windowSoftInputMode属性中进行配置:详细说明这四个参数: intSOFT_INPUT_ADJUST_NOTHING原创 2015-08-20 17:54:13 · 3648 阅读 · 0 评论 -
在Genymotion虚拟机上安装Google Apps
Genymotion 来自于 AndroVM 这个开源项目,基于 x86 和 VirtualBox,支持 OpenGL 加速,可以用于 Mac / Win / Linux 。然而最近发布的新版,新增了拖拽安装 apk功能,但是移除了 Google 市场。导致运行带有Google map 之类应用时提示下载安装不在赘述,只解决Genymotion模拟器不支持谷歌服务问题:原创 2016-05-11 16:06:56 · 6803 阅读 · 0 评论 -
2019 Google Developer Days
2019 Google Developer Days本文为2019 Google Developer Days大会内容总结。详情可参阅官网.AndroidAndroid 10新特性系统级暗黑模式详细信息请查看官网 https://developer.android.com/guide/topics/ui/look-and-feel/darktheme通知中的智能回复...原创 2019-09-25 11:26:45 · 444 阅读 · 0 评论