
Android
北极熊77
先学会做人,再来做事情。
展开
-
weight和weightSum
看到本文的标题,很多童鞋会一脸不屑的说,这有什么不了解的。不就是通过weight来给子布局按比例来分配空间嘛!好,这个答案也对也不对。 此时有人会疑惑了,为什么也对也不对? 我先来举两个最常见的例子:xml version="1.0" encoding="utf-8"?>LinearLayout xmlns:android="http://schemas.android.com/apk/re转载 2017-06-28 15:39:03 · 502 阅读 · 1 评论 -
Android开发中需要注意哪些坑
作为一个有两、三年Android应用开发经验的码农,自然会遇到很多坑,下面是我能够想起的一些坑(实践证明不记笔记可不是个好习惯),后面有想到其它坑会陆续补上。1.在Android library中不能使用switch-case语句访问资源ID:在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案2.不能在Activity没有完全显示时原创 2017-06-27 14:23:31 · 284 阅读 · 0 评论 -
Android之permission权限列表
android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded)a转载 2016-09-03 09:16:38 · 396 阅读 · 0 评论 -
android-async-http框架库使用基础
PS一句:最终还是选择优快云来整理发表这几年的知识点,该文章平行迁移到优快云。因为优快云也支持MarkDown语法了,牛逼啊!开源项目链接Android-async-http仓库:Git clone https://github.com/loopj/android-async-httpandroid-async-http主页:http://loopj.com/an转载 2017-05-17 15:25:42 · 450 阅读 · 0 评论 -
JS唤醒Android APP(包括在外部浏览器和WebView)
1.AndroiManifest.xml中配置请在App启动的第一个Activity的那个节点中加入intent-filter> action android:name="android.intent.action.VIEW"/> category android:name="android.intent.category.D转载 2017-05-25 08:49:22 · 1469 阅读 · 0 评论 -
深度了解Android 7.0 ,你准备好了吗?
WeTest 导读8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,首发推送了多款Nexus设备。除了修复常规BUG,Android 7.0还新增了分屏、新的Notification、VR支持等新特性。8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,他们还会三个月一次推送开发版,而曝光的消息看,第一个开发版就是A转载 2017-03-21 18:00:06 · 333 阅读 · 0 评论 -
Android M Permission 运行时权限
Android M Permission 运行时权限 学习笔记从Android 6.0开始, 用户需要在运行时请求权限, 本文对运行时权限的申请和处理进行介绍, 并讨论了使用运行时权限时新老版本的一些处理.Android应用权限简要介绍一个Android应用默认情况下是不拥有任何权限的, 这即是说, 在默认情况下, 一个应用是没有权利去进行一些可能会造成不好影响的操作的.转载 2017-02-13 15:57:26 · 483 阅读 · 0 评论 -
svn分支开发与主干合并(branch & merge)
下面我将step by step地演示如何一次完整的branching和merging,包括创建分支、分支开发、分支和主线同步,分支合并到主线的全过程,甚至包括如何在本地创建一个测试用的repository。首先需要安装TortoiseSVN,我安装的版本是:TortoiseSVN 1.6.15, Build 21041 - 32 Bit , 2011/03/23 18:00:27转载 2017-02-20 15:16:27 · 543 阅读 · 0 评论 -
Android 6.0 运行时权限处理完全解析
转载请标明出处: http://blog.youkuaiyun.com/lmj623565791/article/details/50709663; 本文出自:【张鸿洋的博客】一、概述随着Android 6.0发布以及普及,我们开发者所要应对的主要就是新版本SDK带来的一些变化,首先关注的就是权限机制的变化。对于6.0的几个主要的变化,查看查看官网的这篇文章http://devel转载 2017-01-06 11:19:35 · 317 阅读 · 0 评论 -
API 23之前的版本都是自动获取权限,而从 Android 6.0 开始添加了权限申请的需求,更加安全。
这里以单个存储权限为例: · 在 Manifest 中添加访问权限:(只需设置可写,因为可写必定可读) · 动态申请权限的过程: 1 package com.dragon.android.permissionrequest; 2 3 import android.Manifest; 4 import an转载 2017-01-05 10:16:52 · 1274 阅读 · 2 评论 -
OkHttpUtils一个专注于让网络请求更简单的框架
一句话概括,OkHttpUtils一个专注于让网络请求更简单的网络请求框架,对于任何形式的网络请求只需要一行代码。项目地址:https://github.com/jeasonlzy/okhttp-OkGo联系方式:QQ群(489873144)如果你想直接运行apk看效果,点击这里下载:okhttputils_v1.8.1.apk其中Demo中用到的图片选择是我的另一个开源项目,完全仿微信的转载 2016-12-09 17:40:43 · 1099 阅读 · 0 评论 -
检测Android应用的启动与关闭
原文链接 : Determine when App is Opened or Closed原文作者 : Bill Donahue译文出自 : 开发技术前线 www.devtf.cn译者 : xianjiajun校对者: Mr.Simple校对者: chaossss状态 : 完成问题当开发安卓程序的时候,我们不免需要去检测应用什么时候在前台运行,用户什么时候离开。不幸的是,没转载 2016-12-09 11:49:41 · 1144 阅读 · 0 评论 -
PullToRefresh下拉刷新 加载更多 详解 +示例
常用设置项目地址:https://github.com/chrisbanes/Android-PullToRefresha. 设置刷新模式如果Mode设置成Mode.PULL_FROM_START或Mode.PULL_FROM_END,可以设置Listener为OnRefreshListener,并实现onRefresh()方法;当然此时也可以设置Listener为On转载 2016-12-07 13:47:20 · 1033 阅读 · 0 评论 -
Android数据库更新并保留原来数据的实现
Andoird的SQLiteOpenHelper类中有一个onUpgrade方法。帮助文档中只是说当数据库升级时该方法被触发。经过实践,解决了我一连串的疑问:1. 帮助文档里说的“数据库升级”是指什么?你开发了一个程序,当前是1.0版本。该程序用到了数据库。到1.1版本时,你在数据库的某个表中增加了一个字段。那么软件1.0版本用的数据库在软件1.1版本就要被升级了。转载 2016-12-13 10:52:01 · 445 阅读 · 0 评论 -
GSON方式生成和解析json数据
客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象。但是用jsonObject和jsonArray解析相对麻烦。利用Gson和阿里的fastjson可以很方便的将下面四种常用的数据转换成json字符串,并能够将其解析成原数据对象。类型一:JavaBean类型二:List类型三:List类型四:List>转载 2016-11-18 14:13:44 · 489 阅读 · 0 评论 -
OkHttpUtils - 封装了okhttp的网络框架
OkHttpUtilsOkHttpUtils - 封装了okhttp的网络框架,目前Get,Post的请求已经完成,支持大文件上传下载,上传进度回调,下载进度回调,表单上传(多文件和多参数一起上传),链式调用,整合Gson,自动解析返回对象,支持Https和自签名证书,支持cookie自动管理,后期将要实现的功能,统一的上传管理和下载管理。该项目是根据:https://github.com转载 2016-11-18 13:50:06 · 575 阅读 · 0 评论 -
OkHttpUtils
封装了okhttp的网络框架,支持大文件上传下载,上传进度回调,下载进度回调,表单上传(多文件和多参数一起上传),链式调用,可以自定义返回对象,支持Https和自签名证书,支持cookie自动管理,支持四种缓存模式缓存网络数据,支持301、302重定向,扩展了统一的上传管理和下载管理功能1.用法为了方便大家使用,更加通俗的理解http的网络协议,建议做网络请转载 2016-11-18 11:09:56 · 1585 阅读 · 0 评论 -
Android ANR的产生与分析
ANR即Application Not Responding应用无响应,一般在ANR的时候会弹出一个应用无响应对话框。也许有些开发者在使用某些手机开发中不在弹出应用无响应弹出框,特别是国产手机Android4.0以上的系统中,即使在开发者选项中设置了“显示所有应用无响应-为后台应用显示无响应ANR对话框”,主要是因为在某些国产手机系统中就将该选项屏蔽了,应用超过了一定时间无响应也不会弹出ANR对话转载 2017-08-04 16:19:30 · 8771 阅读 · 0 评论 -
Android 屏幕适配:最全面的解决方案
前言Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合:Google的官方权威适配文档郭霖: Android官方提供的支持不同屏幕大小的全部方法Stormzhang:Android 屏幕适配鸿洋:Android 屏幕适配方案凯子: Android屏幕适配全攻略(最权威的官方适配指导)自身的思考&实践给你带来一种全新、全面而逻辑清晰的Andro转载 2017-06-29 16:28:43 · 521 阅读 · 0 评论 -
Android APK反编译就这么简单 详解(附图)
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)转载 2016-08-02 10:34:26 · 424 阅读 · 0 评论 -
Android8.0未知来源应用安装权限最好的适配方案
Android8.0未知来源应用安装权限最好的适配方案你弄啥嘞24 天前Android8.0的诸多新特性中有一个非常重要的特性:未知来源应用权限以前安装未知来源应用的时候一般会弹出一个弹窗让用户去设置允许还是拒绝,并且设置为允许之后,所有的未知来源的应用都可以被安装。Android8.0的变化是,未知应用安装权限的开关被除掉,取而代之的是未知来源应用转载 2018-01-20 15:14:56 · 17356 阅读 · 2 评论 -
解决Android7.0 更新安装包时不能自动安装问题
项目中发现在自动更新功能的时候,下载好了apk的文件后在android7.0系统中不能自动跳到安装界面,后来搜索了一番解决了问题,但感觉没有描述清楚,所以补充一下。每个Android版本的发布,对于安全性问题的要求越来越高,也为Android程序员增加了额外的工作量。Android6.0引入动态权限控制(Runtime Permissions),Android7.0引入私有目录被限制访问和Str转载 2018-01-20 15:11:33 · 6862 阅读 · 0 评论 -
Retrofit(OKHttp)多BaseUrl情况下url实时自动替换完美解决方法
前言多数项目中会出现用到多个BaseUrl的情况,而Retrofit未提供实时切换BaseUrl的方法,且我们在使用Retrofit以及OkHttp时,通常使用单例模式创建Retrofit和OkHttpClient,也不可能每个请求都创建一个Retrofit实例。面对这个实际问题,我们需要做的不仅仅是解决当前问题,更应该从根本上解决该问题,即实现任何情况下的自动切换BaseUrl。 主要用转载 2018-01-23 16:18:26 · 14583 阅读 · 3 评论 -
Android基础入门教程——2.2.6 AbsoluteLayout(绝对布局)
Android基础入门教程——2.2.6 AbsoluteLayout(绝对布局)标签(空格分隔): Android基础入门教程本节引言:前面已经介绍了,Android中的五大布局,在本节中会讲解第六个布局AbsoluteLayout(绝对布局), 之所以把这个放到最后,是因为绝对布局,我们基本上都是不会使用的,当然你也可以直接跳过这一 篇博文,不过作为一个转载 2017-11-30 08:59:08 · 404 阅读 · 0 评论 -
Android基础入门教程——2.2.5 GridLayout(网格布局)
本节引言:今天要介绍的布局是Android 4.0以后引入的一个新的布局,和前面所学的TableLayout(表格布局) 有点类似,不过他有很多前者没有的东西,也更加好用,可以自己设置布局中组件的排列方式可以自定义网格布局有多少行,多少列可以直接设置组件位于某行某列可以设置组件横跨几行或者几列另外,除了上述内容外,本节还会给大家使用gridLayout时会遇到的转载 2017-11-29 17:36:22 · 1192 阅读 · 0 评论 -
Android基础入门教程——2.2.4 FrameLayout(帧布局)
本节引言:FrameLayout(帧布局)可以说是六大布局中最为简单的一个布局,这个布局直接在屏幕上开辟出 一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式 却没有任何的定位方式,所以它应用的场景并不多;帧布局的大小由控件中最大的子控件决定,如果控件 的大小一样大的话,那么同一时刻就只能看到最上面的那个组件!后续添加的控件会覆盖前转载 2017-11-29 17:17:27 · 335 阅读 · 0 评论 -
Android基础入门教程——2.2.3 TableLayout(表格布局)
本节引言:前面我们已经学习了平时实际开发中用得较多的线性布局(LinearLayout)与相对布局(RelativeLayout), 其实学完这两个基本就够用了,笔者在实际开发中用得比较多的也是这两个,当然作为一个好学的程序猿, 都是喜欢刨根问题的,所以虽说用得不多,但是还是有必要学习一下基本的用法的,说不定哪一天能用得上呢! 你说是吧,学多点东西没什么的,又不吃亏!好了,扯淡转载 2017-11-29 15:28:18 · 312 阅读 · 0 评论 -
Android基础入门教程——2.2.2 RelativeLayout(相对布局)
本节引言:在上一节中我们对LinearLayout进行了详细的解析,LinearLayout也是我们 用的比较多的一个布局,我们更多的时候更钟情于他的weight(权重)属性,等比例划分,对屏幕适配还是 帮助蛮大的;但是使用LinearLayout的时候也有一个问题,就是当界面比较复杂的时候,需要嵌套多层的 LinearLayout,这样就会降低UI Render的效率(渲转载 2017-11-29 14:49:23 · 211 阅读 · 0 评论 -
Android基础入门教程——2.2.1 LinearLayout(线性布局)
本节引言:本节开始讲Android中的布局,Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局) 而今天我们要讲解的就是第一个布局,LinearLayout(线性布局),转载 2017-11-29 14:28:16 · 319 阅读 · 0 评论 -
Android性能优化之使用线程池处理异步任务
说到线程,我想大家都不陌生,因为在开发时候或多或少都会用到线程,而通常创建线程有两种方式:1、继承Thread类 2、实现Runnable接口虽说这两种方式都可以创建出一个线程,不过它们之间还是有一点区别的,主要区别在于在多线程访问同一资源的情况下,用Runnable接口创建的线程可以处理同一资源,而用Thread类创建的线程则各自独立处理,各自拥有自己的资源。转载 2017-11-11 10:52:54 · 234 阅读 · 0 评论 -
Android开发--更换字体
开发中,经常遇到需要更换字体格式,设计妹子为了让UI更美,设置了很多让人着(tong)迷(ku)的字体,但是蓝瘦归蓝瘦,还是得撸起袖子开干。Android系统中,默认提供三种字体:"sans", "serif", "monospace"如果设置字体为系统字体之一,在XML中,直接设置字体格式:1、sans<TextView Android:id="@+id/转载 2017-10-14 17:01:25 · 1345 阅读 · 0 评论 -
Android开发高级进阶——多进程间通信
如果一个进程占用内存超过了这个内存限制,就会报OOM的问题,很多涉及到大图片的频繁操作或者需要读取一大段数据在内存中使用时,很容易报OOM的问题。为了彻底地解决应用内存的问题,Android引入了多进程的概念,它允许在同一个应用内,为了分担主进程的压力,将占用内存的某些页面单独开一个进程,比如Flash、视频播放页面,频繁绘制的页面等。一. 什么是多进程?多进程就是多个进程的意思,转载 2017-09-06 11:53:57 · 303 阅读 · 0 评论 -
Android 快速开发框架:推荐10个框架:afinal、ThinkAndroid、andBase、KJFrameForAndroid、SmartAndroid、dhroid..
对于Android初学者以及对于我们菜鸟,这些大神们开发的轻量级框架非常有用(更别说开源的了)。 下面转载这10个框架的介绍:(按顺序来吧没有什么排名)。一、 Afinal官方介绍:Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过fi转载 2016-10-14 11:56:24 · 284 阅读 · 0 评论 -
Android:WebView与Javascript交互(相互调用参数、传值)
Android中可以使用WebView加载网页,同时Android端的java代码可以与网页上的javascript代码之间相互调用。效果图:(一)Android部分:布局代码: xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_par转载 2016-10-11 13:52:11 · 409 阅读 · 0 评论 -
ScrollView下,ListView【生存之道】
首先讲一下我遇到的需求吧,页面是这样的,上边有东西,中间是列表,下边还有东西。首先我看到列表立刻就想到了用ListView,但是页面有限,只能用ScrollView包一下。想到就做呗。我就在ScrollView里面加了一个ListView, ListView设置的是wapcontent,这样就出现了ListView数据只显示出了一行。好的,解决问题的方案就来了。一.设置scrollView转载 2016-08-15 09:05:26 · 207 阅读 · 0 评论 -
android如何查看cpu的占用率和内存泄漏
在分析内存优化的过程中,其中一个最重要的是我们如何查看cpu的占用率和内存的占用率呢,这在一定程度上很重要,经过查询资料,研究了一下,暂时了解到大概有以下几种方式,如果哪位高手有更好的办法,或者文中描述有错误,还望高手在下面留言,非常感谢! 一、 通过eclipse,ADT开发工具的DDMS来查看(Heap) 在“Devices”窗口中转载 2016-05-04 15:46:25 · 374 阅读 · 0 评论 -
ScrollView下,ListView重复调用getview解决方案
首先讲一下我遇到的需求吧,页面是这样的,上边有东西,中间是列表,下边还有东西。首先我看到列表立刻就想到了用ListView,但是页面有限,只能用ScrollView包一下。想到就做呗。我就在ScrollView里面加了一个ListView, ListView设置的是wapcontent,这样就出现了ListView数据只显示出了一行。好的,解决问题的方案就来了。一.设置scrollView转载 2016-05-03 11:10:53 · 383 阅读 · 0 评论 -
Android开发规范
一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4.layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如下LayoutView:lv转载 2015-06-03 15:34:01 · 382 阅读 · 0 评论 -
Android动画效果translate、scale、alpha、rotate详解
动画类型Android的animation由四种类型组成XML中alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果JavaCode中AlphaAnimation渐变透明度动画效果转载 2015-04-29 11:40:58 · 388 阅读 · 0 评论 -
Android高手进阶——Adapter深入理解与优化
一般是针对包含多个元素的View,如ListView,GridView,ExpandableListview,的时候我们是给其设置一个Adapter。Adapter是与View之间提供数据的桥梁,也是提供每个Item的视图桥梁。以ListView为例,其工作原理为:● ListView针对List中每个item, adapter都会调用一个getView的方法获得布局视转载 2014-12-11 11:54:26 · 290 阅读 · 0 评论