- 博客(111)
- 收藏
- 关注
原创 Android Studio在gradle中避免明文配置keystore
在local.properties中加入以下内容keystore.path=D\:/workspace/yykey.jkskeystore.password=androidkeystore.alias=yykeykeystore.alias_password=android在app的build.gradle中配置def keystoreFilepath = ''def keystorePSW
2018-03-17 16:25:15 1379
原创 retrofit + rxjava 图文上传到服务器
首先看后台接口要求需要post方法,form-data,file文件(字段名为file),其他参数 看需求,如果是文件用 MediaType.parse(“multipart/form-data”) 如果是image MediaType.parse(“image/*”) 1.用map+body@Multipart@POST("app/activity")Observable<Htt
2018-01-31 09:09:11 486
原创 android从assets中获取json数据
1.首先是导入json文件2.工具类public class SimulateNetAPI { /** * 获取去最原始的数据信息 * * @return json data */ public static String getOriginalFundData(Context context) { InputStream in
2017-12-06 09:27:43 2594
原创 常用的Dialog
常用的Dialog标签(空格分隔): dialog 1.输入框Dialogxml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an
2017-10-11 10:09:42 585
原创 百度地图导包设置
1.首先去台百度地图开放平台创建应用2.然后去这里开通语音合成记得一定要在管理包名那里输入app的包名。3.去这里下载相关开发包4.加入到project5.再按照demo设置appid和密钥即可
2017-08-12 14:46:08 410
原创 Mac设置安卓sdk环境变量
在Mac系统中,很多时候第一次在Android SDK中使用adb的时候。无法使用。会提示-bash: abd: command not found。造成此类现象的原因是:未配置Android的环境变量。因此,您需为Mac中的Android SDK配置环境变量。启动Mac自带的终端Terminal。进入当前用户的home目录。在命令行输入echo $HOME创建.bash_profile文件。命令行
2017-08-12 14:10:11 5382 1
原创 两端都是圆角的进度条和动态进度条
关键代码 <ProgressBar android:layout_marginTop="16dp" android:layout_width="match_parent" android:layout_height="30dp" android:id="@+id/progressbar_1" style="?and
2017-08-04 17:46:34 763
转载 解决android:background背景图片被拉伸问题
ImageView中XML属性src和background的区别:background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。此外:scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用Android:scaleType控制图片的缩放方式
2017-07-25 09:03:58 9321 1
原创 Fragment常见错
在Fragment中执行一段耗时任务,在任务未结束的时候,重建Activity就会导致getActivity()为null,所有用到getActivity()的地方都会引起空指针异常,如果使用了getResources()方法,就会导致Fragment not attached to Activity。解决方法:if(isAdded()){ mNewAppTitle.setLeftTi
2017-07-21 16:36:33 463
原创 progressBar定义样式
drawable <?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape>
2017-07-21 09:16:29 250
原创 http和https的区别
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输
2017-07-07 14:34:24 248
原创 service+okhttp实现断点续传下载
DownloadListenerpublic interface DownloadListener { void onProgress(int progress); void onSuccess(); void onFailed(); void onPause(); void onCanceled();} DownloadTask/** * 第一个参数表示后台任
2017-06-20 19:07:47 1205
转载 Android动画实现详解
源码传送门前言我们都知道,漂亮的用户界面是衡量一款应用"好坏"很重要的依据,因为人都是视觉动物,就好比说花容月貌总有男人为之倾倒,英俊潇洒总能博得芳心。这是一个不容置疑的事实,那么我们的应用也是如此,一个漂亮的用户交互界面能提升用户对应用的好感,提升用户体验。而动画是提升用户体验的一个重要因素,好的动画交互让人用着更舒心,那么今天的这篇文章就是介绍Android中动画实现,让我们的应用动起
2017-05-24 17:05:34 378
原创 自定义仪表盘笔记
参考自:http://blog.csdn.net/vv_bug/article/details/716945621.新建DashboardView类继承View,一些准备工作public class DashboardView extends View{ //弧形开始的角度 private static final int startAngle = 180; //弧面所跨的弧
2017-05-17 16:40:28 412
原创 Java算法
/** * 冒泡排序法 * 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 */ private void maopaoSort(){ for(int i = 0;i<a.length;i++){ for(int j = 0;j < a.length - 1 - i;j++){
2017-05-12 10:05:57 371
原创 Android的异步消息处理机制笔记
标签(空格分隔): 未分类研究了一下安卓的异步消息处理机制,做下笔记。 首先,我是先看了郭霖的文章–Android异步消息处理机制完全解析,带你从源码的角度彻底理解 处理流程: 看完后总结了一下:1. 在主线程中可以直接创建Handler对象,而在子线程中需要先调用Looper.prepare()才能创建Handler对象。2. 在主线程中更新UI的原理就是handlerMessage(
2017-05-11 14:50:12 341
转载 Android中的TCP/IP协议,Socket,Http协议间的关系
转自:http://blog.csdn.net/u010618194/article/details/62439168#comments前提:本片文章的名字叫做"Android开发中的TCP/IP协议,Socket编程",其实TCP/IP协议是一种网络协议,并不是在Android中才有的,也不只是在java中有,其他的开发语言中同样也可以使用TCP/IP协议进行网络编程。之所以这么说是
2017-05-11 10:23:12 971
原创 安装android studio后的设置
Logcat的颜色设置一、 先看效果二、设置File->Settings 或Ctrl + Alt +S找到 Editor -> Colors &Fonts -> Android Logcat 或在上面的搜索框中输入Logcat点中Verbose , Info, Debug等选项,然后在后面将Use Inberited attributes 去掉勾选再将 Foregrou
2017-05-10 15:53:11 312
转载 在应用中更新App版本
在应用中, 为了提高用户体验, 会提供更新版本的功能. 那么如何实现呢? 我写了一个简单的Demo, 说明一下, 需要注意几个细节. 使用了Retrofit和Rx处理网络请求.Github下载地址1. 逻辑访问服务器, 根据是否包含新版本, 判断是否需要更新. 下载Apk, 下载完成后, 自动安装, 高版本会覆盖低版本.逻辑:public class MainActiv
2017-05-09 10:26:05 983
原创 XW版本更新
上传两个版本 查询更新信息接口 实体类/** * 更新信息 */public class UpdateInfo { @SerializedName("appname") public String appName; // 应用名称 @SerializedName("type") public String type; @SerializedName("ve
2017-05-09 10:10:19 2210
转载 Android 利用Gradle实现差异化构建
最近项目中引用的第三方库越来越多,其中一些只在开发中才需要,在正式版本中虽然没开启,但仍被打包进了apk包中,使apk包中增加了无用的代码,本文便是为了解决此问题。dependencies的多种方式首先我们先来回顾一下在gradle中的多种dependencies方式。Compile 默认的依赖方式,任何情况下都会依赖。Provided 只提供编译时依赖,打包时不会添加进去
2017-05-08 09:53:12 545
转载 Android Studio调试打包签名设置
在开发中,我们很有可能会引入百度地图等的API,很多这些第三方API要求开发者在第三方开放平台中进行注册,注册一般会需要应用的Package Name以及开发工具的SHA1值等等,从而方便第三方平台进行验证。常规做法便是获取Android Studio的SHA1值,然后到开发平台进行第三方API密钥的申请,从而使用第三方API。然而这种做法在独立开发是没有问题的,一旦该项目是团队开发,由于每个开发
2017-05-05 17:09:39 1777
原创 安卓跨进程几种方式简介
一、概述 由于应用程序之间不能共享内存。在不同应用程序之间交互数据(跨进程通讯),在Android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content Provid
2017-05-05 16:13:14 803
转载 Android中两种序列化方式的比较Serializable和Parcelable
Serializable和Parcelable接口可以完成对象的序列化过程,当我们需要通过Intent和Binder传输数据时就需要使用者两种序列化方式。还有,我们需要对象持久化到存储设备或者通过网络传输给其他客户端,这个使用也需要使用Serializale来完成对象的序列化。在Android应用开发中,这两种方式都很常见,但两者方式并不相同。1.Serializable接口Seriali
2017-05-05 15:43:19 318
原创 常用的shape
shape画有边线的圆角的框<shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="@color/white" /> <stroke android:width="0.5dp" android:color="@color/gray_d
2017-05-03 13:34:28 366
转载 bitmap的六种压缩方式,Android图片压缩
转自:http://blog.csdn.net/harryweasley/article/details/51955467Android中图片是以bitmap形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道bitmap所占内存大小计算方式:图片长度 x 图片宽度 x 一个像素点占用的字节数以下是图片的压缩格式:其中,A代表透明度;R代表红色;G代表
2017-05-02 10:27:54 307
转载 android Apk打包过程概述
转自:http://blog.csdn.net/jason0539/article/details/44917745最近看了老罗分析android资源管理和apk打包流程的博客,参考其他一些资料,做了一下整理,脱离繁琐的打包细节和数据结构,从整体上概述了apk打包的整个流程。流程概述:1、打包资源文件,生成R.java文件2、处理aidl文件,生成相应java 文件
2017-04-28 16:31:40 418
原创 File的使用
数据的存储有多种方式,比如数据库存储、SharedPreferences存储、文件存储等;1. 基本使用 文件存储**/storage/emulated/0/ 某某文件夹 : 0代表的是设备内存,1代表的是内存卡, 直接在内部储存里找 /0/ 后面那个某某文件夹,就可以找到。 /storage/emulated/0/Android/data/com.lzz.test/cache/files
2017-04-28 14:28:37 377
原创 研究Bitmap
BitmapFactory这个类提供了多个解析方法(decodeByteArray, decodeFile, decodeResource等)用于创建Bitmap对象,我们应该根据图片的来源选择合适的方法。比如SD卡中的图片可以使用decodeFile方法,网络上的图片可以使用decodeStream方法,资源文件中的图片可以使用decodeResource方法。这些方法会尝试为已经构建的bitma
2017-04-28 09:31:01 276
转载 Android 使用Picasso加载网络图片等比例缩放
转自:http://blog.csdn.net/picasso_l/article/details/50679177最近做项目,要下载图片到本地(不是指缓存),之前用过HttpURLConnection和HttpCLient,但是感觉太繁琐,而且6.0之后到Apache包也不支持了,后来我想到了Picasso的缓存,Picasso缓存图片,那肯定是下载到本地实现了,我们只要更改下本地路径,
2017-04-27 15:39:59 756
原创 Picasso的使用
每个图片的架构和实现细节不太一样,但是通常都会有以下模块:请求分发模块。负责封装请求,对请求进行优先级排序,并按照类型进行分发。缓存模块。通常包括一个二级的缓存,内存缓存、磁盘缓存。并预置多种缓存策略。下载模块。负责下载网络图片。监控模块。负责监控缓存命中率、内存占用、加载图片平均耗时等。图片处理模块。负责对图片进行压缩、变换等处理。本地资源加载模块。负责加载本地资源,如assert、dr
2017-04-27 15:22:52 415
原创 reyclerView的item点击刷新
xml<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/user_selector_item_default" android:orientation="horizontal"
2017-04-25 16:26:47 601
原创 RecyclerView的搜索
本地搜索1.界面<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://
2017-04-25 16:17:56 636
原创 fragment的onActivityResult没有调用的解决方法
1.不要用getActivity().startActivityForResult,直接在fragment中startActivityForResult 2.Fragment中重写onActivityResult方法,在Fragment所属的Activity中,也重写onActivityResult方法。然后调用这个fragment中的onActivityResult()。 @Overrid
2017-04-25 16:03:31 662
原创 常用的Selector
TextView的Selector1.background<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true"> <shape android
2017-04-19 18:03:52 306
转载 Android进阶系列之Support Annotation Library使用详解
转自:http://blog.csdn.net/sw5131899/article/details/53842362进入正题,Support Annotation Library是从Android Support Library 19.1开始引入的一个全新的函数包,它包含一系列有用的元注解,用来帮助开发者在编译期间发现可能存在的bug,Support Library本身也使用Annotat
2017-04-17 17:23:52 1092
原创 DialogFragment的使用
新建类AttachDialogFragment继承DialogFragmentpublic class AttachDialogFragment extends DialogFragment { public Activity mContext; @Override public void onAttach(Activity activity){ super.on
2017-04-17 14:12:48 1404
原创 设计模式之工厂模式使用
实际应用: 接口解耦(快速更换框架,不用改动太多代码) 示例:更换网络请求框架 来自:https://v1sk.github.io/archives/ 思路:1.把http请求框架的共性方法抽取到接口中,我们把这个接口称为“请求接口”; 2.创建一个用于返回请求结果的接口,我们把这个接口称为“回调接口”; 3.分别用Volley和OkHttp实现“请求接口”; 4.创建一个类来返回上述
2017-04-17 10:20:11 306
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人