- 博客(51)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 [几何] 计算任意多边形的面积、中心、重心
最近项目用到:在不规则任意多边形的中心点加一个图标。(e.g: xx地区发生暴雪,暴雪区域是多边形,给多边形中心加一个暴雪的图标)之前的设计是,计算不规则多边形范围矩形bounds的中心点。这个比较简单,对于一些圆,矩形,凸多边形都比较适合。但是遇到凹多边形就会出现问题,比如一个月牙型的不规则多边形,bounds的中心点,就落到月牙外了。就有点难以接受了。经过讨论,决定将中心改为重心。...
2016-12-15 16:17:31 36456 34
原创 [几何] 判断点是否在任意多边形内
最近项目用到:在Google map上判断事发地点,是否在管辖区域内。也就是典型的判断一个点是否在不规则任意多边形内的例子。但是Google Map没有提供相应的api,找资料发现百度地图提供了一个工具类,肿么办,为了一个工具类,加入百度地图吗,操蛋,这是不可能的!百度地图api链接:http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_7_......
2016-05-26 09:55:16 12276 36
原创 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
原创 [算法] 二叉树的层级遍历
二叉树的层级遍历解题思路:队列(先进先出)先将根结点 add插入到队列中。开启循环,poll取出头部结点,将该结点的左右孩子 add插入到队列尾部。每次循环为二叉树的一层。用左右孩子结点替换父亲结点。待队列为空,循环截止,遍历完整个二叉树。Tals is cheap, Show me the code.Java Code class TreeNode { ...
2019-08-18 14:11:05 410
原创 [算法] 两个质数的乘积是707829217,求解该质数
记录一次有趣的算法题。土生土长的北京妞儿,在胡同里长大,房不多,就一个四合院和近郊的别墅。不算美如天仙但还算标致,在清华读的经管,现在在做基金经理(不想被人肉,就不暴露单位啦) ,个人擅长基本面分析,价值投资。现在只想找个聪明靠谱的IT男。硬性要求是年龄,不要超过88年,还有不要特别矮或胖。我对智商的要求比较高,下面就出个题测试下。我的微信ID是大写字母NY后面跟着两个质数,大的在前,小的在...
2019-04-12 15:34:19 20729 10
原创 Android冷启动详解
Android冷启动详解冷启动:热启动:APP冷启动详解冷启动优化本文主要讲Android app 冷、热启动流程,已经启动优化。冷启动:当应用启动时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就叫做冷启动(后台不存在该应用进程)。冷启动因为系统会重新创建一个新的进程分配给它,所以会先创建和初始化Application类,再创建和初始化MainActiv...
2019-03-21 10:08:33 2824 1
原创 [控件] 高仿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
原创 Android DrawerLayout 和ViewPager滑动冲突解决
最近遇到项目整体是Activity搭配DrawerLayout的抽屉样式,在左侧抽屉的顶部,有一个ViewPager无限轮播。并要求ViewPager左滑下一页,右滑上一页,3秒自动轮播下一页,点击按住停止轮播。同时DrawerLayout的NavigationMenuView左滑打开,右滑关闭。滑动事件同时存在,手指滑动头部区域ViewPager响应,滑动其他区域DrawerLayout打开or...
2017-03-07 18:39:27 2387 1
原创 localytics的使用
最近公司在更换app分析软件,来收集每个功能的使用频率。之前用的fabric,但是fabric只能精确到天,领导层希望能精确到小时。此时,Localytics 就闪亮登场了。Localytics官网: https://dashboard.localytics.com其实Localytics还有很多功能。本文只说Events功能。也就是在程序中埋点,来监听某些方法
2017-02-21 13:58:38 1323
原创 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
原创 Google map获取手机屏幕当前显示地图的范围
在开发时,可能用到手机屏幕当前显示Google map的显示范围,也就是显示矩形四个顶点,怎么获取那?系统有提供的方法:VisibleRegionhttps://developers.google.com/android/reference/com/google/android/gms/maps/model/VisibleRegion
2016-09-22 18:21:21 2682
原创 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
原创 解决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
原创 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
原创 [工具]Mac电脑如何直接管理安卓手机内存文件
之前用windows时,管理android手机内存卡,拷贝个图片应用啥的比较简单。转战Mac之后,找了半天没找到如何管理手机内存文件。现在终于给找到好东西了,在Mac上直接就能打开手机内存卡。比用windows还简单。Android File Transfer-官网:http://www.android.com/filetransfer/使用:1、用USB连接手机到MA
2016-06-12 17:31:54 11022
原创 [几何]判断两个线段是否相交(多语言实现)
本文主要讲怎么判断两个线段是否相交 参考博客:http://www.geeksforgeeks.org/check-if-two-given-line-segments-intersect/http://www.cise.ufl.edu/~sitharam/COURSES/CG/kreveldintrolinesegment.pdfhttp://geomalgorithm...
2016-05-24 11:38:33 3518
原创 在Genymotion虚拟机上安装Google Apps
Genymotion 来自于 AndroVM 这个开源项目,基于 x86 和 VirtualBox,支持 OpenGL 加速,可以用于 Mac / Win / Linux 。然而最近发布的新版,新增了拖拽安装 apk功能,但是移除了 Google 市场。导致运行带有Google map 之类应用时提示下载安装不在赘述,只解决Genymotion模拟器不支持谷歌服务问题:
2016-05-11 16:06:56 6803
原创 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
原创 Android Studio 使用技巧
本文为综合版,实现windows与Mac结合对照。快捷键:ActionWin/LinuxMac OSX注释代码(//)Ctrl + /Cmd + /注释代码(/**/)Ctrl + Shift + /Cmd + Option + /格式
2016-04-08 10:17:07 3282 1
原创 service中获取sharedpreferences数据不同步
在某个地方通过context获取sharedpreferences对象,并进行存储数据后,在Activity中获取的sharedpreferences存储数据和在Service中获取的sharedpreferences存储数据不一致! 分析:在getSharedPreferences的时候mode使用的是MODE_PRIVATE,这种mode不支持Activity跟Servi...
2016-04-01 20:37:18 3364 1
原创 GitHub 上排名前 100 的 Android 开源库介绍
项目名称项目简介1. react-native这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开源框架 React Native, 该框架结合了 Web 应用和 Native 应用的优势, 可以使用 JavaScript 来开发 iOS 和 Android 原生应用2.Androi
2016-03-11 12:00:55 1612
翻译 给未来程序员的15个顶级职业建议
原文作者:Gayle Laakmann McDowellGayle Laakmann McDowell, Born and Raised as Myself113.2k Views · Upvoted by Herbert Lee, Software Engineer at Striiv and Hossam Ghareeb, 3 years
2016-03-11 11:50:58 3123 6
原创 解决Aanroid加载so库失败:java.lang.UnsatisfiedLinkError
在做项目的时候,经常使用到.so文件。有时明明在libs/armeabi目录下添加了对应的libgif.so文件,也在代码中调用了System.loadLibrary("gif");却报错:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/co
2016-03-01 11:53:11 26234 8
原创 为Android Studio 项目手动下载gradle
在网上下载的例子,导入Android Studio的时候,第一件事就是下载项目对应版本的gradle。gradle是一个主要面向Java应用的build工具,类似于大家熟知的eclipse下的Ant,但比Ant高级。Andriod Studio下载gradle的过程很慢,在运行./studio.sh的终端中可以看见进度:把终端中的网址复制下来,在浏览器中
2016-02-22 18:06:02 3086
原创 Android开发3D界面
trgepackage com.test.util; import com.dooya.activity.R; import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;imp
2016-01-27 18:05:05 1339
原创 PopupWindow上弹出另一个PopupWindow报异常解决办法
在做项目中用到在一个PopupWindow上点击某个按钮弹出另一个PopupWindow的功能。但是缺报错了:android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@44ef1b68 is not valid; is your activi
2016-01-27 17:57:14 3379 4
原创 横竖屏切换问题
一、禁止横竖屏转换Android横竖屏切换在手机开发中比较常见,很多软件在开发过程中为了避免横竖屏切换时引发不必要的麻烦,通常禁止掉横竖屏的切换,通过在AndroidManifest.xml中设置activity中的android:screenOrientation属性值来实现。比如下列设置android:screenOrientation="portrait"//
2016-01-19 11:24:27 1145
原创 打开和关闭蓝牙设备
在Android中,与蓝牙有关的类和接口在 android.bluetooth 包中。其中BluetoothAdapter是蓝牙中的核心类,代表本地的蓝牙适配器设备。BluetoothAdapter类让用户能执行基本的蓝牙任务。当我们使用蓝牙时会先判断当前手机是否打开了蓝牙,然后在进行相应的处理。简单来看蓝牙的开启和关闭:public class
2015-12-29 10:34:03 1346
原创 王师傅卖鞋进价30元甩卖20元,问亏多少的问题解析
今天中午看人发了一个小题目,兴趣突来,就算了算,先看题目: 王师傅是卖鞋的,一双鞋进价30元甩卖20元,顾客来买鞋给了张50,王师傅没零钱,于是找邻居换了50元。 事后邻居发现钱是假的,王师傅又赔了邻居50。请问王师傅一共亏了多少? (这道题目不简单,100个人有99人会算错)整理一下数据流 // 正常交易 【大骗子】给【王师傅】假50 【王师傅】给【好邻居】假
2015-12-18 14:12:14 6759
原创 分段式RadioGroup
最近项目有个单选按钮,不过比开关多一个选项, 单选按钮,分一选一,二选一,三选一,四选一。。。。一选一,用CheckBox。 见我另一片博:http://blog.csdn.net/shao941122/article/details/49333139 二选一,用开关按钮 多选一,就用这个分段式RadioGroup了先看效果,后看代码有些大神已经看出来了,这个改写的GitHub上的项目。
2015-12-16 11:56:51 847
原创 QQ第三方登陆-极简版
最近用到QQ第三方登陆,其实仅仅对于第三方登陆而言,用到的东西不多,也就是简化用户注册的烦恼而已。就搞个超级简化版吧,代码不多,几百行而已。先看效果,再看代码 主函数:package com.maple.login;import org.json.JSONException;import org.json.JSONObject;i
2015-12-15 11:54:42 1560
转载 10+年程序员总结的20+条经验教训
开发 1.从小事做起,然后再扩展 无论是创建一个新的系统,还是添加功能到现有的系统中,我总是从一个简单到几乎没有任何所需功能的版本启动,然后再一步一步地解决问题,直到满意为止。我从来没有妄想过能够一步登天。相反,我一边开发一边学习,同时新掌握的信息还可以用于解决方案中。 我很喜欢John Gall的这句话:“复杂系统总是源于简单系统的演化。” 2.一次只改变
2015-11-18 17:41:51 761
原创 Fragment 点击穿透 解决办法
在做项目,用activity+fragment 填充视图时,发现有些Fragment会存在点击穿透效果(就是底层的Fragment可以响应上层的触摸以及点击事件)但是当填充的Fragment的跟布局是ScrollView时就不会有这种现象。比如:当我们建立一个fragment A的时候需要点击跳转到fragment B中,为了返回时不重新加载fragment A所以我们会使
2015-11-10 14:06:11 2940
原创 Android 手机短信误删恢复
今天手贱把手机短信全选清空了,一秒后反应过来,有个通知开会的短信,入场需要二维码,而个人二维码连接在短信中。悲催。。。 既然是学计算机的,就恢复一下吧,记得挺简单的,但是老久没做了,现在总结一下 共两步: 1. 手机Root。 针对不同的手机,大家自己去ROOT, 2.查
2015-11-02 11:57:27 1465
原创 自定义checkbox 样式
有些时候需要根据项目需求自定义CheckBox 的样式,步骤如下:1.首先在drawable文件夹中添加drawable文件my_checkbox.xml 2.在values文件夹下的styles.xml文件中添加CustomCheckboxTheme样式 @drawable
2015-10-22 14:29:53 861
原创 [工具]asm.jar一款手机真机屏幕同步抓取软件
1 简介 Android Screen Monitor(asm.jar)一款同步手机真机屏幕到PC上的软件(屏幕实时抓取,有点小卡)2 开源地址 http://code.google.com/p/android-screen-monitor/3 使用步骤① 通过USB将你的手机连接到电脑② 将asm.jar文件拷贝到你的android
2015-10-12 18:01:59 1844 1
原创 Android实现拨打电话的两种方式
拨打电话需要添加权限:代码: /** * 拨打电话 */ private void callPhone() { // 1. 到了拨号界面,但是实际的拨号是由用户点击实现的。 Intent intent = new Intent(Intent.ACTION_DIAL); // 2. 对用户没有提示,直接拨打电话 // Intent inten
2015-10-08 18:10:40 2320
原创 带有分割线的GridView九宫格的完美实现
今天我们来模仿一下支付宝钱包首页中带有分割线的GridView,俗称九宫格。先上图,是你想要的效果么?如果是请继续往下看。 我们都知道ListView设置分割线是非常容易的,设置ListView的分割线颜色和宽度,只需要在布局中定义android:di
2015-09-15 11:16:07 1782
原创 纯音测听——实现定制固定分贝、频率的纯音
近期搞了一个纯音测听,所谓纯音测听就是医学领域测双耳听力最小听力的一种检测方法。需求是在Android手机端搞,但是有没有提供固定频率和分贝的声音。所以声音源方面是代码生成。 那么问题来了。如何用代码生成指定分贝和频率的纯音那? 这就要追寻声音的本源了。生活中我们听到的声音是一系列不同频率不同分贝声音的组合体。这里可以成为复合音,而测试需要使用纯音,所谓纯音就是固定频率的声波...
2015-09-09 10:13:45 7224 7
深入探索Android热修复技术原理
2019-02-25
Kotlin 语⾔⽂档
2019-02-25
分段式RadioGroup
2015-12-17
android 生成不同分贝和频率的纯音
2015-07-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人