精通移动端系列
文章平均质量分 92
涵盖主流移动端的开发技术,包含:Android、IOS和其他主流移动端技术,助你提高职场竞争力
冰 河
这个作者很懒,什么都没留下…
展开
-
Ruby on Rails总结(一)
环境相关:一、命令:1、更新rails的安装版本: gem update rails2、更新版本后rails自动保存升级前的旧版本文件,使用gem cleanup命令删除这些文件3、安装最新版本的Rails后,利用Rake rails:update命令跟新rails在创建应用程序之初加入其中的那些文件4、创建项目 切换到相应的目录,输入命令“rails原创 2013-12-14 15:49:31 · 2246 阅读 · 0 评论 -
IOS之——不想升级,iOS系统自动更新可彻底关闭!
iPhone总是弹出一个提示窗口,如下图“iOS 9.3.2可用于您的iPhone且已经可以安装”,而窗口中根本就没有一个不想升级安装的选项。而当我们点击稍后,就会变成如下图所示的界面“输入密码以在今晚更新,如接入电源,iPhone将在01:00到05:00之间自动更新”,也就是说晚上睡觉的时候,iPhone处于充电状态,连接WiFi的同时,iOS会进行自动更新升级,帮果粉省去了白天升级的时间与电...转载 2017-12-28 00:06:24 · 101417 阅读 · 0 评论 -
IOS之——快速获取苹果设备UDID(插曲)
首先,我们需要打开网页 http://udid.iosbeta.cn/page/udid-view.html,在这个网页里面,可以用手机扫描微信,也可以用苹果设备直接打开这个网页,进去后长按“点击查询”按钮,然后会弹出提示框,点击“拷贝”,再然后进入到苹果设备自带的safari 浏览器中,粘贴拷贝出来的地址,接着按照里面流程安装证书,最后就可以查询到苹果设备自身的UDID了。原创 2015-07-19 17:39:42 · 1900 阅读 · 0 评论 -
Android之—— Android Studio配置文件路径修改的方法
前言:Android Studio作为一个安卓APP开发工具,必然要的组件和所占的空间是比较多的,但往往我们安装Android Studio后有些配置文件会默认帮我们安装到C盘,导致C盘空间减少,这往往是我们不想看到的,这篇文章就讲述怎么修改Android Studio配置文件路径Android Studio安装好后会在系统盘用户目录下产生这几个文件夹.android是Android SD...转载 2019-11-03 23:50:37 · 6385 阅读 · 0 评论 -
Android-MQ之——基于Android的轻量级开源消息通信组件正式开源
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/82731262基于Android的轻量级开源消息通信组件Android-MQ开源地址:https://github.com/sunshinelyz/Android-MQ基于Android的轻量级开源消息通信组件——Android-MQ自2017年开源以来,被大量应用到A...原创 2018-09-17 00:00:20 · 5369 阅读 · 1 评论 -
Android之——使用Android studio创建的AIDL编译时找不到自定义类的解决办法
转载请注明出处:https://blog.csdn.net/l1028386804/article/details/82728536使用AS创建ADIL文件时AS会在main文件夹下给我们生成一个aidl文件夹和一个相同包名的包,通常我们会把所有和ADIL相关的类或文件放在这个包下,但是如果存在自定义的类时,程序编译时无法通过,提示找不到自定义的包。解决办法如下,在启动Module的build...原创 2018-09-16 19:28:29 · 3783 阅读 · 0 评论 -
JNI之—— Eclipse配置C/C++开发环境
开发环境:Eclipse3.2、CDT3.1、MinGW5.11、Eclipse及CDT的安装到Eclipse的官方网站http://www.eclipse.org上下载Eclipse。安装CDT。CDT的全称是C/C++ DevelopmentTools,是使Eclipse能够支持C/C++开发的插件,保健康。进入CDT的官方网站,http://www/eclipse.org/cdt原创 2015-06-24 14:59:07 · 3051 阅读 · 0 评论 -
JNI之——Can't load IA 32-bit .dll on a AMD 64-bit platform错误的解决
在JNI开发中,Java程序需要调用操作系统动态链接库时,报错信息:Can't load IA 32-bit .dll on a AMD 64-bit platform。这是由于你的版本是Windows 64位,而你用VS生成的DDL是32位。因此只需要编译生成一个64位的DDL动态链接库就行。具体步骤如下:1.新建项目选择win32项目 语言C++,输入项目名称"Utils"原创 2015-06-23 14:07:31 · 45897 阅读 · 4 评论 -
JNI之——VS编译c++时Error:无法打开源文件"xxx.h"
利用VS.2010编译C++文件时出现fatal error C1083: 无法打开包括文件:“xxx.h”: No such file or directory.错误。我把头文件复制,直接选择项目粘贴进来,虽然解决方案资源管理器里显示此头文件,但是编译就出现上面的错误,找不到头文件,我打开项目目录,发现里面不存在我刚才复制的头文件,我只能无语微软为什么这么作,不是BUG,就是个坑。最后我只能原创 2015-06-23 13:45:05 · 13384 阅读 · 2 评论 -
JNI之——编译时各种问题解决方案
在cmd中键入cl执行编译(或lib)时会出现mspdb100.dll无法找到的情况,是因为VC\Bin\下没有mspdb100.dll“这个文件,直接从Common7\IDE\下复制这个文件到VC\Bin\下即可解决。原创 2015-06-23 13:40:28 · 2389 阅读 · 0 评论 -
JNI之——'cl' 不是内部或外部命令,也不是可运行的程序或批处理文件
问题的出现: 今天卸载了VS2010,重装vs2008后,发现qtcreator不能用了,弹出如下的界面: qtcreator 'cl' 不是内部或外部命令,也不是可运行的程序或批处理文件解决方案:将D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin加入到环境变量Path中,D:\Program Fil原创 2015-06-23 12:00:54 · 6087 阅读 · 1 评论 -
JNI之——在cmd命令行下编译运行C/C++源文件
一直用java来写程序,java配置好jre路径之后,在cmd下编译运行,很方便。刚好要给一个舍友改下C程序,想到可不可以像java一样在环境变量里配置好C的编译路径呢?于是上网搜了一下,得到如下结果:一、如果装有VC,那就简单了,因为VC带有C的编译器,可以将此路径设置进环境变量。Windows系统下编译连接源代码方法:cl -GX test.c-GX: 启动同步异常原创 2015-06-23 11:53:39 · 3542 阅读 · 0 评论 -
JNI总结(一)
JNI 是 Java 平台中的一个强大特性。应用程序可以通过 JNI 把 C/C++代码集成进 Java 程序中。通过 JNI,开发者在利用 Java 平台强大功能的同时,又不必放弃对原有代码的投资;因为 JNI 是 Java 平台定义的规范接口,当程序员向 Java 代码集成本地库时,只要在一个平台中解决了语言互操作问题,就可以把该解决方案比较容易的移植到其他 Java 平台中。原创 2014-10-28 11:59:55 · 2206 阅读 · 0 评论 -
生成JNI的DLL时提示找不到jni.h的解决办法Cannot open include file: 'jni.h': No such file or directory
生成JNI的DLL时提示找不到jni.h的解决办法Cannot open include file: 'jni.h': No such file or directory原创 2014-10-24 14:38:18 · 5429 阅读 · 0 评论 -
android uiautomator自动化测试
uiautomator原创 2014-12-24 13:25:14 · 2432 阅读 · 0 评论 -
Android之——Fragment生命周期(日志截图版)
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46867159原创 2015-07-13 20:11:30 · 1815 阅读 · 0 评论 -
Android之——多线程下载示例
一、概述 说到Android中的文件下载,Android API中明确要求将耗时的操作放到一个子线程中执行,文件的下载无疑是需要耗费时间的。下面,我们一起来实现一个Android中利用多线程下载文件的小例子。二、服务端准备 在这个小例子中我以下载有道词典为例,在网上下载有道词典的安装包,在eclipse中新建项目web,将下载的有道词典安装包放置在原创 2015-07-14 22:18:39 · 4076 阅读 · 5 评论 -
Android之——多线程断点续传下载示例
在上一篇博文中,我们讲解了如何实现Android的多线程下载功能,通过将整个文件分成多个数据块,开启多个线程,让每个线程分别下载一个相应的数据块来实现多线程下载的功能。多线程下载中,可以将下载这个耗时的操作放在子线程中执行,即不阻塞主线程,又符合Android开发的设计规范。但是当下载的过程当中突然出现手机卡死,或者网络中断,手机电量不足关机的现象,这时,当手机可以正常使用后,如果重新下载文件原创 2015-07-15 21:02:39 · 4199 阅读 · 1 评论 -
Android之——应用更新功能
一、概述相信大家都遇到过这种情况,就是在Android手机中的应用,往往在应用的设置里面,都会有一个检查更新的功能,如果应用开发商或者运营商发布了新的应用版本,点击设置里面检查更新的按钮就会提示用户有新版本,是否需要更新,如果用户点击了“立即更新”后,会将应用开发商或运营商服务器上最新的应用版本更新到手机中,如果用户没有选择立即更新,则不会更新手机应用程序。二、实现原理服务端存放有一个原创 2015-07-16 20:55:27 · 2835 阅读 · 0 评论 -
Android之——常见Bug及其解决方案
1.android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application解决方案:将getApplication改成xxxx.this2.call you are unregister onbrocastRevicer?解决方案:忘记注销广播原创 2015-07-18 13:52:58 · 6792 阅读 · 0 评论 -
Android之——AsyncTask随笔
在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则:1. 不要阻塞UI线程 2. 确保只在UI线程中访问Android UI工具包 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如原创 2015-07-18 20:29:18 · 1491 阅读 · 0 评论 -
Android之——Handler随笔
一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button, Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操作,例如原创 2015-07-19 09:22:18 · 1330 阅读 · 0 评论 -
Android之——AsyncTask和Handler对比
AsyncTask和Handler对比1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l 简单,快捷l 过程可控使用的缺点:l 在使用多个异步原创 2015-07-19 10:12:14 · 2153 阅读 · 0 评论 -
Android之——通用安装apk方法
不多说,直接上代码:public void installApk(){ Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); //根据实际情况获取apk名称 String name = "test.apk"; File file = new File(Environment.getExternalSto原创 2015-07-19 16:41:59 · 2205 阅读 · 0 评论 -
Android之——图片的内存优化
1. 对图片本身进行操作尽量不要使用 setImageBitmap、setImageResource、 BitmapFactory.decodeResource 来设置一张大图,因为这些方法在完成 decode 后,最终都是通过 Java 层的 createBitmap 来完成的,需要消耗更多内存。因此,改用先通过 BitmapFactory.decodeStream 方法,创建出一个 bit原创 2015-07-20 19:43:24 · 1612 阅读 · 0 评论 -
Android之——性能与内存优化
写出高效代码的两条基本的原则:(1)不要做不必要的事;(2)不要分配不必要的内存。1. 内存优化 Android系统对每个软件所能使用的RAM空间进行了限制(如:Nexus one 对每个软件的内存限制是24M),同时Java语言本身比较消耗内存,dalvik虚拟机也要占用一定的内存空间,所以合理使用内存,彰显出一个程序员的素质和技能。1) 了解JIT 即时原创 2015-07-21 17:29:55 · 5076 阅读 · 0 评论 -
Android之——拦截外拨电话
这里,向大家简单介绍通过BroadcastReceiver来拦截外拨电话的方法。1、创建PhoneReceiver继承自BroadcastReceiver这个类是BroadcastReceiver的子类,具体的拦截操作在这个类中实现,我在这里只是简单的介绍一下方法,把获取到的外拨号码打印出来。具体的业务逻辑就要大家自己去实现了。具体代码如下:package com.lyz.rere原创 2015-07-21 23:19:04 · 5460 阅读 · 1 评论 -
Android之——拦截短信
这里,向大家简单介绍通过BroadcastReceiver来拦截短信的方法1、创建短信广播接收者SmsRecevier这个类是BroadcastReceiver的子类,具体的拦截操作在这个类中实现,我在这里只是简单的介绍一下方法,把获取到的短信信息打印出来。具体的业务逻辑就要大家自己去实现了。具体代码如下:package com.lyz.receiver;import andr原创 2015-07-21 23:31:52 · 2802 阅读 · 2 评论 -
Android之——jni通用工具方法
1、将java字符串转化为c++字符串/** *工具方法 *将java字符串转化为c++字符串 *返回字符串数组的首地址 */char* Jstring2CPPStr(JNIEnv* env, jstring jstr, jstring encode) { char* rtn = NULL; jclass clsstring = env->FindClass("java/lang原创 2015-07-22 13:55:43 · 1806 阅读 · 0 评论 -
Android之——申请应用系统管理员权限
把应用程序升级为拥有系统管理员权限。写一个广播接收者,给该广播接收者去申请系统管理员的权限,让操作系统给广播接收者授权。(激活系统的授权组件)。在此,本人主要通过申请应用系统管理员权限,锁屏,设置密码,恢复出厂设置几个方面来简单介绍Android中如何给一个应用申请系统管理员的权限操作。其中,这些主要的功能都是通过Android提供的一个类来完成的,这个类就是DevicePolicyM原创 2015-07-22 22:06:20 · 6943 阅读 · 0 评论 -
Android之——监听手机开机事件
本文中,主要通过监听开机广播来达到监听手机开机状态的操作,在Android中可以通过广播机制来监听一些系统服务和系统级的操作,好了,不多说,直接上代码吧1、创建广播接收者类BootCompleteReceiver这个类中的回调方法是手机开机后自动调用,我在这里只是打印出相关日志,具体的业务逻辑大家可以自己根据自己的具体需求去实现。代码如下:package cn.lyz.mobile原创 2015-07-23 21:11:01 · 5007 阅读 · 0 评论 -
Android之——AIDL小结
AIDL (Android Interface Definition Language )AIDL 适用于 进程间通信,并且与Service端多个线程并发的情况,如果只是单个线程 可以使用 Messenger ,如果不需要IPC 可以使用BinderAIDL语法:基础数据类型都可以适用,List Map等有限适用。static field 不适用。AIDL基本用法1、实现.aidl文件接口原创 2015-07-26 21:21:17 · 3388 阅读 · 0 评论 -
Android之——AIDL深入
在上一篇博文《Android之——AIDL小结》中,我们简单介绍了一下Android AIDL的用法,而在这篇博文中,我们将深入讲解Android AIDL的用法,同样,在这里我们也通过一个小例子来学习Android 中 AIDL的用法。好处:多个应用程序之间建立共同的服务机制,通过AIDL在不同应用程序之间达到数据的共享和数据相互操作,本文包括: 1 、创建AIDL 服务端。2 、创原创 2015-07-26 21:35:36 · 2123 阅读 · 0 评论 -
Android之——自动挂断电话的实现
通过《Android之——AIDL小结》与《Android之——AIDL深入》两篇博文,相信大家已经对Android AIDL有了一定的了解,下面,我们就利用Android的AIDL实现自动挂断电话的功能,好了,不多说了,我们直接进入主题。1、准备AIDL文件挂断电话的AIDL文件都是Android自带的文件,我们可以从Android的源代码中找到这两个文件,它们分别是Neighborin原创 2015-07-26 22:03:08 · 7275 阅读 · 0 评论 -
Android之——自定义TextView
在这一篇博文中,将向大家介绍如何以最简单的方式,来自定义Android中的控件,下面我们以自定义TextView为例来向大家介绍如何自定义Android中的控件。首先,我们来简单说一下Android中自定义控件的原理:创建一个类,继承要自定义的控件类,重写父类的相关方法即可。原理说完了,是不是很简单呢?下面,我们就一起来自定义一个TextView控件吧。1、创建工程CustomerText原创 2015-07-27 11:48:54 · 9664 阅读 · 0 评论 -
Android之——手机黑名单的实现
有了前面几篇博文作为基础(《Android之——AIDL小结》、《Android之——AIDL深入》、《Android之——自动挂断电话的实现》),我将在这片博文中向大家介绍如何实现手机黑名单的功能。用过Android手机的用户都知道,如果不想接听一些人的电话或者接收一些人的短信,可以将这些人的手机号码放入手机黑名单中,此时,将不会接收到这些人打进来的电话和发送进来的短信。那这些功能具体是如何实现原创 2015-07-27 20:06:08 · 9750 阅读 · 20 评论 -
Android之——短信的备份与还原
目前,Android手机中的一些软件可以实现手机短信的备份与还原操作。这篇博文就是要向大家介绍如何实现Android短信的备份与还原操作。好了,相信大家对这些实用的功能还是比较赶兴趣的,不多说了,我们直接进入主题吧。一、原理我的实现原理很简单,界面上放置几个TextView列表,其中两项为“短信的备份”和“短信的还原”,点击“短信的备份”,读取所有的短信信息,将短信信息保存在一个xml文件原创 2015-07-27 21:57:18 · 8467 阅读 · 4 评论 -
Android之——自定义复合控件的实现
有一定Android开发经验的童鞋都知道,有时候Android提供的原生视图无法满足我们自己项目的业务需求,这就需要我们自己去自定义Android控件了,在很多情况下,需要我们自己去将很多控件(Android原生控件,自定义控件)组合起来,生成一个新的视图来满足我们自己项目的业务需求。好了,本文就是向大家介绍如何自定义Android复合控件,我在这篇文章中,以一个文本框和按钮组合成一个复合控件来向原创 2015-07-28 11:06:05 · 3717 阅读 · 0 评论 -
Android之——获取手机安装的应用程序
前几篇有关Android的博文中,向大家介绍了几个项目中常用的实用功能,那么在这篇博文中,我将向大家介绍如何获取Android手机中已经安装的手机应用程序,实用过金山手机卫士或者360手机卫士的童鞋都知道,这些软件都可以获取到当前手机中安装的应用程序。那么,这些功能是如何实现的呢?就让我们一起来看看这些功能具体是如何实现的吧。一、原理原理很简单,我们通过Android中提供的Package原创 2015-07-28 23:44:48 · 8107 阅读 · 0 评论 -
Android之——Surface、SurfaceView与SurfaceHolder.Callback初探
一、Surface Surface在SDK的文档中的描述是这样的:Handle onto a raw buffer that is being managed by the screen compositor,Android中的Surface就是一个用来画图形(graphics)或图像(image)的地方,对于View及其子类,都是画在Surface上,各Surface对象通过Surf原创 2015-07-31 11:21:07 · 11562 阅读 · 0 评论