android
文章平均质量分 78
持经达变-智者
这个作者很懒,什么都没留下…
展开
-
sqlLiteHelper 类的使用
sqlLiteHelper 类的使用import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelp...原创 2018-04-20 17:44:35 · 545 阅读 · 0 评论 -
话说MVP in Android
一、概述对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让Model和View完全解耦”等等。本篇博文仅是为了做下记录,提出一些自己的看法,和帮助大家如何针对一个Activity页面去编写针对MVP风格的代码。对于MVP,我的内心有一个问题:为何这个模式出来后,就能被广大的Android的程序员接受呢?问了些程序员,他们对于MVP的普遍的认识是...转载 2018-03-02 13:26:49 · 147 阅读 · 0 评论 -
Android官方MVP架构解读
综述 对于MVP (Model View Presenter)架构是从著名的MVC(Model View Controller)架构演变而来的。而对于Android应用的开发中本身可视为一种MVC架构。通常在开发中将XML文件视为MVC中的View角色,而将Activity则视为MVC中的Controller角色。不过更多情况下在实际应用开发中Activity不能够完全充当Controller,...转载 2018-03-02 13:01:48 · 146 阅读 · 0 评论 -
Android 设置popupWindow的按键监听
用自定以的View的PopupWindow的时候,其中有两个按钮,一个响应向左按键,一个响应向右按键。所以要加一个按键监听。但是在popupWindow所在的Activity里监听,在popupWindow弹出时候,是不会触发。修改的地方就是在popupWindow的主View 上,我这里变量为View popView,设置一个参数,如下popView.setFocusableInTouchMod...原创 2018-03-02 11:09:52 · 3854 阅读 · 0 评论 -
uri获取file路径为空null的解决办法
今天调用系统自带的FileChooser后,根据Intent返回的uri获取路径的时一直返回null。这个问题很奇怪,最后发现验证用的华为P7是Android 4.4系统。先看下4.4之前的uri的形式:[java] view plain copyUri : content://media/extenral/images/media/17766 是不是很熟悉?再看4.4及以后的Uri形式:[ja...转载 2018-03-02 09:51:24 · 3794 阅读 · 0 评论 -
MVC,MVP 和 MVVM 的图示
一、MVCMVC模式的意思是,软件可以分成三个部分。视图(View):用户界面。控制器(Controller):业务逻辑模型(Model):数据保存各部分之间的通信方式如下。View 传送指令到 ControllerController 完成业务逻辑后,要求 Model 改变状态Model 将新的数据发送到 View,用户得到反馈所有通信都是单向的。二、互动模式接受用户指令时,MVC 可以分成两种...转载 2018-03-02 08:47:18 · 128 阅读 · 0 评论 -
Android PopupWindow的使用和分析
PopupWindow使用 PopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。 PopupWindow使用Demo 这个类的使用,不再过多解释,直接上代码吧。 比如弹出框的布局:xml version="1.0" encoding="utf-8"转载 2018-03-01 18:01:46 · 146 阅读 · 0 评论 -
View的坐标系以及X、rawX、translationX、scrollX的区别
简单介绍一下View的坐标系:view的位置由left、top、right、bottom四个属性决定,这几个坐标可以通过getLeft()、getTop()、getRight()、getBottom()获取。注意这四个坐标是相对坐标,即相对于父容器的坐标。当view发生移动时,这几个坐标是不变的。从Android 3.0开始,增加了几个参数:x、y、translationX、translation...转载 2018-03-01 14:04:55 · 558 阅读 · 0 评论 -
android 获取屏幕的宽度和高度
1.像素形式 获取屏幕高度和宽度WindowManager wm = getActivity().getWindow().getWindowManager();Display display = wm.getDefaultDisplay();DisplayMetrics metrics = new DisplayMetrics();display.getMetrics(metrics);mWidt...原创 2018-03-01 11:35:42 · 178 阅读 · 0 评论 -
android获取各种系统路径的方法
通过Environment获取的Environment.getDataDirectory().getPath() : 获得根目录/data (内部存储路径)Environment.getDownloadCacheDirectory().getPath() : 获得缓存目录/cacheEnviro...转载 2018-03-01 08:52:31 · 233 阅读 · 0 评论 -
【Android】[转] Android屏幕旋转使用OrientationEventListener的监听
说明遇到一个奇葩的问题,我在使用onConfigChanged拦截屏幕的横竖屏旋转时,发现直接进行180度的横屏/竖屏转换居然没有反应!查找原因发现仅对landscape或者portrait状态有用,而同属于landscape的reverse_landscape并不受影响。那么问题怎么破呢?刚开始想到了用Sensor的状态来监听当前屏幕状态,可是发现针对加速度传感器或者陀螺仪的参数来进行判断太麻烦...转载 2018-02-28 18:04:45 · 789 阅读 · 0 评论 -
图片转换成Base64格式的字符串
在开发中会遇到上传图片到服务端的需求,需要把图片转换Base64 格式的字符串。 /** * 图片装换成Base64字符串 * @param path 路径 * @return Base64字符串 */ public static synchronized String imgToBase64String(String path) { File file = new F...原创 2018-03-02 14:41:49 · 2191 阅读 · 0 评论 -
androd Sqlite 事务处理
应用程序初始化时需要批量的向sqlite中插入大量数据,单独的使用for+Insert方法导致应用响应缓慢,因为 sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。我的应用初始5000条记录也就是要5000次读写磁盘操作。而且不能保证所有数据都能同时插入。(有可能部分插入成功,另外一部分失败,后续还得删除。太麻烦)解决方法:添加事务处理,把5000条插入作为一个事...转载 2018-04-23 23:10:18 · 125 阅读 · 0 评论 -
java 16 进制和字符串(中英文)的转换
/** * 字符串转换成为16进制(无需Unicode编码) * @param str * @return */ public static String str2HexStr(String str) { char[] chars = "0123456789ABCDEF".toCharArray(); StringBuilder sb = new StringBuilde...原创 2018-04-22 21:58:08 · 3488 阅读 · 0 评论 -
从Eclipse到Android Studio:Android项目如何进行迁移
一开始我们学习Android开发,基本上都是从Eclipse上开始的,随着Google推出Android Studio,这一情况慢慢有了改变。未来很长一段时间将会呈现Eclipse和AS相互存在的情况,并且使用AS开发将会占据优势。所以如何把之前在Eclipse中开发的项目移植到AS中,变成一个非常重要的问题。本文将会来解决这个难题。具体实现步骤如下:(1)首先在Eclipse中创建一个Andro...转载 2018-03-03 14:55:50 · 336 阅读 · 0 评论 -
带你玩转Eclipse项目转成AndroidStudio项目
随着Android对Eclipse开发工具的淘汰,越来越多的公司使用AndroidStudio进行相应的Android开发工作。如此,原来用Eclipse开发的项目,怎么导入到AndroidStudio中呢?今天我们就来聊聊这开发中最基本的事。好了,长话短说,下面正式开始介绍。经过本人反复的尝试,总结出Eclipse项目导入到AndroidStudio主要有三种方法: 1.复制法(主要是新建一个项...转载 2018-03-03 14:31:21 · 1127 阅读 · 0 评论 -
android dp 和像素的相互转换
public class PixAndDpUtil { //dp转换成像素 public static int dp2px(int value,Context context) { return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, value,context.getResources().getDisplayM...原创 2018-03-02 16:05:11 · 4595 阅读 · 0 评论 -
android SharePreference 的使用
//SharePreference 文件的写入public class SharePreferenceUtils { public synchronized static void save(Map<String, String> items,Context context) { if(items == null || items.size() == 0) return; Sh...原创 2018-03-02 16:00:54 · 304 阅读 · 0 评论 -
android 字符串转换成JSON对象
public class JsonHelper { public static Class<?> kindClass; /** * @Summary 获取一个json对象 * @param JsonString 一个json格式的字符串 * @return 正常返回一个json对象 异常返回 null */ public static synchronized JSON...原创 2018-03-02 15:56:27 · 23672 阅读 · 0 评论 -
java 判断是否为数字(整数、浮点数、正负数)
public class ExpressionUtils { /** * 判断该字符串是否为整数或浮点数 * @param input 字符串 * @return 是返回true 否则返回false */ public static synchronized boolean isNumber(String input) { if(input == null || "".equals...原创 2018-03-02 15:50:55 · 4826 阅读 · 0 评论 -
android 压缩图片、生成缩略图 和转换Base64格式的字符串
public class BitmapHelper { /** * 压缩图片 * @param path 图片路径 * @param widthR 要显示的宽度 * @param heightR 要显示的高度 * @return 压缩后的图片 */ public static synchronized Bitmap decodeBitmapFromPath(String path, ...原创 2018-03-02 15:44:24 · 598 阅读 · 0 评论 -
android volley 调用webService
本实例只介绍Volley 如何调用webService 的,至于Volley 的使用求请参考 https://www.jianshu.com/p/338fcc95ce2f实例文件说明: 本实例共3文件VolleyCallWebService.java 文件生成请求参数VolleySingleton.java 获取Volley实例1. VolleyCallWebService.java 文件...原创 2018-03-02 15:39:33 · 440 阅读 · 0 评论 -
Android相机实时自动对焦的完美实现
Android相机实时自动对焦的完美实现想写这篇文章很久了,去年十月份接触了相机这一块的知识,由于android碎片化严重,而且各大厂商极有可能去修改相关API的实现,其中遇到了不少坑,包括实时相机高斯模糊,自动对焦的兼容问题,以及一系列性能问题。换过很多搜索引擎,访问过很多网站,访问过很多网站,拜读过很多代码,没有发现对于相机实时自动对焦特别完美的实现方式。现对相机的自动对焦问题单独做一个记录,...转载 2018-02-28 15:03:43 · 816 阅读 · 0 评论 -
android activity 全屏显示
//隐藏标题requestWindowFeature(getWindow().FREATURE_NO_TITLE);//隐藏状态栏getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);//完整代码如下public void onCreate(Bundle savedInstanceState) { // hi...原创 2018-02-27 15:40:29 · 408 阅读 · 0 评论 -
android 清除缓存数据
/* * 文 件 名: DataCleanManager.java * 描 述: 主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 */import java.io.File;import android.content.Context;import android.os.Environment;转载 2016-09-29 09:48:16 · 356 阅读 · 0 评论 -
Activity启动模式与任务栈(Task)
任务栈简单入门 最近又把两本进阶书看了一遍,但总感觉好记性不如烂笔头,所以还是决定通过博客记录一下,我们将分两篇来全面深入地记录Activity 启动模式与任务栈的内容。android任务栈简单了解1. Android任务栈又称为Task,它是一个栈结构,具有后进先出的特性,用于存放我们的Activity组件。 2. 我们每次打开一个新的Activity或者退出当前A转载 2016-09-29 08:59:25 · 349 阅读 · 0 评论 -
Android开发之如何保证Service不被杀掉(broadcast+system/app)
序言最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill,这可真是一个难题。参考了现今各种定制版的系统和安全厂商牛虻软件,如何能保证自己的Service不被杀死呢?其实除了常规的手段,我们可以参考一下微信和360,设置-程序-正在运行,可以看到微信是同时开启了两个进程和服务:【有兴趣可转载 2016-10-14 16:12:57 · 563 阅读 · 0 评论 -
高效的SQLSERVER分页查询(推荐)
Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页(即第45001-45030条数据),字段ID聚集索引,YEAR无索引,Sqlserver版本:2008R2第一种方案、最简单、普通的方法:转载 2016-09-01 15:02:06 · 203 阅读 · 0 评论 -
java DES 和 .net DES 互加密解密
/// C# 代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms; using Sys原创 2016-08-16 09:53:41 · 461 阅读 · 0 评论 -
ioc 控制反转
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。 首先要分享的是Iteye的开涛这位技术牛人对Spring框架的IOC的理解,写得非常通俗转载 2016-07-07 20:49:00 · 343 阅读 · 0 评论 -
控制反转 (IOC) 设计模式
控制反转(IOC)模式(又称DI:Dependency Injection)就是Inversion of Control,控制反转。在Java开发中,IoC意 味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。 IoC(Inversion of Control)是近年来兴起的一种思想,不仅仅是编程思想。主要是协调各组件间相互的依赖关系,同时大大提高了组原创 2016-07-07 17:53:11 · 851 阅读 · 0 评论 -
Android中隐式Intent以及Intent-filter详解 和匹配规则
一、精要概述摘要 隐式意图:没有明确指定组件名的Intent为隐式意图。 对于隐式意图,Android是怎样寻找到这个最合适的组件呢?记的前面我们在定义活动时,指定了一个intent-filter,Intent Filter(意图过滤器)其实就是用来匹配隐式Intent的,当一个意图对象被一个意图过滤器进隐式意图:没有明确指定组件名的Intent为隐式意图。 对于隐式转载 2016-07-07 16:54:13 · 1282 阅读 · 0 评论 -
Android_Fragment的生命周期与返回栈BackStack
一、Fragment的生命周期初探因为Fragment必须嵌入在Acitivity中使用,所以Fragment的生命周期和它所在的Activity是密切相关的。如果Activity是暂停状态,其中所有的Fragment都是暂停状态;如果Activity是stopped状态,这个Activity中所有的Fragment都不能被启动;如果Activity被销毁,那么它其中的所有Fragment转载 2016-06-28 09:48:07 · 651 阅读 · 0 评论 -
正对Fragment Transaction BackStack的误解
转载请注明出处:http://write.blog.csdn.net/postedit/40476267目前在开发APP时,Fragment已经被开发者广泛使用,但Fragment的BackStack却被很多开发者误解。所以这篇博客就讨论下Fragment的BackStack及一些相关的常用接口。首先需要明确的是,FragmentActivity的FragmentManager是处理F转载 2016-06-28 09:35:53 · 328 阅读 · 0 评论 -
Java对象的强、软、弱和虚引用原理+结合ReferenceQueue对象构造Java对象的高速缓存器
1.Java对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到垃圾箱,想再 把它捡回来使用就不可能了。 但转载 2016-02-18 13:36:11 · 386 阅读 · 0 评论 -
Android 快速开发框架:推荐10个框架:afinal、ThinkAndroid、andBase、KJFrameForAndroid、SmartAndroid、dhroid..
标签: 开源框架多线程数据库2015-05-09 16:19 9101人阅读 评论(0) 收藏 举报 分类:android(19) 对于Android初学者以及对于我们菜鸟,这些大神们开发的轻量级框架非常有用(更别说开源的了)。 下面转载这10个框架的介绍:(按顺序来吧没有什么排名)。一、 Afinal官方介绍:转载 2016-12-22 14:50:55 · 240 阅读 · 0 评论 -
软件开发的书
http://lucida.me/blog/developer-reading-list/#apprentice_patterns原创 2017-02-18 15:05:27 · 314 阅读 · 0 评论 -
PopupWindow showAtLocation和showAsDropDown参数分析
PopupWindow 的这两个方法都是控制PopupWindow 出现的,具体分析如下:1.showAtLocation,例如:showAtLocation(findViewById(R.id.search_ib), Gravity.TOP | Gravity.RIGHT,10, 10);第一个参数:这个view是要能获取到window唯一标示的(也就是只要能获取到window 标示,view是...转载 2018-02-27 09:59:56 · 465 阅读 · 0 评论 -
android 动画属性详解
一、概述Android的animation由四种类型组成:alpha、scale、translate、rotate,对应android官方文档地址:《Animation Resources》1、XML配置文件中alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果下面我们逐个讲讲每个标签的属性及用法。2、动作文件存放位置...转载 2018-02-27 09:58:14 · 482 阅读 · 0 评论 -
Android下利用zbar类库实现扫一扫
程序源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/zbardemo.zipAndroid下常用的条码扫描类库有zxing和zbaro,比较了一下,发现zbar扫描速度更快,能够识别的条码类型更多,下面就讲解一下如何利用zbar实现扫一扫,先放上一张效果图:主要代码如下: 1.在onPreviewFrame方法里转载 2018-01-03 19:46:06 · 747 阅读 · 0 评论