移动端
文章平均质量分 97
专注移动端..
贾修行
我的程序修行之路...
展开
-
调用第三方地图导航,高德、百度、谷歌,无需引用sdk
先判断是否存在地图,存在就可以进入导航,没有的话就默认进入市场下载app,代码如下:i1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new AlertDialog.Builder(mContext).setSingleChoiceI...转载 2018-03-26 15:55:23 · 2155 阅读 · 0 评论 -
版本管理:TotoiseSVN的基本使用方法 一
转载自:http://www.cnblogs.com/xilentz/archive/2010/05/06/1728945.html一、签入源代码到SVN服务器假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示:图转载 2017-02-13 15:59:05 · 860 阅读 · 0 评论 -
版本管理:Git之常用命令
安装git1、如果你的系统是Linux的话,直接打开shell输入:sudo apt-get install git2、Windows版的Git,从https://git-for-windows.github.io下载(网速慢的同学请移步国内镜像),然后按默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东原创 2017-02-13 10:51:06 · 268 阅读 · 0 评论 -
谷歌地图开发:地理编码和反地理编码
谷歌地图Geocoding说明:内容主要来自谷歌官网的文档,谷歌地图android api地理和反地理编码反应迟钝内容有时不准确,这里使用的googlemap的webapi接口。嗯,需要vpn这个不多做说明了...什么是地理编码?地理编码是将地址(如“1600 Amphitheatre Parkway, Mountain View, CA”)转换为地理坐标(如纬度 37.42302原创 2017-02-10 18:12:59 · 12184 阅读 · 3 评论 -
android studio配置git和github进行版本控制
1.安装配置默认大家都已经安装了Git软件,参考下图进行git与as关联配置git ,找到你的git安装的bin目录设置GitHub用户信息 填写完用户名,密码后可以点击Test,出现下图怎么配置成功2.分享项目到GitHub开启GitHun插件 创建关联的库,点击Share进行分享原创 2017-02-10 10:29:04 · 479 阅读 · 1 评论 -
高德,百度,Google地图定位偏移以及坐标系转换
转载自:http://blog.csdn.net/a13570320979/article/details/51366355一。在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系:1.WGS-84原始坐标系,一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位拿到的原始经纬度,Google和高德地图定位的的经纬度(国外)都是基于WGS-84坐标系的;但是在国内是不允许转载 2017-02-09 15:58:21 · 1476 阅读 · 0 评论 -
android 对象序列化Parcelable,Serializable详解
Parcelable重写原则:通过writeToParcel将你的对象映射成Parcel对象,再通过createFromParcel将Parcel对象映射成你的对象。也可以将Parcel看成是一个流,通过writeToParcel把对象写到流里面,在通过createFromParcel从流里读取对象,只不过这个过程需要你来实现,因此写的顺序和读的顺序必须一致。Serializable的实现只需要继承即可;原创 2016-12-20 14:10:31 · 1227 阅读 · 0 评论 -
RectF、Rect和PointF、Point类的区别
在android中有两组类比较相似1、Android.graphics.Rect类,初始化为:public Rect(int left, int top, int right, int bottom) {this.left = left;this.top = top;this.right = right;this.bottom = bottom;}2、And原创 2016-12-22 11:14:48 · 10960 阅读 · 1 评论 -
Android中Parcelable接口用法
转载自:http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html1. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing转载 2016-01-12 10:52:18 · 379 阅读 · 0 评论 -
getWindow().setFlags
//设置窗体全屏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //设置窗体始终点亮getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEE转载 2016-01-07 15:41:41 · 399 阅读 · 0 评论 -
谷歌地图开发:地图对象操作
向 Android 应用添加地图添加地图的基本步骤如下:(此步骤只需执行一次。) 按照项目配置指南中的步骤获取 API,获得密钥,然后 将所需属性添加到您的 Android 清单文件中。向将处理地图的 Activity 添加 Fragment 对象。 最简单的实现方式是,向 Activity 的布局文件添加 元素。实现 OnMapReadyCallback 接口,并 使用原创 2017-02-14 15:19:43 · 2289 阅读 · 0 评论 -
Android网络请求框架AsyncHttpClient详解(整理)
[摘要:1.简介 Android中收集要求一样平常应用Apache HTTP Client或采纳HttpURLConnect,然则间接应用那两个类库须要写大批的代码才干完成收集post战get要求,而应用android-async-http那个库能够大大的简化] 1.简介Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需原创 2017-02-24 10:41:43 · 4360 阅读 · 0 评论 -
Android Debug 版本判断及为什么 BuildConfig.DEBUG 始终为 false
Android 开发中一般会通过 BuildConfig.DEBUG 判断是否是 Debug 模式,从而做一些在 Debug 模式才开启的特殊操作,比如打印日志。这样好处是不用在发布前去主动修改,因为这个值在 Debug 模式下为 true,Release 模式下为 false。 1. 问题如果应用只有一个 Module 没有问题,Debug 模式下 BuildConfig.DEBUG 会始终为 ...转载 2018-03-02 10:16:53 · 1361 阅读 · 0 评论 -
源码分析commitAllowingStateLoss() 和commit()的区别
之前在使用Fragment的时候偶尔会有这么一个报错,Can not perform this action after onSaveInstanceState,意思为无法再onSaveInstanceState之后执行该操作,这个操作就是指commit(),之前也没怎么在意,后来通过查看源码去了解了一下这个问题,以下是对这个问题的解析及对应解决办法的对比。 Fragment是我们经...转载 2018-03-01 10:38:12 · 405 阅读 · 1 评论 -
Android网络请求框架AsyncHttpClient详解
1.简介Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用android-async-http这个库可以大大的简化操作,它是基于Apache’s HttpClient ,所有的请求都是独立在UI主线程之外,通过回调方法处理请求结果,采用android Handl...原创 2016-05-20 16:38:18 · 22800 阅读 · 5 评论 -
详细使用Transformations实现圆角或圆形图片
转载自:http://blog.csdn.net/woblog/article/details/51303389简介现在基本上每个应用的头像都是圆形,可是真实的图片却不是,需要我们自己处理,原来的处理方式是自定义ImageView或者使用第三方库,比如:CircleImageView ,但这里我们讲的是使用Glide来实现这样的效果,框架默认是没有提供这样的实现,但是这个框架提供了很灵活的框架,我...转载 2018-02-26 11:40:47 · 492 阅读 · 0 评论 -
为什么要用Fragment.setArguments(Bundle bundle)来传递参数
转载自:http://blog.csdn.net/tu_bingbing/article/details/24143249Fragment在Android3.0开始提供,并且在兼容包中也提供了Fragment特性的支持。Fragment的推出让我们编写和管理用户界面更快捷更方便了。但当我们实例化自定义Fragment时,为什么官方推荐Fragment.setArguments(Bundle bun...转载 2018-02-26 10:45:58 · 495 阅读 · 0 评论 -
Retrofit2 完全解析 探索与okhttp之间的关系
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/51304204; 本文出自:【张鸿洋的博客】一、概述之前写了个okhttputils的工具类,然后有很多同学询问这个工具类和retrofit什么区别,于是上了下官网,发现其底层对网络的访问默认也是基于okhttp,不过retrofit非常适合于rest转载 2017-04-14 15:59:27 · 945 阅读 · 0 评论 -
EventBus源码解析
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40920453,本文出自:【张鸿洋的博客】让大家深入理解该框架的实现,也能解决很多在使用中的疑问:为什么可以这么做?为什么这么做不好呢?1、概述一般使用EventBus的组件类,类似下面这种方式:[java] view pla转载 2017-04-12 15:04:35 · 302 阅读 · 0 评论 -
APK Signature Scheme v2官方介绍
Android 7.0 引入一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。在默认情况下,Android Studio 2.2 和 Android Plugin for Gradle 2.2 会使用 APK Signature Scheme v2 和传统签名方案来签署您的应用。如果您使用 APK Signatu原创 2017-03-07 17:59:33 · 2408 阅读 · 0 评论 -
android sqlite中String日期查询转换操作
如果表结构是Date类型比较好办直接操作就可以了这个不多说;如果表结构是String类型则需要在查询时把要查找的字段转换为Date来和其他的日期比较后作为查询条件Cursor mCursor = db.query(true, DATABASE_SLEEP_TABLE, new String[] { KEY_SLEEP_ROWID, KEY_SLEE原创 2017-03-08 18:37:51 · 1801 阅读 · 0 评论 -
android之存储篇_SQLite数据库
转载自:http://blog.csdn.net/jason0539/article/details/10248457SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。 但有一种情况例外:定义为INTEGER PR转载 2017-03-08 18:30:18 · 301 阅读 · 0 评论 -
Android蓝牙4.0 ble开发初步理解 (一)
一、关键概念:Generic Attribute Profile (GATT)通过BLE连接,读写属性类小数据的Profile通用规范。现在所有的BLE应用Profile都是基于GATT的。 Attribute Protocol (ATT)GATT是基于ATT Protocol的。ATT针对BLE设备做了专门的优化,具体就是在传输过程中使用尽量少的数据。每个原创 2015-12-23 11:10:59 · 877 阅读 · 0 评论 -
android中的ellipsize
最近为了解决某个bug,textview中内容过长的话自动换行,但是调用measureText函数时发现返回值很不准确,单位也不确定,是pixel还是dip,都不准。后来想起textview中有个内容过长加省略号的属性,即ellipsize,可以较偷懒地解决这个问题,哈哈~用法如下:在xml中android:ellipsize = "end" 省略号在结尾an转载 2016-01-05 09:59:36 · 333 阅读 · 0 评论 -
android输入法ImeOptions
默认情况下软键盘右下角的按钮为“下一个”,点击会到下一个输入框,保持软键盘 设置 android:imeOptions="actionDone" ,软键盘下方变成“完成”,点击后光标保持在原来的输入框上,并且软键盘关闭 android:imeOptions="actionSend" 软键盘下方变成“发送”,点击后光标移动下一个转载 2015-12-02 15:19:30 · 550 阅读 · 0 评论 -
dispatchTouchEvent,onUserInteraction,onTouchEvent 调用时序
一、只有一个Activity时:一次拇指点击事件(包括ACTION_DOWN,ACTION_UP),调用时序如下:dispatchTouchEventonUserInteractiononTouchEvent (ACTION_DOWN)dispatchTouchEvent onTouchEvent (ACTION_UP,不会触发onUse原创 2015-08-04 17:27:29 · 467 阅读 · 0 评论 -
Android中的“再按一次返回键退出程序”实现
// 退出程序时在一定时间内连续按返回键时,设定初始值时间private long exitTime = 0;@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK&& event.getAction() == KeyEvent.AC原创 2015-08-03 11:03:35 · 417 阅读 · 0 评论 -
EditText设置/隐藏光标位置、选中文本和获取/清除焦点
有时候需要让光标显示在EditText的指定位置或者选中某些文本。同样,为了方便用户输入以提升用户体验,可能需要使EditText获得或失去焦点。1. 设置光标到指定位置12EditText et = (EditText) findViewById(R.id.etTest);et.setSelection(2);转载 2015-08-27 18:04:39 · 540 阅读 · 0 评论 -
android开发中EditText自动获取焦点时隐藏hint的代码
只需让EditText设置以下的OnFocusChangeListener就可以了 private OnFocusChangeListener mOnFocusChangeListener = new OnFocusChangeListener() { @Override public void onFocusChange(Vi原创 2015-08-27 18:00:25 · 1298 阅读 · 0 评论 -
CharSequence与String的区别是什么
CharSequence与String都能用于定义字符串,但CharSequence的值是可读可写序列,而String的值是只读序列。CharSequence是实现这个接口的实例 举例: CharSequence str = "dd"; 就是 CharSequence str = new String("dd");CharSequence是封装好的类这是一个接口,代表的是一原创 2015-07-30 13:24:15 · 24552 阅读 · 2 评论 -
自定義佈局顯示dialog
JAVA代碼:ffinal AlertDialog mAlertDialog = new Builder(a).create();mAlertDialog.show();// 必须放在getWindow之前,否则会报异常Window mWindow = mAlertDialog.getWindow();mWindow.setContentView(R.layout.my_alertdialog_2原创 2015-08-26 19:12:54 · 375 阅读 · 0 评论 -
android:shape的使用
shape> 实心 --> solid android:color="#ff9d77"/> 渐变 --> gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:angle="270" /原创 2015-08-26 19:09:49 · 419 阅读 · 0 评论 -
CharSequence类型
CharSequence类型这是一个接口,代表的是一个有序字符集合,这个接口包含的方法有:charAt(int index),toString(),length(),subSequence(int start,int end).这里需要说的一点就是,对于一个抽象类或者是接口类,不能使用new来进行赋值,但是可以通过以下的方式来进行实例的创建:CharSequence cs="hello原创 2015-07-30 12:01:19 · 654 阅读 · 0 评论 -
android-如何关闭AlertDialog.Builder对话框
错误:E/WindowManager(21192): android.view.WindowLeaked: Activity com.kidswatch.ui.StartAppActionActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{4291ca08 V.ED....原创 2015-08-24 10:06:27 · 2304 阅读 · 0 评论 -
android intent 传递list或者对象
方法一: 如果单纯的传递List 或者List的话 就可以直接使用 Java代码 intent.putStringArrayListExtra(name, value) intent.putIntegerArrayListExtra(name, value) 方法二: 如果传递的是List,可以把list强转成Serializable类型,然后通过转载 2015-03-09 14:37:57 · 307 阅读 · 0 评论 -
Android使用UncaughtExceptionHandler捕获全局异常
Android系统的“程序异常退出”,给应用的用户体验造成不良影响。为了捕获应用运行时异常并给出友好提示,便可继承UncaughtExceptionHandler类来处理。通过Thread.setDefaultUncaughtExceptionHandler()方法将异常处理类设置到线程上即可。 1、异常处理类,代码如下:[java] view plain转载 2015-09-29 10:10:36 · 275 阅读 · 0 评论 -
Android Fragment 真正的完全解析(下)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上)。本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity转载 2015-10-09 19:04:18 · 277 阅读 · 0 评论 -
android:descendantFocusability用法简析
开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者C原创 2015-12-01 13:53:30 · 348 阅读 · 0 评论 -
Android Service学习之IntentService 深入分析
官方的解释是:IntentService is a base class for Services that handle asynchronous requests (expressed as Intents) on demand. Clients send requests through android.content.Context.startService(Inten转载 2015-12-18 14:39:07 · 363 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别??
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常转载 2015-12-16 18:48:04 · 310 阅读 · 0 评论