android
mikejaps
这个作者很懒,什么都没留下…
展开
-
Android马甲包封装上架
最近做了一个Google Play马甲包上架,需求如下1:登录--采用原生开发,2,webview 展示3,webview调取原生拍照4,webview调取原生进行人脸识别5,webview事件搜集埋点6,webview事件调用原生实现文件上传7,webview调用原生进行权限申请及控制8,webview读取调用原生读取联系人信息,短信等整个开发周期30天,付款8k,有需要做马甲开发的也可以联系我,微信号giobiovvv...原创 2021-12-24 17:07:39 · 2806 阅读 · 0 评论 -
国内各个应用市场上线的注意事项
当前国内各个应用市场上线的审核要求还是存在一定差异1,相同点 1》都需要软著 2,》当应用需要登录时,需要提供测试账号 3》都需要用户在同意隐私协议前才能获取用户协议,用户权限都需要明确写在隐私协议里面,并注明为什么需要这些权限2,不同点 1》不通平台可能需要提供的应用运行截图尺寸不一样,并且小米平台需要在运行截图中不能出现第三方其他应用的图标 2》部分应用市场需要提供备案号及承诺函 3》桌面图标小米平台不能有透明留边...原创 2021-12-24 16:42:23 · 346 阅读 · 0 评论 -
Android APP物联网设备无网模式设计
1APP缓存APP缓存是为了支持APP和设备在没有网络的情况下任然可以使用,APP在启动时如果有网络会从平台缓存当前用户的所有数据,包括家庭,房间,设备,设备控制信息,场景信息等2双mqtt模式3在无网控制场景中,有些设备只有在有网络的情况下才能进行控制,另外一些设备支持无网操作。APP因此设计了2个mqtt的连接进行设备控制,一个是平台的mqtt,另外一个设设备网关的mqtt,APP根据网络情况可能同时连接到2个mqtt,也可能只连到其中一个,这样保证了无网和有网的情况都能进行设备控制4设原创 2021-12-24 16:32:08 · 2884 阅读 · 0 评论 -
Android 物联网基于WIFI tcp配网流程
Android APP物联网配网流程原创 2021-12-24 16:26:05 · 5402 阅读 · 0 评论 -
PreferenceActivity
最近在看开源中国的源码时,学习了PreferenceActivity,下面对PreferenceActivity做一下总结1,继承关系PreferenceActivity 继承于 ListActivity,实现了 PreferenceManager.OnPreferenceTreeClickListener, PreferenceFragment.OnPrefe原创 2015-10-26 17:21:29 · 431 阅读 · 0 评论 -
AndroidManifest.xml文件详解
AndroidManifest.xml 是每个android程序中必须的文件,它位于整个项目的根目录。我们每天都在使用这个文件,往里面配置程序运行所必要的组件,权限,以及一些相关信息。但是对于这个文件,我们真正又了解多少了,还是只是停留在只会简单的配置,而不明白其中的具体含义,以及为什么要这样设置?今天就让我们来详细的学习一下这个文件里各项参数的具体含义,因为它是整个应用的入口,所以有助于我们更加转载 2015-10-17 10:27:57 · 390 阅读 · 0 评论 -
android keepScreenOn
使用keepScreenOn属性非常简单step 1:在你需要常亮的Activity对应的布局文件中,随便给一个UI组件设置:android:keepScreenOn="true" 然后,只要Activity不被停止的话,那么屏幕会一直保持常亮step 2:怎么关闭常亮么?也很简单啊~在你需要关闭常亮的时候,修改UI组件的属性,把他设置为false就可以原创 2015-10-24 09:23:06 · 5119 阅读 · 0 评论 -
android之interpolator的用法详解
欢迎大家访问我的博客http://blog.csdn.net/mikejaps,专注于android ios app 开发android:interpolator,经常和ScorllerCompat 配合使用,ScrollerCompat 是一个控制滑动的类interpolator,也可以通过 Animation 的 setInterpolator 进行设置 Inte原创 2015-12-12 08:18:20 · 393 阅读 · 0 评论 -
Android LayoutInflater深度解析
1、 题外话相信大家对LayoutInflate都不陌生,特别在ListView的Adapter的getView方法中基本都会出现,使用inflate方法去加载一个布局,用于ListView的每个Item的布局。Inflate有三个参数,我在初学Android的时候这么理解的:对于Inflate的三个参数(int resource, ViewGroup root, boolea转载 2016-01-18 16:51:37 · 308 阅读 · 0 评论 -
Android 快速开发框架xUtils
Github下载地址:https://github.com/wyouflf/xUtilsxUtils简介xUtils 包含了很多实用的Android工具。xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响。xUtils最低兼容A转载 2015-12-10 08:23:56 · 450 阅读 · 0 评论 -
网络基本概念之TCP, UDP, 单播(Unicast), 多播(组播)(Multicast)
这篇文章相当低级,但相当重要!我们周围一切几乎都依赖于把事情抽象成低等级,并在某一点把它具体化,在一些设计概念中,接口层十分清晰并且目标很集中,应用程序不用考虑操作系统如何工作,操作系统也不用考虑硬件如何工作,OSI模型的第4层不需要考虑第三层如何工作。所以我们只需要集中精力在某一层,就当下面的层正常工作,但这样能行吗?如果你写一个应用,你最好知道OS是怎么样工作的,并且要考虑数据库如翻译 2015-11-18 11:54:24 · 574 阅读 · 0 评论 -
安卓App热补丁动态修复技术介绍
安卓App热补丁动态修复技术介绍2015-10-31 johnczQQ空间终端开发团队 QQ空间终端开发团队QQ空间终端开发团队微信号 qzonemobiledev功能介绍 QQ空间终端开发团队官方账号,分享QQ空间在Android、iOS、H5等平台的开发经验、技术实践以及一些围绕技术研发的话题。1.背景当一个App发布转载 2015-11-18 09:28:40 · 591 阅读 · 0 评论 -
MAT 工具的使用
测试的例子:public class MemoryTestActivity extends Activity 2.{ 3. List list = new ArrayList(); 4. 5. /** Called when the activity is first created. */ 6. @Override 7. pub原创 2015-11-06 08:22:57 · 499 阅读 · 0 评论 -
Android 状态栏
先看一下 哪个部分是状态栏和导航栏1.去除导航栏在onCraete()方法中的setContentView();的之前调用下面这句代码 requestWindowFeature(Window.FEATURE_NO_TITLE);2.去除状态栏/通知栏在onCraete()方法中的setContentView();的之前调用下面这句代码原创 2015-10-26 19:57:19 · 422 阅读 · 0 评论 -
开发网站合集
一些Android 开发网站集合转载 2015-10-17 08:48:34 · 650 阅读 · 0 评论 -
onConfigurationChanged 详解
onConfigurationChanged的作用API原文说明:android:configChangesLists configuration changes that the activity will handle itself. When a configuration change occurs at runtime, the activity is shut do转载 2015-10-23 15:15:23 · 967 阅读 · 0 评论 -
Android开发面试经——5.常见面试官提问Android题2
一般的面试流程是笔试完就接着是面试了,面试时技术经理会问你一些你工作中遇到的Android方面的问题,谈谈你所做的项目,和在项目中所扮演的角色。今天我就给大家整理一些,面试中常见的面试官提的一些问题?1.要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用hierarchyview工具查看优化。 ②复用convertView转载 2015-10-17 11:06:18 · 533 阅读 · 0 评论 -
android中完全退出程序的四种办法
Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A。在B中如何关闭整个Android应用程序呢?本人总结了几种比较简单的实现方法。 1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid()) //获原创 2015-10-16 09:55:10 · 391 阅读 · 0 评论 -
多点触控之MotionEvent.ACTION_MASK作用
欢迎大家访问我的博客http://blog.csdn.net/mikejaps,专注于android ios app ACTION_MASK在Android中是应用于多点触摸操作,字面上的意思大概是动作掩码的意思在onTouchEvent(MotionEvent event)中,使用switch (event.getAction())可以处理ACTION_DO原创 2015-11-19 00:09:43 · 1638 阅读 · 0 评论 -
Android butterknife注解框架
欢迎大家访问我的博客http://blog.csdn.net/mikejaps,专注于android ios app 开发首先提下ButterKnifey已经更新到版本7.0.1了,现在注解已经不叫@InjectView了,而叫@Bind,感觉更贴合语义。同时注册的方式也从ButterKnife.inject(this);变成了ButterKnife.bind(t原创 2015-11-21 15:19:16 · 464 阅读 · 0 评论 -
Android studio aar 上传maven 解决依赖传递问题
Android studio aar 上传maven 解决依赖传递问题apply plugin: 'maven-publish'publishing { publications { aarSDk(MavenPublication) { artifact "build/outputs/aar/adsdk-debug.aar" ...原创 2019-07-16 08:55:51 · 3335 阅读 · 0 评论 -
Fastboot使用详解
1.Fastboot简介Fastboot是Android快速升级的一种方法,Fastboot的协议fastboot_protocol.txt在源码目录./bootable/bootloader/legacy下可以找到。Fastboot客户端是作为Android系统编译的一部分,编译后位于./out/host/Linux-x86/bin/fastboot目录下。Fastboo转载 2017-02-22 10:20:17 · 686 阅读 · 0 评论 -
linux 下makefile 编译 Android
对于一个程序新手而言,好的IDE是他们追捧的对象。但当他接触的代码多了之后,就会逐渐发现IDE不够用了,因为有好多东西用IDE是不好做的,例如自动编译,测试,版本控制,编译定制等。这跟政治课上的一句话有点像:资本主义开始的时候是促进生产力发展的,但到了后来又成了阻碍生产力发展的因素了。如果一个程序不能摆脱IDE的限制(不是不用,而是要有选择的用),那么他就很难提高。要知道,IDE和makefile原创 2016-12-30 09:51:53 · 699 阅读 · 0 评论 -
Android动态加载jar、apk的实现
核心类 1.1 DexClassLoader类 可以加载jar/apk/dex,可以从SD卡中加载为安装的apk。 1.2 PathClassLoader类 只能加载已经安装到Android系统中的apk文件。 一、正文 1.1 动态加载jar 类似于eclipse的插件化转载 2016-03-15 15:26:09 · 577 阅读 · 0 评论 -
Android APK加壳技术方案
做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习。现在将最近学习成果做一下整理总结。学习的这些成果我会做成一个系列慢慢写出来与大家分享,共同进步。这篇主要讲apk的加壳技术,废话不多说了直接进入正题。一、加壳技术原理所谓apk的加壳技术和pc exe的加壳原理一样,就是在转载 2016-03-25 11:25:08 · 960 阅读 · 0 评论 -
Android px、dp、sp之间相互转换
直接上代码,一个工具类public class DisplayUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue * @param scale * (DisplayMetrics类中属性densi原创 2016-03-14 15:03:18 · 300 阅读 · 0 评论 -
Android程序中安装APP
Android程序中安装APP总结安装APP方法1(普通)这种方法通过 Intent 机制,调出系统安装应用,重新安装应用的话,会保留原应用的数据。String fileName = Environment.getExternalStorageDirectory() + apkName ; Intent intent = new Intent(Inte转载 2016-03-04 15:05:38 · 510 阅读 · 0 评论 -
Android textview文字对齐换行问题
今天忽然发现android项目中的文字排版参差不齐的情况非常严重,不得不想办法解决一下。经过研究之后,终于找到了textview自动换行导致混乱的原因了----半角字符与全角字符混乱所致!一般情况下,我们输入的数字、字母以及英文标点都是半角,所以占位无法确定。它们与汉字的占位大大的不同,由于这个原因,导致很多文字的排版都是参差不齐的。对此我找到了两种办法可以解决这个问题: 1. 将te转载 2016-02-16 15:30:35 · 4733 阅读 · 0 评论 -
Android EventBus
在编程过程中,当我们想通知其他组件某些事情发生时,我们通常使用观察者模式,正式因为观察者模式非常常见,所以在jdk1.5中已经帮助我们实现了观察者模式,我们只需要简单的继承一些类就可以快速使用观察者模式,在Android中也有一个类似功能的开源库EventBus,可以很方便的帮助我们实现观察者模式,那么我们就开始学习如何使用EventBus. 在接下来的内容中,我首先会介绍如何使原创 2016-01-29 11:40:09 · 336 阅读 · 0 评论 -
Android UI设计: 分享一个仿QQ聊天消息提示可以拖拉气泡
先看效果功能有: 1. 可以随时拖拉 2. 拖拉超过一定距离会监听 3. 拖拉返回的时候,有来回反弹效果此效果先是参照了网上github两个版本的效果。不过都不是自己想要那么理想。 1.其中有一个是两层,一层是textview控件和一层surfaceview。经测试效果不错,但是效率不高,在刚点击的有闪动现象。会跳帧。于是放弃这种方法。不过它能够全屏转载 2015-12-26 11:11:06 · 987 阅读 · 0 评论 -
Android 4.4 中 WebView 使用注意事项
自Android 4.4起,Android中的WebView开始基于Chromium( 这大概是因为Android部门负责人从Andy Rubin变成了Chrome部门的主管Sundar Pichai了吧,_)。这个改变,使得WebView的性能大幅度提升,并且对HTML5, CSS3, and JavaScript有了更好的支持。那么,作为一个客户端开发者,我们写代码的时原创 2016-01-23 08:36:40 · 504 阅读 · 0 评论 -
GitHub上史上最全的Android开源项目分类汇总
今天在看博客的时候,无意中发现了 @Trinea在GitHub上的一个项目 Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫的界面特效设计、个性化控件、工具库、优秀的Android开源项目、开发测试工具、优秀个人和团体等。可以这样说,每一位Andorid开发人员都能从中找到一个或多个适用自己项目的解决方案,消化吸收并加转载 2015-12-01 10:33:15 · 1500 阅读 · 0 评论 -
Android之PinnedHeaderExpandableListView- 仿ios的UITableView的header置顶效果
欢迎大家访问我的博客http://blog.csdn.net/mikejaps,专注于android ios app 开发首先它是一个ExpandableListView,但是它的头部可以固定,其次,在它的上面还有一个头部可以来回伸缩 项目地址: https://github.com/singwhatiwanna/PinnedHeaderExpandableListVie原创 2015-11-26 08:37:39 · 1456 阅读 · 0 评论 -
ViewStub
本节引言:学习完上一节的include布局复用以后,相信大家都体会到了布局优化的好处,不过当我们include的布局是一些复杂控件的话,而这些控件我们在实际使用过程中又用得不多的话,往往会降低页面的加载速度;虽然,我们也可以为其设置visibility = "gone"的属性,但是在inflate布局的时候,这些控件依旧会被inflate,也就是说依旧会创建转载 2015-10-24 09:17:38 · 560 阅读 · 0 评论 -
activity 启动时短暂黑屏问题
程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初始化列表数据等,如果耗时过长,就会出现好像黑屏的现象 1./res/values/styles.xml 在 Theme 中,添加一个 android:windowBackgrounds 属性,设置需要的图片2.在 AndroidManifest.xml 中设置Theme到首个启动原创 2015-10-23 14:26:29 · 535 阅读 · 0 评论 -
Android开发:shape和selector和layer-list的(详细说明)
和在Android UI设计中经常用到。比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到和。可以这样说,和在美化控件中的作用是至关重要。在看这篇文章之前,可以看下这个小例子:镂空按钮的实现1.Shape简介作用:XML中定义的几何形状位置:res/drawable/文件的名称.xml使用的方法:Jav转载 2015-10-19 08:11:38 · 427 阅读 · 0 评论 -
局域网内获取周围设备的ip和端口
现在智能家居,物联网非常火,推进了WiFi模块的使用,出货量大为增加。据了解,现在大部分WiFi模块在第一次配置的时候是采用udp广播的方式来通讯的,手机端将路由的名称和密码通过udp 广播的方式发送给WiFi模块,这样的方式适合远程控制,在和WiFi模块近距离通讯的时候如果WiFi模块已经连上了路由,我们如何获取WiFi模块的ip,和 端口呢?下面介绍mdns协议--发现周围设备的ip和端口。原创 2015-10-30 10:04:42 · 4327 阅读 · 0 评论 -
Android bitmap 的缓存-LruCache
Android 内存有限,当我们需要加载比较多的bitmap时(如做新闻阅读类app),我们需要用到LruCache缓存,一下是主要代码 // Get memory class of this device, exceeding this amount will throw an // 得到设备的运行内存 final int memClass = ((Activi原创 2015-10-30 19:55:52 · 585 阅读 · 0 评论 -
使用 DiskLruCache 缓存bitmap
A memory cache is useful in speeding up access to recently viewed bitmaps, however you cannot rely on images being available in this cache. Components like GridView with larger datasets can easily f翻译 2015-10-31 08:21:34 · 844 阅读 · 0 评论 -
线程:sleep()、wait()、yield()和join()方法
1.sleep()和wait() 这两个方法都可以让调用它的线程沉睡(sleep)/停止运行(wait)指定的时间,到了这个时间,线程就会自动醒来,变为可运行状态(RUNNABLE)。 public static native void sleep(long millis) throws InterruptedException; p转载 2015-11-02 19:42:28 · 714 阅读 · 0 评论