android
bobob_
这个作者很懒,什么都没留下…
展开
-
EventBus多种模式解释
POSTING (默认值默认方式) 订阅者将在发布事件的同一线程中直接调用。这是默认值。活动交付 意味着开销最少,因为它避免了线程的完全换。因此,这是推荐的模式可以在很短的时间内完成而无需主线程的简单任务。事件处理程序使用此模式必须快速返回以避免阻塞发布线程,该线程可能是主线程。MAIN在Android上,订阅者将在Android的主线程(UI线程)中被调用。如果发布线程是主线程中,订阅者方法将被直接调用,从而阻止发布线程。否则的事件已排队等待交货(非阻塞)。使用此模式的订户必...原创 2021-06-23 22:28:57 · 303 阅读 · 0 评论 -
Mock Location
允许模拟位置boolean isOpen = Settings.Secure.getInt(context.getContentResolver(),Settings.Secure.ALLOW_MOCK_LOCATION, 0) != 0;打开时,值是1,关闭时,值是0原创 2020-07-19 00:11:58 · 1233 阅读 · 0 评论 -
activity超过几秒会crash
Android超过下在下面时间就会Crashactivity 5 broadcastRevice 10 service 20原创 2020-06-28 09:24:12 · 274 阅读 · 0 评论 -
android Gradle 环境
默认原创 2020-06-28 09:20:12 · 174 阅读 · 0 评论 -
Android 内存优化
布局 viewStub延迟加载中listview include 在其它布局在下一级 merge 和其它布局同级 inputStream 记得关毕流 StringBuffer代替String原创 2020-06-27 15:52:09 · 203 阅读 · 0 评论 -
intent传递数据时为什么要继承parceable或serializeble接口,而且没有实现任何方法
1)永久性保存对象,保存对象的字节序列到本地文件中;2)通过序列化对象在网络中传递对象;3)通过序列化在进程间传递对象Android中实现序列化有两个选择:一是实现Serializable接口(是JavaSE本身就支持的),一是实现Parcelable接口(是Android特有功能,效率比实现Serializable接口高效,可用于Intent数据传递,也可以用于进程间通信(IPC))。实现Serializable接口非常简单,声明一下就可以了,而实现Parcelable接口稍微复杂一些,.原创 2020-06-27 15:40:00 · 327 阅读 · 0 评论 -
android 生在签名
第一步 :生成keystore keytool -genkey -alias abc.keystore keytool -genkey -alias Gallery.keystore -keyalg RSA -validity 20000 -keystore Gallery.keystore 在jdk的目录下会生成一个keystore文件第二步 :用jarsigner签名apk(md5) 在YiDingSportsKeyStore.jks目录下运行...原创 2020-06-27 15:25:36 · 131 阅读 · 0 评论 -
Hander
和AsynckTask相似sendEmptyMessageDelayed();延迟发送removeCallbacksAndMessages();删除handler所有消息,比如按下不轮播原创 2020-06-27 15:22:53 · 186 阅读 · 0 评论 -
android 控制对话框位置
window =dialog.getWindow();// 得到对话框的窗口.WindowManager.LayoutParams wl = window.getAttributes();wl.x = x;//这两句设置了对话框的位置.0为中间wl.y =y;wl.width =w;wl.height =h;wl.alpha =0.6f;// 这句设置了对话框的透明度...原创 2020-06-27 15:22:09 · 329 阅读 · 0 评论 -
android 模拟器错误
1、找到android模拟器安装目录:C:\Documents and Settings\Administrator\.android\avd\AVD23.avd2、编辑config.ini文件,就是这块配置错误导致错误产生。3、如果硬盘空间比较紧张,可以把模拟器文件放到其它盘符上:你可以在命令行下用mkcard创建一个SDCARD文件,如: mksdcard 50M D:\sdcard.img4、下面代码可以整个覆盖原来的config文件 hw.sdCard=yes hw.lcd.densit原创 2020-06-27 15:21:18 · 383 阅读 · 0 评论 -
android 挪动dialog的位置
Window mWindow = dialog.getWindow();WindowManager.LayoutParams lp = mWindow.getAttributes();lp.x = 10; //新位置X坐标lp.y = -100; //新位置Y坐标dialog.onWindowAttributesChanged(lp);原创 2020-06-27 15:20:47 · 307 阅读 · 0 评论 -
android 判断网络状态
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />private boolean getNetWorkStatus() { boolean netSataus = false; ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_S...原创 2020-06-27 15:19:54 · 542 阅读 · 0 评论 -
android 调节屏幕亮度
public void setBrightness(int level) {ContentResolver cr = getContentResolver();Settings.System.putInt(cr, "screen_brightness", level);Window window = getWindow();LayoutParams attributes = window.getAttributes();float flevel = level;attributes.原创 2020-06-27 15:17:28 · 286 阅读 · 0 评论 -
BitMap、Drawable、inputStream及byte[] 互转
(1) BitMap to inputStream: ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.PNG, 100, baos); InputStream isBm = new ByteArrayInputStream(baos .toByteArray());(2)BitMap to byte[]: Bitm...原创 2020-06-27 15:11:20 · 239 阅读 · 0 评论 -
Android整点报时
/** * 整点报时 */ private void initTimePrompt() { IntentFilter timeFilter = new IntentFilter(); timeFilter.addAction(Intent.ACTION_TIME_TICK); registerReceiver(mTi...原创 2020-05-05 20:09:32 · 1121 阅读 · 0 评论 -
Edit configruation
</content><orderEntry type="inheritedJdk" /><orderEntry type="jdk" jdkName="Android API 26 Platform" jdkType="Android SDK" />原创 2020-05-05 15:21:33 · 225 阅读 · 0 评论 -
com.android.application' not found.”错误
出现此问题原因是在studio中导入了项目(导入project方式)如果编译时出现“ERROR: Plugin with id 'com.android.application' not found.”错误,请在build.gradle文件中添加以下代码。buildscript { repositories { google() jcenter()...原创 2020-05-05 13:51:54 · 5815 阅读 · 0 评论 -
身份证校验
/** * 身份证号码的格式:610821-20061222-612-X * 由18位数字组成:前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码, * 第18位为校验码。检验码分别是0-10共11个数字,当检验码为“10”时,为了保证公民身份证号码18位,所以用“X”表示。虽然校验码为“X”不能更换,但若需全用数字表示,只需将18位公民身份号码转换成15位居民身份证号...原创 2020-04-28 06:43:35 · 497 阅读 · 1 评论 -
android All
ActivityActivity的概念一个Activity通常对应一个能与用户交互的UI(用户界面)Activity分类FragmentActivityListActivityTabActivity...还会自己定义一个Basectivity.Activity与View的区别Activity是四大组件中唯一一个用来和用户进行交互的组件。可以说Activity就是a...原创 2020-04-27 22:05:09 · 1599 阅读 · 0 评论 -
Please select Android SDK
加上这句完美搞定<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">或<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">还可以试试改下compileSdkVersion 27defaultC...原创 2020-01-06 23:49:58 · 439 阅读 · 0 评论 -
工具类
https://github.com/l123456789jy/Lazyhttps://github.com/l123456789jy/Lazyhttps://github.com/570622566/FastAndrUtilshttps://github.com/pan2yong22/AndroidUtilCode-master原创 2020-01-04 23:00:15 · 110 阅读 · 0 评论 -
APP工具类
public final class AppUtils { private static final boolean DEBUG = true; private static final String TAG = "AppUtils"; /** * Don't let anyone instantiate this class. */ pr...原创 2020-01-04 22:55:31 · 183 阅读 · 0 评论 -
实现的Zip工具
public class ZipUtil{ private static final int BUFF_SIZE = 1024 * 1024; // 1M Byte private static boolean stopZipFlag; public static boolean isStopZipFlag() { return stopZipFlag;...原创 2020-01-04 22:47:39 · 155 阅读 · 0 评论 -
安卓实战之app开机自启
开机自动启动app的实现是比较简单的,监听一个开机广播即可。当监听到开机广播后打开想要启动的app即可,具体实现如下:1. 创建广播接收器:BootBroadcastReceiver。package com.losileeya.bootstart;import android.content.BroadcastReceiver;import android.content.Cont...原创 2020-01-03 22:41:06 · 522 阅读 · 0 评论 -
java中方法回调
onResult为方法回调RecognizeService.recGeneral(this, FileUtil.getSaveFile(getApplicationContext()).getAbsolutePath(), new RecognizeService.ServiceListener() { @Override ...原创 2019-12-15 21:28:16 · 303 阅读 · 0 评论 -
Android中文件的读写---assets和raw下的资源文件
介绍assets目录(app_ame\module_name\src\main\assets)和raw目录(app_ame\module_name\src\main\res\raw)下的资源只能读取,不能写入,资源文件在打包后会原封不动的保存在apk包中,不会被编译成二进制文件,可以存放音频,视频文件,文件的大小被限制在1M以下,推荐放入assets目录下。二者的不同点在于:res/ra...原创 2019-12-08 22:21:34 · 795 阅读 · 0 评论 -
studio中新建assert文件
New -- Folder -- Asserts Folder原创 2019-12-08 22:01:10 · 312 阅读 · 0 评论 -
INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 解决方案
把启动Acitivty改为小写即可原创 2019-12-08 21:39:38 · 311 阅读 · 0 评论 -
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2
报错Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2在gradle.properties中加入android.enableAapt2 = false原创 2019-12-08 21:28:14 · 1053 阅读 · 0 评论 -
Gradle 命令大全
注意:在window下可以直接运行gradlew如果是Linux 或者 mac 命令为./gradlew# 开启并行编译org.gradle.parallel=true# 开启守护进程org.gradle.daemon=true# 按需编译org.gradle.configureondemand=true# 设置编译jvm参数org.gradle.jvmargs=-X...原创 2019-11-27 23:19:53 · 552 阅读 · 0 评论 -
Android studio Unable to start the daemon process (绝对有效)
1.在C:\Users\xx\.gradle 文件夹下新建一个文本文档(注:不能有后缀名)可以名为如图所示1.:org.gradle.jvmargs=-Xmx512morg.gradle.daemon.performance.enable-monitoring=false2.在新建的 系统变量里变量名 _JAVA_OPTIONS变量值 -Djava.net.prefe...原创 2019-11-25 23:56:06 · 275 阅读 · 0 评论 -
如何获取控件id,包名,类名
在测试app中最长见的就是获取包名或一些界面名称,我总结了几种方法1. adb 中输入 adb logcat2.通过签名文件3.通过DDMS3.通过 adb shell pm list package4.adb shell Is -al/data/data5.Hierarchyviewer.bat5.通过自己写android应用记录开启应用的包名...原创 2018-08-04 20:46:55 · 1742 阅读 · 0 评论 -
please select android sdk
发现问题所在就是在model iml文件中:把<orderEntry type="inheritedJdk" />改成<orderEntry type="jdk" jdkName="Android API 26 Platform" jdkType="Android SDK" /> 除此之外还有几种方法可以1.菜单“File”——“Settings”原创 2018-08-09 17:23:17 · 185 阅读 · 0 评论 -
listView Tag使用
通常我们是用findViewById()方法来取得我们要使用的View控件,不过除了这一种方法之处 ,我们还可以用View中的setTag(Onbect)给View添加一个格外的数据,再用getTag()获取到对应的View。setTag()和getTag()方法常用在处理多个相同的View时,比如我们有要对几个Button添加点击事件,我们除了可以用view.getId()来区分Button,也...原创 2018-08-12 09:27:33 · 2200 阅读 · 0 评论 -
Android Studio 插件整理
插件整理 1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat2.Android ButterKnife Zelezny配合ButterKnife实现注解,从此不用写findViewById...原创 2018-08-12 09:29:38 · 230 阅读 · 0 评论 -
Android_开机启动流程
Android的开机流程 系统引导bootloader 源码:bootable/bootloader/* 说明:加电后,CPU将先执行bootloader程序,此处有三种选择 开机按Camera+Power启动到fastboot,即命令或SD卡烧写模式,不加载内核及文件系统,此处可以进行工厂模式的烧写 开机按Home+Power启动到...原创 2018-08-16 10:25:01 · 425 阅读 · 0 评论 -
DaggerXXXComponent找不到问题
1 . 项目build添加2.Mode build中添加 3.点构建4.这里还有一步很重的步骤,网上一大堆资料都没怎么提,你要添加 DaggerAppComponent,首先保证你是否写了AppComponent这个类,否则怎么可能找的到? ...原创 2018-09-09 10:50:20 · 7137 阅读 · 2 评论 -
Android原生定位
locationManager = (LocationManager) activity.getSystemService(Context.LOCATION_SERVICE);//获取服务locationManager.getProviders(true);//// true 代表从打开的设备中查找最主要的就是用网络定位,GPS定不到if (providers.contains(...原创 2018-09-12 16:28:43 · 2123 阅读 · 0 评论 -
屏幕适配相关
4.4.2 API 19 在使用 android.support.v7.widget.CardView的时候只显示了半5.1.1 API 22android.support.v7.widget.CardView可以正常显示6.0 API 23 也可以正常显示把CardView换成图片解决问题CardView继承于Framelayout,比FrameLayout...原创 2018-09-17 16:56:26 · 145 阅读 · 0 评论 -
Android权限问题
方法一:public void method(){ if (!checkPermission(activity, permission.ACCESS_COARSE_LOCATION)) { Toast.makeText(activity, "定位权限关闭,无法获取地理位置", Toast.LENGTH_SHORT).show(); }}private b...原创 2018-09-11 08:37:48 · 194 阅读 · 0 评论