![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【Android学习点滴】
文章平均质量分 72
光记Jagger
再不拼,你就老了!
展开
-
inflate方法两个参数和三个参数的区别
前言今天在lint项目的代码时,又遇到了inflate方法的参数问题,之前看过相关的文章,又没有记录下来,导致时间长了就忘记了。今天再次遇到这个问题,便老老实实记录一下LayouInflater中inflate方法两个参数和三个参数的区别。用法LayoutInflater.from(RecylerActivity.this).inflate(R.layout.my_text_view,viewGro原创 2017-05-08 16:14:58 · 6786 阅读 · 3 评论 -
在AndroidStudio中使用SVN
作者:夏海亮 链接:https://www.zhihu.com/question/32298079/answer/56010423 来源:知乎 著作权归作者所有,转载请联系作者获得授权。通过这两天对Android Studio的研究,终于搞通了Android Studio的基本操作及与SVN的相关关联操作(这样才能在公司的开发工作中使用);Google年底将会停止ADT插件的更新和支持,全面转转载 2017-01-02 12:10:41 · 1748 阅读 · 0 评论 -
RecycleView添加头部和底部
实现思路在Adapter中定义不同的布局和item状态判断item的状态,加载对应的布局文件实例代码在gradle中添加下面的依赖compile 'com.android.support:recyclerview-v7:23.1.0'compile 'com.android.support:cardview-v7:23.1.0'布局文件activity_main.xml<?xml versi原创 2016-11-24 15:46:25 · 2428 阅读 · 1 评论 -
Android的JNI开发步骤
定义并调用本地方法 public static native String getStringFromC();创建jni文件夹jni文件夹里创建c文件#include <stdio.h>#include <stdlib.h>#include "com_gjg_hellondk_MainActivity.h"JNIEXPORT jstring JNICALL Java_com_gjg_h原创 2016-10-30 23:17:23 · 308 阅读 · 0 评论 -
Android资源文件中@和?含义、区别
@代表引用资源.1、引用自定义资源:比如说定义text 格式为“@string/name”2、引用系统资源:比如说设置文本颜色,就是"@android:color/darker_gray"其实也就是引用系统资源是引用自定义资源的一个子类.@*代表引用系统的非public资源.系统资源定义分为public和非publicpublic 的声明在SDK的文件夹里面,路径是platfroms/andr原创 2016-11-10 09:25:06 · 577 阅读 · 0 评论 -
高效加载图片,避免OOM
在项目中加载图片是基本不可避免的,但是有时候加载的图片不一定是你所需要的大小,这时我们就要对图片进行缩放,使之能适应给出的大小。图像的显示是很占用内存的,若加载的方式不正确就很容易导致OOM。加载图像的方式从网络上加载从资源文件中加载从文件中加载上面的三中方式分别对应的是BitmapFactory的decodeStream, decodeFile,decodeResource方法,这三个原创 2016-07-21 17:57:06 · 519 阅读 · 0 评论 -
在onCreate()方法中获得view的宽高
在onCreate()方法中获得view的宽高,用一般的方法,如下:img = (ImageView) findViewById(R.id.test_img);int width=img.getWidth();int height=img.getHeight();这时所获得的宽和高均为0,因为在onCreate方法时ImageView还没有绘制好,在这个时候获取得到的就是零。 那是否有办法在o原创 2016-07-25 10:44:07 · 2741 阅读 · 1 评论 -
android-----自定义ToggleButton
系统自带的ToggleButton通常都不能满足我们的审美需求,因此需要我们自定义自己的ToggleButton。运行效果如图:工程的目录结构图:布局文件:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/原创 2015-10-01 16:39:12 · 532 阅读 · 0 评论 -
Android中Selector的用法
Android中Selector的用法Android中的Selector主要是用来改变ListView和Button控件的默认背景。它分为两种,一种Color-Selector 和Drawable-Selector。属性介绍: android:state_selected选中android:state_focused获得焦点android:state_pressed点击android:state_原创 2016-06-15 14:25:51 · 4581 阅读 · 0 评论 -
Android中ShapeDrawable资源的用法
ShapeDrawable用于定义一个基本的几何图形(如矩形、圆形、线条等),定义ShapeDrawable的XML文件的根元素是 < shape…/>详细属性如下:solid:填充 android:color指定填充的颜色gradient:渐变 android:startColor和android:endColor分别为起始和结束颜色, android:angle是渐变角度,必须为45原创 2016-06-14 23:16:42 · 3331 阅读 · 1 评论 -
Android之RecyclerView的使用总结
1.RecycleView的简介可以简单理解RecyclerView就是ListView,是一个更高级的ListView。2.RecyclerView的特点不关心Item显示在正确的位置,以及如何显示。不关心Item之间如何分割。不关注Item的添加和删除的效果。仅仅关注如何回收与复用View。3.在项目中如何引用在模块的gradle.build文件中添加如下依赖dependencies原创 2016-06-24 18:36:38 · 516 阅读 · 0 评论 -
Android自定义attr的各种坑
在开发Andorid应用程序中,经常会自定义View来实现各种各样炫酷的效果,在实现这吊炸天效果的同时,我们往往会定义很多attr属性,这样就可以在XML中配置我们想要的属性值,以下就是定义属性值可能遇到的各种坑。大家都知道怎么定义attr属性,一般如下:<declare-styleable name="Sample"> <attr name="custom" format="string转载 2016-05-07 10:41:00 · 4374 阅读 · 0 评论 -
android-------使用Android应用调用Web Service
1、方法步骤今天研究了下使用Android应用调用Web Service,使用的第三方jar是:ksoap2-android。使用ksoap2-android调用Web Service的操作步骤如下:创建HttpTransportSE对象,该对象用于调用Web Service。创建SoapSerializationEnvelope对象。创建SoapObject对象,创建该对象时需要传入所要调用原创 2016-05-17 11:32:28 · 537 阅读 · 0 评论 -
android--------关于ActionBar的Overflow问题
1、一直显示Overflow在android 5.0之前的版本,是默认不显示overflow的(就是这个),若要显示overflow图标,可以用以下的方法:在values-v14(若没有,手动创建)中设置以下的样式:<resources> <!-- Base application theme. --> <style name="AppTheme" parent="android:原创 2016-05-03 15:48:51 · 706 阅读 · 0 评论 -
android------addToBackStack无作用问题
今天写了一个关于Fragment的Demo,有一部分代码是这样的:@Override public void onClick(View v) { switch (v.getId()){ case R.id.button: AnotherRightFragment anotherRightFragment=new Anot原创 2016-05-12 11:53:31 · 2766 阅读 · 1 评论 -
android------关于API 23的权限问题
在代码:locationManager.requestLocationUpdates(provider, 60000, 50, getListener());中报以下的错误:Call requires permission which may be rejected by user: code should explicitly check to see if permissi原创 2016-04-16 22:32:11 · 15258 阅读 · 0 评论 -
一探ActionBar和ToolBar的区别
ActionBarActionBar是一个确定用户位置的窗口功能,并且能提供用户操作和导航的模块。使用ActionBar能够为用户提供一个熟悉的界面进行界面的切换,这个切换能够使系统更优雅是适应不同屏幕的配置。ActionBar提供以下几个重要的功能:提供一个专属的空间给你的应用,标志和显示用户在应用程序中的位置。在可预测的方法中,让重要的操作更加突出和易操作(例如搜索)。支原创 2016-12-30 10:22:11 · 8434 阅读 · 0 评论 -
Json、Gson的基本用法
什么是JSONJSON即JavaScript Object Natation, 它是一种轻量级的数据交换格式, 与XML一样, 是广泛被采用的客户端和服务端交互的解决方案.JSON对象:JSON中对象(Object)以”{“开始, 以”}”结束. 对象中的每一个item都是一个key-value对, 表现为”key:value”的形式, key-value对之间使用逗号分隔. 如:{“name”:”原创 2016-12-02 15:53:12 · 617 阅读 · 0 评论 -
Scrollbar样式介绍
今天突然需要修改RecyclerView的ScrollBar的样式,之前没有这方面的需求,网上查了查资料,记录下以便后面用到。参考资料:http://likfe.com/2016/05/16/diyScrollbar/知识点在ListView/ScrollView/RecyclerView中添加属性:<!-- 情况A :垂直滚动条-->android:scrollbars="vertical"a原创 2017-05-25 10:32:46 · 2378 阅读 · 0 评论 -
Android性能优化
1.布局优化1. 避免overdrawEnable GPU Overdraw Android系统在开发者选项中提供了这样一个工具“Enable GPU Overdraw”,通过这个工具可以查看当前区域中的绘制次数,从而尽量优化绘图层次,尽量增大蓝色区域,减少红色区域。2. 优化布局层级1)降低View树的高度2)尽量使用RelativeLayout代替Lin原创 2017-03-01 21:52:21 · 1817 阅读 · 1 评论 -
添加、删除桌面快捷图标
使用下面的方法即可添加桌面快捷图标// 创建快捷方式 private void installShortcut() { boolean isCreated = PrefUtils.getBoolean("is_shortcut_created", false, this); if (!isCreated) {原创 2017-03-27 14:15:39 · 1834 阅读 · 1 评论 -
xUtils3的简单使用
1.xUtils3简介xUtils3 是 xUtils 的升级版,功能和性能都在提高, xUtils3 主要有四大模块:注解模块,联网模块,图片加载模块,数据库模块;注解模块: 用于在 Activity 或者 Fragment 中初始化布局文件,便于代码更加简洁;联网模块: xUtils3 支持超大文件(超过 2G)上传,更全面的 http请求协议支持(11种谓词), 拥有更加灵活的 ORM,原创 2017-03-15 21:38:11 · 830 阅读 · 0 评论 -
了解了解RxBus
1.前言今天在网上突然看到说EventBus已经过时了,现在基本上没有人用了,都在有RxBus。看到这,吓了我一跳(心里万只草泥马狂奔,前一阵子才刚刚学完EventBus,现在竟然告诉lz过时了不用了!!!)但是作为一个有强烈求知欲的猿,我马上开始搜索了下RxBus并开始学习,于是有了这一篇文章。2.简介RxBus并不是一个库,而是一种模式(刚开始时以为有统一的标准,后来才发现不是绝对的,只是通过R原创 2017-03-31 22:36:51 · 550 阅读 · 0 评论 -
RxAndroid 入门笔记
RxJava介绍RxJava 是轻量级的RxJava尽力做到非常轻巧。它仅关注Observable的抽象和与之相关的高层函数,实现为一个单独的JAR文件。RxJava 是一个多语言实现RxJava 支持Java 6或者更新的版本,以及其它的JVM语言如 Groovy, Clojure, JRuby, Kotlin 和 Scala。RxJava 可用于更多的语言环境,而不仅仅是J原创 2016-12-04 22:23:33 · 590 阅读 · 0 评论 -
Retrofit2.0的简单使用
1.简介retrofit是由square公司开发的,retrofit是REST安卓客户端请求库。使用retrofit可以进行GET,POST,PUT,DELETE等请求方式。 官网参考:http://square.github.io/retrofit/2.使用在gradle中添加依赖compile 'com.squareup.retrofit2:retrofit:2.原创 2017-03-21 21:48:42 · 517 阅读 · 0 评论 -
android---Afinal开源框架的使用
Afinal简介Afinal 是一个android的sqlite orm 和 ioc 框架。同时封装了android中的http框架,使其更加简单易用;使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。原创 2015-12-15 11:19:47 · 872 阅读 · 0 评论 -
Android-Universal-Image-Loader的简单使用
1.特点1)多线程下载图片,图片可以来源于网络,文件系统,项目文件夹assets中以及drawable中等 2)支持随意的配置ImageLoader,例如线程池,图片下载器,内存缓存策略,硬盘缓存策略,图片显示选项以及其他的一些配置 3)支持图片的内存缓存,文件系统缓存或者SD卡缓存 4)支持图片下载过程的监听 5)根据控件(ImageView)的大小对Bitmap进行裁剪,减少Bitmap原创 2017-03-08 22:28:51 · 392 阅读 · 0 评论 -
事件总线程之EventBus
1.简介EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。 2.下载地址https://github.com/greenrobot/EventB原创 2017-02-22 22:49:39 · 507 阅读 · 0 评论 -
View的事件分发机制
1.点击事件的传递规则点击事件的分发过程由3个方法完成,分别是:public boolean dispatchTouchEvent(MotionEvent event)public boolean onInterceptTouchEvent(MotionEvent event)public boolean onTouchEvent(MotionEvent event)pub原创 2017-03-04 09:58:45 · 427 阅读 · 0 评论 -
SurfaceView介绍
1.SurfaceView与View的区别View主要适用于主动更新的情况,而SurfaceView主要适用于被动更新,例如频繁刷新。View在主线程中对画面进行刷新,而SurfaceView通常会通过一个子线程对画面进行更新。View在绘图时没有使用双缓冲机制,而SurfaceView在底层实现机制中就已经实现了双缓冲机制。2.SurfaceView的使用创建SurfaceView,需要原创 2017-02-22 09:32:03 · 375 阅读 · 0 评论 -
android---------版本控制工具Git的使用
操作系统:windows安装:Windows系统下安装Git,直接next就可。命令详解:配置身份 git config --global user.name "Your name" git config --global user.email "email@example.com"创建代码仓库git init查看隐藏的.git文件夹原创 2016-04-25 11:19:15 · 1332 阅读 · 0 评论 -
PorterDuffXfermode属性介绍
PorterDuffXfermode设置的是两个图层交集区域的显示方式,dst是先画的图形,src是后画的图形。 PorterDuff.Mode为枚举类,一共有16个枚举值:1.PorterDuff.Mode.CLEAR 所绘制不会提交到画布上。2.PorterDuff.Mode.SRC 显示上层绘制图片3.PorterDuff.Mode.DST 显示下层绘制图片4.Porte原创 2017-02-21 14:02:02 · 301 阅读 · 0 评论 -
AsyncTask的使用详解
AsyncTask介绍AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. Android的AsyncTask比Handler更轻量级一些,适用于简单的异步处理。 首先明确Android之所以有Handler和AsyncTask,都是为了不阻原创 2016-07-20 23:31:38 · 546 阅读 · 0 评论 -
android------关于query的模糊查询的用法
关于Android中 Cursor 的query加入模糊查询的条件,有如下方式:1.使用这种query方法%号前不能加',以下为示例代码:Cursor c_test = mDatabase.query(tab_name, new String[]{tab_field02}, tab_field02+" LIKE ? ",new String[] { "%" + str[0] + "%"原创 2016-04-14 15:18:54 · 5289 阅读 · 0 评论 -
关于android 图片加载优化
原文地址:http://blog.csdn.net/yudajun/article/details/9323941android应用对图片处理算是比较频繁的了,尤其是在程序加载大量图片和高分辨率图片时,最容易产生oom异常,下面是个人平时一些省内存加载方法方法一: public Bitmap decodeFile(String filePath) {转载 2016-04-08 14:02:18 · 505 阅读 · 0 评论 -
Android中 Handler使用全解
http://blog.csdn.net/woty123/article/details/7038517使用Handler的大致流程: 1、首先创建一个Handler对象,可以直接使用Handler无参构造函数创建Handler对象,也可以继承Handler类,重写handleMessage方法来创建Handler对象。 2、在监听器中,调用Handler的post方法,将要执转载 2016-03-23 15:32:37 · 307 阅读 · 0 评论 -
Android-----自定义圆形的头像控件
在现在的网络上圆形头像是非常常见的,圆形头像大多数使用在显示个人信息中的头像信息,今天就试试实现一个圆形的头像。自定义一个CircleImageView,并且继承ImageView,用于显示圆形的图片。package com.gjg.circleimageviewdemo;import android.content.Context;import android.conten原创 2015-10-22 14:46:23 · 2687 阅读 · 0 评论 -
android----广播(BroadcastReceiver)的用法
之前学习过广播(BroadcastReceiver),但是只是大概了解,并不清楚具体的用法,现在总结一下BroadcastReceiver的用法。理论知识:什么是BroadcastReceiverBroadcastReceiver(广播接收器)是为了实现系统广播而提供的一种组件,并且广播事件处理机制是系统级别的。注册BroadcastReceiver的方式原创 2015-10-08 21:33:13 · 767 阅读 · 0 评论 -
Android-----手势识别GestureDetector
手势操作原理 首先,在Android系统中,每一次手势交互都会依照以下顺序执行。 1. 接触接触屏一刹那,触发一个MotionEvent事件。 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象。 3. 通过GestureDetector(手势识别器)转发次MotionEve原创 2015-10-20 22:34:48 · 913 阅读 · 0 评论 -
Android----Fragment的基本用法
Android是在Android 3.0 (API level 11)开始引入Fragment的。 可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。 可以把Fragment设计成可以在多个Activity中复用的模块。原创 2015-10-22 10:10:06 · 432 阅读 · 0 评论