自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 android 全屏幕显示以及竖屏显示

方法一:使用xml的方法,在该项目的AndroidManifest.xml文件中,在需要全屏的Activity元素中添加属性 android:theme="@style/Theme.AppCompat.Light.NoActionBar" 方法二:无标题栏:requestWindowFeature(Window.FEATURE_NO_TI

2017-03-31 15:53:28 1798

原创 android应用安装到指定user下方法

1、先将apk推送到手机中  adb push test_emma.apk /sdcard/Download2、使用pm指令安装应用adb shell pm install --user 指定用户id  /sdcard/Download/test_emma.apk3、出现 Failure [INSTALL_FAILED_UNKNOWN_SOURCES]是因为设置中未知来源未

2017-03-29 15:07:54 5991

转载 android面试题总结

1:Activity生命周期?这几乎是个老少咸宜,永远不会过时的问题,而且极有可能是第一个问题。这个问题当然没什么好讲的啦,死记硬背是没什么用的了,关键是理解。本人就曾遇到这个问题的变种问题,问onStart(),与onResume()有什么区别?如果面试官抛出这个问题,是不是有点措手不及。今天又听说有同学遭遇了更变态的问题:什么情况下Activity走了onCreat(),而不走onSt

2017-03-29 10:03:11 287

原创 android通过流行框架及开发模块

2017-03-28 14:12:38 186

原创 Https单向认证

实现很简单,客户端建立链接前,调用代码如下:public synchronized int sendRequestPost( String urlstring;) {     try {                trustAllHosts();                url = new URL(urlstring);                HttpsU

2017-03-28 12:17:35 510

原创 【Android】实现XML解析的几种技术

常见的XML解析器分别为DOM解析器、SAX解析器和PULL解析器第一种方式:DOM解析器:    DOM是基于树形结构的的节点或信息片段的集合,允许开发人员使用DOM API遍历XML树、检索所需数据。分析该结构通常需要加载整个文档和构造树形结构,然后才可以检索和更新节点信息。    DOM的工作原理:使用DOM对XML文件进行操作时,首先要解析文件,将文件分为独立的元素、属性和注释

2017-03-28 11:46:14 390

转载 Android酷炫实用的开源框架(UI框架)

Android酷炫实用的开源框架(UI框架)前言忙碌的工作终于可以停息一段时间了,最近突然有一个想法,就是自己写一个app,所以找了一些合适开源控件,这样更加省时,再此分享给大家,希望能对大家有帮助,此博文介绍的都是UI上面的框架,接下来会有其他的开源框架(如:HTTP框架、DB框架)。1.Side-Menu.Android分类侧滑菜单,Yalantis 出品。项目

2017-03-27 16:59:12 215

原创 算法--二分查找

1、二分查找,就是把要查找的数组分成两部分,分别查找,如同快速查找。(前提:查找的数组必须是有序数组);2、代码:private int binarySearch(int [] old,int low,int height,int search){ if(low<height){ int middle = (low+height)>>1; if(

2017-03-17 15:39:19 287

原创 排序--反转排序

1、顾名思义,将数组的元素顺序反转。在数组中反转只需要前半部分元素和后半部分元素做交换即可。2、代码:private int[] reverseOrder(int []old){ int temp; for (int i = 0; ilength/2;i++){ temp = old[i]; old[i] = old[old.length

2017-03-17 14:18:44 623

原创 算法--快速排序

1、快速排序,首先选择一个对比分水岭数,可以选择数组第一个数,在第一次对比时,便可以将数组分为两个独立的数组,一边大于基准数,一边小于基准数,再次对比时候,分别对比两个独立数组,运用递归的方式,当低位大于或等于高位时,退出,返回数组,完成排序。2、代码:private int getBase(int[] order,int low,int height){ int temp

2017-03-16 15:56:47 168

原创 算法--冒泡排序

1、犹如冒泡,每次循环,把最值按照顺序排序。犹如选择排序,选择排序每次遍历记录最值的角标,并将最值和制定位置交换,冒泡为一直比较,需要就换。2、代码:private int[] BubbleOrder(int[] order){ for (int i = 0;ilength -1;i++){ for (int j = order.length -1;j>i;j-

2017-03-16 14:54:48 243

原创 算法--选择排序

1、选择排序:        从数组0角标开始,每次遍历,通过对比大小,记录最小或最大值的角标,将0角标数值与其交换,以此类推完成排序。选择排序,是每次选出最值后,第二次再从剩余数选出最值,和插入排序区别,插入排序每次从剩余数中选第一个,去排好序的数组对比找位置插入,而选择排序,是每次从剩余数中选出最值,排到已经拍好序的数组尾部,完成排序。2、上代码:private int[] s

2017-03-16 14:31:42 185

原创 算法--插入排序

1、插入排序:   在一个数组排序中,插入排序,从角标1开始,假设之前的数组都是排列好的(就一个),之后用角标1的数去和前一位做对比,若需要交换,则前一位后移,腾出位置让1角标数据插入,以此类推,实现排序。需要排序的A,角标为i,需要找到j位置,则0到i-1中的数组是排好顺序的,在用A与i-1角标的数做对比,当数大于(从大到小排列)或小于(从小到大排列)i-1角标数值时,则i-1后移一位,腾出

2017-03-16 14:10:15 507

原创 Android Studio 版本太低的问题:Plugin is too old

1、今天打开Studio后发现 The android gradle plugin version 2.3.0-beta3 is too old,please update to the latest version.2、好吧,升级走起,查找新一些的版本号  https://jcenter.bintray.com/com/android/tools/build/gradle/3、找到新的有

2017-03-16 11:34:28 1218

原创 设计模式——Builder模式

1、定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示;2、AlertDialog,先new 一个builder,然后往builder里设置属性的值,最后调用build得到类实例,完成抽象出来的类的实例化。3、优缺点:在使用构建器的时候,必须利用另外一个类来实例化另外一个类,会损耗一定的性能...不过带来的好处是非常明显的。因为使用builder模式,每次设置属

2017-03-16 10:48:58 304

原创 android QuickSearchBox 流程浅析

启动搜索SearchActivity.javaprotected SearchActivityView setupContentView() { setContentView(R.layout.search_activity); return (SearchActivityView) findViewById(R.id.search_activity_view);

2017-03-11 14:51:20 484

原创 设计模式--观察者模式

1、定义:定义对象间一种一对多的依赖关系,使得当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。2、优点:观察者和被观察者之间是抽象耦合的,不管是增加观察者还是被观察者都非常容易扩展。 根据单一职责原则,每个类的职责是单一的,那么怎么把各个单一的职责串联成真实的复杂的逻辑关系呢,观察者模式可以起到桥梁作用。 观察者模式是松耦合的典型。3、举例:在butt

2017-03-11 14:20:21 247

原创 android 刷机

android ubuntu下刷机指令1、adb reboot bootloader2、fastboot flash system system.img3、fastboot flash boot boot.img4、fastboot flash userdata userdata.img5、fastboot flash recovery recovery.img6、

2017-03-11 11:03:56 314

原创 SIM卡工具包,加载过程浅析

大家都知道,这个应用随着SIM卡的插入,而在launcher中加载显示,当拔出SIM卡后,消失。过程源码走起。先在packages/app/Stk 看这个应用中,有广播接收:public class BootCompletedReceiver extends BroadcastReceiver { private static final String TAG = "APPBo

2017-03-10 16:00:29 4091

原创 设计模式——单例

单例模式定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要优点:1、提供了对唯一实例的受控访问。2、由于在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。3、允许可变数目的实例。 主要缺点:1、由于单利模式中没有抽象层,因此单例类的扩展有很大的困难。2、单例类的职责过重,在一定

2017-03-09 19:18:49 272

转载 如何实现android和服务器长连接呢?推送消息的原理

前言:现在的大多数移动端应用都有实时得到消息的能力,简单来说,有发送消息的主动权和接受消息的被动权。例如:微信,QQ,天气预报等等,相信好处和用户体验相信大家都知道吧。提出问题:这种功能必须涉及client(客户端)和server(服务器),所以到底client如何和server实现实时连接通讯?分析问题:这种功能实际上就是数据同步,同时要考虑手机本身、电量、网络流量等等限

2017-03-09 16:17:29 450

原创 adb getprop

在手机开发中,经常遇到查看或者修改prop的情况,实现方式:1、获取指定prop    查看     adb shell getprop  prop名称    修改    adb shell setprop  prop名称   修改值2、若只记住了名称的部分,可这样查    查看    adb shell getprop | grep 关键词           

2017-03-09 15:24:53 1086

原创 android adb修改build.prop

在双域中,当限制一个域的USB后的发开方式,可以做以下操作1、切换到可以使用的域。2、adb root 3、adb remount4、adb shell5、mount -o remount rw system/6、busybox vi system/build.prop7、修改ro.sys.usb_connect_to为ALL8、reboot之后另一个域的U

2017-03-09 14:50:11 3224

转载 android MVP MVC

一、MVP介绍     随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生。     在MVP模式里通常包含4个要素:     (1)View:负责绘制UI

2017-03-09 14:42:40 300

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除