
Android基础
淼森007
生命不息,奋斗不止。
展开
-
Android中关于轨迹定位点去噪算法,使用简单
公司最近开发的项目需要在移动端进行轨迹点的去噪操作。本来吧,这个工作都是后台做的,基于能后台做移动端就不做的原则,一般这种算法工作就交给后台了。但这次由于一些特殊情况需要移动端直接做了。于是有了下面的抽稀算法,大家可以参考一下。我参考了如下文章,大家也可以看一下。https://juejin.cn/post/6844903943651196942好了,现在开始说我的内容,首先这逻辑是这样的,第一个点我们记录,第二个点和第一个点距离要在合理范围内,如果在,则第三个点直接可以记录;如果不在合理范围,第三原创 2020-12-14 16:36:06 · 3319 阅读 · 0 评论 -
Android中相册的实现
上次我写了一个关于MVC框架怎么用在项目里,相关基类的封装方法。其实就是为今天的这篇文章做准备。相册,也就是图片选择器,在我们的项目中用的还是比较多的。但就我了解,多数程序员还是通过引用第三方框架实现这个功能。但是如果UI有要求,或者我们自己有什么特殊需要,可能根本无法满足。所以今天我给大家带来自己做的相册。既给你一个完整的相册,也给你一套做相册的方法。同时我们可以从其中学到很多的知识点。在开始之前要说明一下,这个相册要依赖之前讲的MVC框架,所以有两种选择,一种是把那个框架先搭建好,然后无感复制粘原创 2020-05-24 11:48:01 · 6493 阅读 · 18 评论 -
Android单线程线程池的用法
我们日常的sqlite数据库操作,文件的读写操作,其实都很耗时。根据Android的规定,耗时操作不允许在主线程中进行,所以我们都会放到工作线程当中。但是这样就有可能存在同时操作的问题。我们就需要让我们的线程进行排队来操作。这里提供一种队列的实现方式--单线程线程池。首先我们要定义一个工具类/** * 单线程线程池获取 * @author WaterWood */public class SingleLineUtil { private static SingleLineUtil原创 2020-05-15 10:47:23 · 1550 阅读 · 0 评论 -
Android防止Handler造成内存泄漏的方法
Handler使用不当会造成Activity的内存泄漏,所以使用Handler应该按照如下写法private static class MyHandler extends Handler { private WeakReference<Context> reference; public MyHandler(Context context){ ...原创 2019-03-02 22:38:12 · 1090 阅读 · 0 评论 -
Android中TextView内容太长显示省略号的方法
有时候我们会遇到这样的需求,由于手机的屏幕有限,我们经常在列表页等不需要完整显示信息的页面只显示一行数据,多余的要在末尾加省略号。Android为我们提供了相应的方法,只要我们在TextView中加入以下属性,就可以实现末尾省略号。<TextView android:layout_width="0dp" android:layout_weight="1" and...原创 2019-03-05 09:26:31 · 1751 阅读 · 0 评论 -
Android单例模式的几个实现方式
这里我收集了一些单例模式的相关实现方式第一种 线程安全的单例模式public class Single { private static Single mInstance; public static Single getInstance(Context context){ if (mInstance == null){ syn...原创 2020-04-19 08:53:52 · 437 阅读 · 0 评论 -
Android中监听软键盘的显示和隐藏
最近公司做项目又出现一个新的需求,那就是根据软键盘弹出,在它的上方出现一个布局。所以搜了一下关于软键盘显隐的内容,找到了一个方法在这里记录一下,原文链接如下:https://blog.youkuaiyun.com/wuqingsen1/article/details/84760820首先是一个工具类public class SoftKeyBoardListener { private Vie...原创 2019-04-03 12:05:14 · 983 阅读 · 4 评论 -
Android中绘制虚线的方法
APP开发中我们经常会用到虚线的绘制,这里提供一种虚线绘制的方法首先drawable下编写一个xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color...原创 2019-04-04 16:56:51 · 1887 阅读 · 0 评论 -
Android开根号运算
开根号运算不记得?这里记录一下方便大家查看Math.sqrt(double aaa);原创 2019-06-26 16:04:11 · 4244 阅读 · 0 评论 -
Android软键盘上搜索按钮的显示
有时候我们发现有些软件的搜索框旁边是没有搜索按钮的,但是当点击它弹出软键盘的时候,我们可以看到软键盘上有一个搜索按钮,点击后和界面的搜索按钮是一个效果,很方便,而且节约界面的空间。那么这种功能如何实现。首先,我们要在EditText的布局中添加如下属性android:imeOptions="actionSearch"其次,我们在java代码中做搜索按钮点击的监听et_ser...原创 2019-06-26 16:07:25 · 3027 阅读 · 0 评论 -
Android更改桌面图标的方法
有时候我们会遇到这样的问题,我们的领导要求我们在节日的时候把APP中的各种图标和文案更换掉,比如双十一之类的时候。界面内的图标我们都不需要太过的关注,没什么问题,我想大多数同学都是会更换的。但是桌面的图标和名称真的是不会呀。没关系,这篇文章可以让你很轻松的修改桌面图标。首先我们需要在AndroidManifest.xml中修改如下代码<activity android:name="...原创 2019-07-01 15:55:19 · 4493 阅读 · 0 评论 -
Android识别图片中的颜色
识别图片中的颜色导入包implementation 'com.android.support:palette-v7:28.+'相关代码Palette.from(bmp).generate(new Palette.PaletteAsyncListener() { @Override public void onGenerated(Palette palette) {...原创 2019-07-02 10:19:44 · 3248 阅读 · 0 评论 -
Android中列表项内按钮点击失效问题
我们在创建列表的时候喜欢使用RecyclerView或者ListView,GridView.它们都有项布局,但是项布局中如果我们有类似Button或者EditText的控件时,往往会出现抢夺焦点的问题,造成无法使用,我们可以在项布局的根布局中,加入如下属性android:descendantFocusability="blocksDescendants"这样就可以解决这个问题了。...原创 2019-07-02 10:32:11 · 1188 阅读 · 0 评论 -
Android去掉ListView或者GridView的默认点击效果
去掉ListView和GridView的默认点击效果gv_home.setSelector(new ColorDrawable(Color.TRANSPARENT));原创 2019-07-04 10:43:03 · 1194 阅读 · 0 评论 -
Android Handler消息发送,子线程发消息执行UI操作
我们都知道,网络请求要在子线程中执行,那么它的成功和失败回调自然也是在对应子线程当中的。但是我们请求回来网络信息后势必存在UI更新的问题。那么我们如何在子线程中执行主线程操作。我们可以使用Handler。在子线程中Message message = new Message();message.what = HANDLE_MSG;Bundle bundle = new Bundle()...原创 2019-07-04 10:47:48 · 1159 阅读 · 0 评论 -
Android全局崩溃捕获
今天出了一个需求,由于APP有很多问题,尤其是崩溃,很让人头疼,所以需要可以把崩溃捕获的一个机制,然后将错误信息上传后台。这种情况我们会接入第三方,比如bugly,友盟等。但是让人头疼的是这是一个内网环境,也就是说没办法接外网,像bugly之类的第三方SDK都是要把错误日志上传到第三方的服务器的。下面是我在网上找的方案。https://blog.youkuaiyun.com/wxx_csdn/articl...原创 2019-11-25 14:27:19 · 758 阅读 · 0 评论 -
Android中EventBus的用法
我们在Fragment和Activity通讯,或者Adapter和Activity通讯,有时候可能大家会用到广播,不过很多开发者肯定还听说过另一个库,就是EventBus,这是一个消息分发类,可以实现进程内的通讯。添加依赖compile 'org.greenrobot:eventbus:3.0.0'定义消息事件类public class MessageEvent{ pr...原创 2019-07-11 15:21:16 · 1020 阅读 · 0 评论 -
Android中停顿一时间后执行某操作
有时候我们需要让程序停顿一小段时间后执行某个操作,比如停顿三秒。用下面的方法可以实现该功能。new Handler().postDelayed(new Runnable() { @Override public void run() { lazyLoad(); }}, 1000);其中lazyLoad()就是我们停顿了一秒之后要执行的方法。...原创 2019-07-12 14:35:26 · 2032 阅读 · 4 评论 -
Android中实现自定义弹框
在开发中,UI总是设计出各种好看的弹框给我们,希望我们使用这些好看的弹框,制作出好看的APP界面,这里就给大家提供一种自定义弹框的方法。Activity的布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" ...原创 2019-07-12 14:38:07 · 1429 阅读 · 0 评论 -
Android 利用OkHttp进行文件下载操作
上回我的博客中讲了如何使用OkHttp封装一套自己的网路请求框架,这次说说文件下载。其实我们APP中还是很多地方会用到文件下载的。比如版本更新的时候,比如图片本地缓存的时候,都会用到文件下载,那么我们如何使用这个功能呢?首先我们要引入框架implementation 'com.squareup.okhttp3:okhttp:3.6.0'接着创建类DownloadUtil.java,...原创 2019-07-23 16:22:09 · 6372 阅读 · 2 评论 -
Android动态监测网络状态变化
最近小伙伴遇到一个问题。公司的APP中需要程序随时注意网络状态的变化,一旦变化就要弹框提醒,这可愁坏了他,于是让我帮忙找一下相关的方法。这里我就贴出来对应的方法供大家使用,同时也作为自己的一份记录。获取当前网络状态,这个我们也可以单独使用,比如做某个操作的时候需要判断网络状态public class NetworkUtil { public static final int TYP...原创 2019-07-12 14:41:30 · 866 阅读 · 0 评论 -
Android 打开APK的方法
主要代码如下private void startInstall(String filePath){ //分别进行7.0以上和7.0以下的尝试 File apkfile = new File(filePath); if (!apkfile.exists()) { return; } Intent intent = new Intent(In...原创 2019-07-23 16:23:27 · 3357 阅读 · 0 评论 -
Android中屏幕开关的动态监听
公司又出新花样,一个APP应用要求能够根据屏幕的熄灭和亮起进行一些操作。作为只有提不出的需求没有解决不了的问题的原则,我找到了通过广播实现监听屏幕亮起熄灭的方法。留在这里供大家使用。Activity动态注册广播public class MainActivity extends BaseActivity{ private MyBRReceiver myReceiver; ...原创 2019-07-12 14:44:16 · 1035 阅读 · 0 评论 -
Android中PopupWindow在相对点击控件位置显示
有时候我们需要在指定的位置显示一个弹框,可能是一个按钮长按后出现,可能是一个事件触发后在某个固定位置出现。这时候我们就需要用到PopupWindow来显示相应的弹框了。Activity的布局 activity_main.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http...原创 2019-08-05 15:59:04 · 892 阅读 · 0 评论 -
Android中BottomSheetDialog使用方法(底部弹出的Dialog)
大家都知道IOS的很多菜单都是从底部弹出的,这种展示方式还是很好看的,而丑爆的Android默认弹框一直都是大家一定要摒弃的,那么我们Android如何做出相应效果的弹框。下面我们就介绍这种做法。底部弹出框布局 dialog_goods_sku_layout.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout...原创 2019-08-05 16:03:11 · 8521 阅读 · 0 评论