android
文章平均质量分 86
Mo-Sun
来一波大跳
展开
-
Android 使用 jni Demo示例
Android 使用JNI 基础流程原创 2022-12-10 18:26:20 · 1473 阅读 · 2 评论 -
Kotlin 版 天气客户端
## 介绍---完善自己开发的开源框架,丰富业余时间## 简介1. 天气客户端2. 自定义:晴天、阴天、多云、雨天、雪天、雨夹雪、雾、霾、风、沙等天气动态背景利采用 `MVP` + `okhttp3` + `RxJava` + `Retrofit` + `EventBus` 等架构设计的项目,项目代码结构清晰并且有详细注释 。## API[**和风天气 开放 API**](https://dev.qweather.com/)...原创 2021-06-16 14:44:09 · 562 阅读 · 0 评论 -
Service starting has been prevented by iaware or trustsbase sInfo ServiceInfo 解决方法
问题:ActivityManager: Service starting has been prevented by iaware or trustsbase sInfo ServiceInfo{c50ea35 xxx.xxx.xxx.ServiceName}问题描述,该问题再华为部分手机升级到Android 10.1之后,启动服务会遇到该问题。解决方法:启动的时候加个延时就可new Handler().postDelayed(new Runnable() { @Overri原创 2020-07-18 10:25:26 · 3525 阅读 · 4 评论 -
自定义系统电池,自定义系统信号强度,自定义系统状态栏
介绍---1. 自定义系统状态栏,时间,电量,信号强度实时更新 自定义主题2. 自定义电量图标(低电量变红)2. 自定义信号强度图标(自定义信号大小颜色等)github示例可下载APK直接体验Demo一、自定义系统状态栏,时间,电量,信号强度实时更新注册广播/** * 注册广播监听 */ public void registerStatusBarReceiver() { mContext.registerRec..原创 2020-07-15 16:16:53 · 679 阅读 · 0 评论 -
视图滑动器,横向滑动,纵向滑动,画廊,基于RecyclerView的可滚动列表的实现,其中选中项居中,并且可以使用滑动来更改
该库是基于RecyclerView的可滚动列表的实现,其中选中项居中,并且可以使用滑动来更改。介绍1. 可设置横向滑动,纵向滑动。2. 选中项居中。3. 可设置无限滑动。4. 滑动到指定item。5. 内有滑动动画,可设置滑动动画时长。先上代码:HorizontalView示例使用说明添加jitpack库// build.gradle(Project:)allprojects { repositories { ... ..原创 2020-06-30 17:32:57 · 709 阅读 · 0 评论 -
高拓展高自定义性TitleBar,完美替代Android系统默认
自定义标题栏布局,沉浸式支持,标题栏图片背景,可自定义等TitleBar 直通车介绍支持自定义标题栏布局,支持XML中直接以子布局编写 支持自定义前景布局,如显示Loading效果 支持自定义背景布局,如图片等 支持自定义底部分割线,可以投影效果显示在外部 支持自适应状态栏暗亮色图标模式,可实时动态刷新示例图片集成方式allprojects { repositories { ... maven { url 'https://www.jitpac...原创 2020-06-22 15:29:24 · 291 阅读 · 0 评论 -
Android 文件选择器,指定选择文件夹还是文件,根据后缀名过滤,支持多选
Android 文件选择器,指定选择文件夹还是文件,根据后缀名过滤,支持多选### 介绍1. 可指定选择文件夹还是文件,选择显示文件也可指定后缀名显示获取连接2. 可通过扫描全盘的方式,选择指定后缀名的文件3. 支持多选。4. 支持Activity、FragmentFileSelector 直通车### 用法```allprojects { repositories { ... maven { url 'https://www.jit.原创 2020-06-22 15:09:48 · 2773 阅读 · 9 评论 -
Android SDK开发,解决生成aar包并在其他工程引用aar包
解决思路:解析引用的aar合并到自己的aar里面,只生产一个aar第一步: Apply plugin添加以下代码到你工程根目录下的build.gradle文件中:buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:xxx' classpath 'com.kezong:..原创 2020-05-20 22:49:32 · 2560 阅读 · 0 评论 -
Android对程序app前后台监控
app在前台还是后台的判断有很多种,如:1.在BaseActivity中对Activity的进行保存管理,可以通过根据当前的所有Activity的状态来判断应用是否是在前台显示。2.在application中注册registerActivityLifecycleCallbacks()的回调,通过回调来判断是否在前台3.通过获取系统ActivityManager来判断。4.其他方法p...原创 2019-09-30 10:08:31 · 892 阅读 · 0 评论 -
常见Android面试题及答案(详细整理)
以下是一些常用的Android面试题及答案,有需要没需要都可以备着,希望能帮到大家。 1. 请描述一下Activity 生命周期。答: 如下图所示。共有七个周期函数,按顺序分别是: onCreate(), onStart(), onRestart(), onResume(), onPause(),onStop(), onDestroy()。onCreate(): 创建Acti...转载 2018-10-25 11:28:55 · 1045 阅读 · 0 评论 -
Activity与Fragment生命周期探讨
一.Activity生命周期探讨图1.Activity生命周期其实这张图已经说明了activity的生命周期,但是在这里需要的注意的是,(1)onCreat是activity正在被创建,也就是说此时的UI操作不会更新UI,比如setText操作,所以此时在子线程调用setText不会报线程错误。详解可见Android子线程更新View的探索,在这个方法内我们可以做一些初始化工作。(2)onRest...原创 2018-05-16 14:13:49 · 408 阅读 · 0 评论 -
Android内存优化-内存泄漏的几个场景以及解决方式
一.什么是内存泄漏在Java程序中,如果一个对象没有利用价值了,正常情况下gc是会对其进行回收的,但是此时仍然有其他引用指向这个活在堆内存中的对象,那么gc就不会认为这个对象是一个垃圾,那么就不会对其进行回收,所以它会一直活在堆内存中占用内存,这就导致了内存泄漏。总结一下,导致内存泄漏的原因就是有一些我们永远不会使用的对象,仍然有引用指向它(当然这是在强引用的情况下),那么就不满足gc回收的条件,...转载 2018-05-08 18:13:03 · 269 阅读 · 0 评论 -
MVC与MVP架构特点与区别-android
> MVC/MVP View强依赖于Model是MVC的主要问题。由此导致很多控件都是根据业务定制,从Android的角度来看,原本可以由一个通用的layout就能实现的控件,由于要绑定实体模型,现在必须要自定义控件,这导致出现大量不必要的重复代码。因此有必要将View和Model进行解耦,而MVP的主要思想就是解耦View和Model。由此引入MVP就显得很自然。TheMVP- http...转载 2018-05-08 18:04:31 · 212 阅读 · 0 评论 -
教你认清MVC,MVP和MVVM三种模式
相信大家对MVC,MVP和MVVM都不陌生,作为三个最耳熟能详的Android框架,它们的应用可以是非常广泛的,但是对于一些新手来说,可能对于区分它们三个都有困难,更别说在实际的项目中应用了,有些时候想用MVP的,代码写着写着就变成了MVC,久而久之就对它们三个的选择产生了恐惧感,如果你也是这样的人群,那么这篇文章可能会对你有很大的帮助,希望大家看完都会有收获吧!文章重点:(1)了解并区分MVC,...转载 2018-05-08 18:03:52 · 316 阅读 · 0 评论 -
Redis简介以及和其他缓存数据库的区别
相关文章:Centos7.0 安装Redis 3.2.1详细过程和使用常见问题Redis简介Redis 是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(Strings),散列(Hashes),列表(Lists),集合(Sets),有序集合(Sorted Sets或者是ZSet) 与范围查询, Bitmaps,Hyperloglogs 和...转载 2018-05-08 18:01:10 · 145 阅读 · 0 评论 -
MyBatis 和 Hibernate 的相同和不同处,以及实用场景
Mybatis技术特点:1、 通过直接编写SQL语句,可以直接对SQL进行性能的优化;2、 学习门槛低,学习成本低。只要有SQL基础,就可以学习mybatis,而且很容易上手;3、 由于直接编写SQL语句,所以灵活多变,代码维护性更好。4、 不能支持数据库无关性,即数据库发生变更,要写多套代码进行支持,移植性不好。5、 需要编写结果映射。Hibernate技术特点:1、 标准的orm框架...原创 2018-04-26 10:05:48 · 491 阅读 · 0 评论 -
**Tcp/Ip ** 了解一下
其实tcp/ip都是网络协议,有一个OSI模型,总共有7层,ip在网络层,tcp在传输层,udp也是。网络层是分割和重新组合数据包Packet,基于网络层地址(IP地址)进行不同网络系统间的路径选择,传输层把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。在xxx项目开发聊天功能时用到socket聊天,有用到tcp/udp这样的协议。在项目开发中用的最多的还是http/...原创 2018-04-24 13:56:48 · 166 阅读 · 0 评论 -
内存溢出和内存泄漏的区别、产生原因以及解决方案
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out...转载 2018-03-06 10:27:08 · 1421 阅读 · 0 评论 -
获得android手机的CPU核心数
//CPU个数private int getNumCores() { //Private Class to display only CPU devices in the directory listing class CpuFilter implements FileFilter { @Override public boolean accep原创 2014-07-21 12:59:04 · 1037 阅读 · 0 评论 -
android权限
常用权限:读写存储卡装载和卸载文件系统android.permission.WRITE_EXTERNAL_STORAGEandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.MOUNT_UNMOUNT_FILESYSTEMS网络连接android.permission原创 2014-07-21 12:53:01 · 601 阅读 · 0 评论 -
手机信息
获取手机屏幕高度 [java] view plaincopyprivate void getWeithAndHeight(){ //这种方式在service中无法使用, DisplayMetrics dm = new DisplayMetrics(); getWindowManager().g原创 2014-07-21 12:55:15 · 753 阅读 · 0 评论 -
Android开发之四大组件——Service
一、Service简介Service是android系统中的四大组件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的级别差不多,区别是Service只能运行在后台不提供用户界面,并且可以和其他组件进行交互。一个Service是一个可以长期运行在后台的应用程序组件,不提供用户界面。 另一个应用程序组件可以原创 2014-07-21 13:02:53 · 703 阅读 · 0 评论 -
android 应用升级 下载安装包 完成后 自动安装apk文件
安装APK代码如下:[java] view plaincopyprint?String str = "/CanavaCancel.apk"; String fileName = Environment.getExternalStorageDirectory() + str; Intent intent = new Intent(Intent.ACTION_VIE原创 2014-08-08 13:04:38 · 3350 阅读 · 0 评论 -
android获取手机信息
1.获取手机安装的应用信息(排除系统自带):原创 2014-08-20 11:18:49 · 561 阅读 · 0 评论 -
Android应用自动更新功能的实现!!! .
大家好,发现半年没有更新博客了,最近一直都比较忙,决定在凌晨 英超 阿森纳VS富勒姆 中场休息的时候,给大家分享Android里应用版本更新功能这一块的实现。一个好的应用软件都是需要好的维护,从初出版本到最后精品,这个过程需要版本不停的更新,那么如何让用户第一时间获取最新的应用安装包呢?那么就要求我们从第一个版本就要实现升级模块这一功能。自动更新功能的实现原理,就是我们事先和后台协商好一个原创 2014-08-08 11:55:37 · 606 阅读 · 0 评论 -
Android用Apache HttpClient 实现POST和Get请求
类 : org.apache.http.client.HttpClient;1. GET实现Java代码 package com.yarin.android.Examples_08_02; import java.io.IOException; import org.apache.http.HttpResponse; imp原创 2014-09-20 16:33:51 · 582 阅读 · 0 评论 -
ViewDragHelper详解
2013年谷歌i/o大会上介绍了两个新的layout: SlidingPaneLayout和DrawerLayout,现在这俩个类被广泛的运用,其实研究他们的源码你会发现这两个类都运用了ViewDragHelper来处理拖动。ViewDragHelper是framework中不为人知却非常有用的一个工具。ViewDragHelper解决了android中手势处理过于复杂的问题,在Drawe转载 2015-08-14 16:35:09 · 528 阅读 · 0 评论 -
你还在用notifyDataSetChanged?
帖子中讲述的项目使用了listView这个控件,而且自定义了adapter。在更新item的进度条时发现每次使用notifyDataSetChanged(),都会去调用自定义adapter中的getView方法。这时问题就出现了,用notifyDataSetChanged方法去更新listView中的item,是更新需要更新的Item呢?还是更新所有的item呢?如果是更新所有的item那么效率不原创 2015-08-14 16:40:01 · 557 阅读 · 0 评论 -
Android 动画总结
在日常的Android开发中,经常会使用到动画,这里就对Android开发中的动画做一下总结。Android 动画分类总的来说,Android动画可以分为两类,最初的传统动画和Android3.0 之后出现的属性动画;传统动画又包括 帧动画(Frame Animation)和补间动画(Tweened Animation)。传统动画帧动画帧动画是最容易实现原创 2016-10-26 17:56:19 · 1436 阅读 · 1 评论 -
Androidhttp请求加密机制详解
Android开发中,难免会遇到需要加解密一些数据内容存到本地文件、或者通过网络传输到其他服务器和设备的问题,但并不是使用了加密就绝对安全了,如果加密函数使用不正确,加密数据很容易受到逆向破解攻击。还有很多开发者没有意识到的加密算法的问题。1、需要了解的基本概念 密码学的三大作用:加密( Encryption)、认证(Authentication),鉴定(Identif原创 2016-11-09 11:59:33 · 12227 阅读 · 3 评论 -
Bitmap使用时候注意什么?
1. 使用decodeStream获取Bitmap ImageView.setImageBitmap、ImageView.setImageResource、BitmapFactory.decodeResource: 通过Java层的createBitmap完成,消耗更多内存 BitmapFactory.decodeStream: JNI >> nativeDecodeAsset...转载 2018-03-06 10:23:38 · 1508 阅读 · 0 评论 -
OOm是否可以try catch
只有在一种情况下,这样做是可行的:在try语句中声明了很大的对象,导致OOM,并且可以确认OOM是由try语句中的对象声明导致的,那么在catch语句中,可以释放掉这些对象,解决OOM的问题,继续执行剩余语句。但是这通常不是合适的做法。Java中管理内存除了显式地catch OOM之外还有更多有效的方法:比如SoftReference, WeakReference, 硬盘缓存等。在JVM用光内存之...翻译 2018-03-06 10:25:24 · 7889 阅读 · 0 评论 -
Android应用如何监听自己是否被卸载及卸载反馈功能的实现
一方案: 1,注册BroadcastReceiver,监听"android.intent.action.PACKAGE_REMOVED"系统广播 结果:NO。未写代码,直接分析,卸载的第一步就是退出当前应用的主进程,而此广播是在已经卸载完成后才发出的,此时主进程都没有了,去哪onReceive()呢? 2,若能收到"将要卸载XX包"的系统广播,在主进程被退出之前就抢先进行反馈处理就原创 2014-07-21 12:56:36 · 685 阅读 · 0 评论