Android
文章平均质量分 56
瞌睡先生想睡觉
纵身入尘埃里
雷雨大作我也放身而歌
展开
-
Android 自定义弹幕控件
原理概述继承自FrameLayout添加控件,然后开启动画如果要详细一点大体流程就是:初始化一个弹幕View确认弹幕View位置添加到父布局开启动画/定时任务动画结束/定时任务开始执行,移除弹幕View滚动弹幕需要动画效果,顶部和底部的弹幕不需要动画效果只要开启定时任务时间到了移除就可以了效果图代码import android.animation.Animator;...原创 2018-10-19 17:38:12 · 730 阅读 · 1 评论 -
Java 关于进行文件加密
临时起意写一片关于文件加密的代码,我觉得所谓加密不过是将原来的信息通过一定的形式转化另一种难以阅读理解的方式.加密的方式又分为两种,一种是对称加密,一种是非对称加密. 所谓对称加密,即是加密和解密都使用同意个key,而非对称加密,即将key分为两个,一个是私钥一个是公钥,如果是用私钥进行加密那么只能用对应的公钥进行解密,如果是用公钥进行加密,那么只能用对应的私钥进行解密 下面关于原创 2017-06-27 16:24:50 · 682 阅读 · 0 评论 -
Android 配置调试keystore
android { signingConfigs { debug { //填写相应的信息 storeFile file("key的地址") storePassword "***" keyAlias "***"原创 2016-12-08 16:25:59 · 521 阅读 · 0 评论 -
Android 调用系统相册选择图片并显示
主要代码:package wkk.app2;import android.app.Activity;import android.content.Intent;import android.database.Cursor;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.n原创 2016-08-01 14:11:10 · 41395 阅读 · 36 评论 -
Android Tween Animation动画效果详解
Android动画分类:1.补间动画 Tween Animation 2.逐帧动画 Frame Animation 下面我们来讲的就是补间动画: 1.AlphaAnimation 透明动画代码: /** * 透明度动画 * * @param view */ private void alphaAnimation(View view) {原创 2016-11-08 14:00:31 · 1515 阅读 · 5 评论 -
Android AIDL
aidl 进程间通讯一个项目的服务另一个项目绑定项目A 项目B项目A1.新建服务类实现Service2.新建包,包中新建接口interface,接口中封装对服务中的数据进行操作的方法3.找的接口的java文件,将后缀名该为aidl4.刷新项目,将接口中的 public去掉5.Service中原创 2016-01-05 14:08:00 · 311 阅读 · 0 评论 -
Android 友盟第三方消息推送使用
1.首先你得有一个友盟的账号友盟官网 2.注册了账号之后要注册应用 这里要注意的信息 3.下载友盟消息推送sdk友盟推送sdk下载地址 4.准备工作都做好之后可以进行环境配置了 打开File→Project Structure 确认之后,就将PushSDK依赖到你的项目中了 它里面的东西你都可以调用了,它里面配置好了各种权限等等 可以省去很多步骤 官方提示需原创 2016-03-31 15:12:38 · 4641 阅读 · 0 评论 -
Android Listview
listview相关设置android:divider="@null" 两个上下相邻item之间的分割置空android:dividerHeight 这个属性是上下相邻的item间的距离android:divider="#fffff" 分割线颜色android:dividerHeight="1dp" 分割线高度Listview和Scrollview冲突问题 在用到Scrollview中嵌原创 2016-03-31 16:43:23 · 391 阅读 · 0 评论 -
Android Intent传值反馈,向后传递,要求返回的传值
很简单 1. 传值跳转到第二个activityIntent intent=new Intent(MainActivity.this,TwoActivity.class);startActivityForResult(intent,1);2.在第二个activity接收 Intent intent = getIntent(); intent.putExtra("text", edit.原创 2016-03-31 16:48:10 · 4267 阅读 · 0 评论 -
Android 小知识
本文记载我在Android开发过程中遇到的一些问题,和相应的解决方法 1.Android开发找不到recyclerview问题 recyclerview不是自带的,需要导入相关的架包才行,地址: 你的SDK目录\extras\android\m2repository\com\android\support\recyclerview-v7\21.0.0 找到其中的recyclerview-v7原创 2016-04-08 10:12:24 · 2215 阅读 · 0 评论 -
Android Logo,闪屏界面小结
几乎所有软件启动时都会有几秒钟的logo页面的等待时间,这个时间并不是我一开始认为的那样,仅仅是用来展示自己app的标志和宣传语句等 QQ空间,ES浏览器等,将logo页面改变为,展示广告的地方,为自己谋取利润,但是如果是用户不多的软件如果去用来展示广告,需要慎重考虑 我现在接手的软件,在logo页面上进行软件的检查更新操作 也可以将logo页面用来获取下一个页面或者是全局所需原创 2016-04-27 12:25:59 · 1723 阅读 · 0 评论 -
Android OkHttp基本用法
引用: compile 'com.squareup.okhttp3:okhttp:3.8.1' compile 'com.squareup.okio:okio:1.13.0'Android Activity:package com.example.okhttpdemo;import android.os.Bundle;import android.os.Environment;im原创 2017-08-24 14:43:32 · 319 阅读 · 0 评论 -
Android Java 数据编码Base64
1.JAVA,Base64加密,话不多说,直接上代码 /** JDK自带Base64加密 */ private static String encryptBase64_JDK(String string) { BASE64Encoder encoder = new BASE64Encoder();// encrypt加密 String str = enco原创 2016-04-06 12:47:39 · 1413 阅读 · 0 评论 -
Android View绘制流程
或许你已经看到过很多博客总结的View的绘制流程的.我这篇博客是跟着源码去看,对自己学到的知识加以印证.水平有限,仅供参考,如有错误,欢迎指正我在之前的博客就已经说明了Activity的启动到显示的相关流程,现在我们来看下View具体的工作流程.上次我们说到root.setView(view, wparams, panelParentView);这段代码,并没继续深入这段代码去看View的工作...原创 2018-10-15 11:09:59 · 324 阅读 · 0 评论 -
Android Activity从创建到显示流程
看我的代码请注意写了注释的地方,这些往往是关键地方最近准备看Android的View工作流程,但是根据网上的博客所说,必然就会涉及到Window,DecorView,WindowManager,ViewRootImpl这些相关的东西,所以在网络上众多大神博客的指导下去阅读了Android的部分源码,发现Android的很多东西还都是一环套一环的,有些东西单单只是看部分代码就会云里雾里,一脸懵逼...原创 2018-10-15 11:09:01 · 2160 阅读 · 0 评论 -
Android 关于LayoutInflater类onCreateView方法prefix传入android.view.依然能初始化成功原生控件的问题
问题可能有点长,主要问题就是,在LayoutInflater中通过inflate方法来加载布局,然后在createViewFromTag方法中将解析的xml文件中控件的name通过 . 字符来区分系统控件还是自定义控件LayoutInflater.class if (view == null) { final Object lastCont...原创 2018-10-08 11:31:20 · 1357 阅读 · 0 评论 -
Android LayoutInflater源码解读
这个类主要用途就是将布局文件转化成view,通常情况下的调用方式就是LayoutInflater.from(this).inflate(R.layout.test_1,parentViewGroup,false);,且setContentView方法就是通过这个方式来设置布局的。虽然网络上已经有了很多源码解读的文章,但是我还是写了本篇文章,就是想要加深自己的理解和印象,只有在你真正一行一行的源码读...原创 2018-09-28 15:02:53 · 365 阅读 · 0 评论 -
Android Handler消息机制源码解读
这个东西在网上已经被很多人写过了,但是自己也看过很多文章,大概因为自己比较愚笨一直对此不太理解,最近重新从源码的角度阅读,并且配合着网上的一些相关博客才算明白了一些本文从源码的角度顺着代码的执行去源码,限于作者的表达能力及技术水平,可能会有些问题,请耐性阅读,如有不解或有误的地方欢迎提出从ActivityThread的入口去看ActivityThread.class pu...原创 2018-06-06 16:09:48 · 418 阅读 · 1 评论 -
Android 与前端交互
public class MainActivity extends AppCompatActivity { private Button button; private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate转载 2018-02-27 10:42:28 · 530 阅读 · 0 评论 -
Android 自定义音量控件
声明: 本文借鉴鸿洋大神博客: http://blog.csdn.net/lmj623565791/article/details/24529807首先来看下效果图: 首先来分析下这个控件的组成: 1.音量图标 2.弧形的线音量图标可以之间使用canvas.drawBitmap方法直接绘制上去 弧线绘制也可以使用canvas.drawArc来绘制,这里我们要对画笔进行一些是设置,在下面会原创 2016-05-15 19:29:52 · 1673 阅读 · 0 评论 -
Android 上传头像(文件)到服务器
现在很多app都用到了头像的功能,我的项目中也用到了。 头像上传分几步: 1.获取头像 2.剪裁头像 3.文件上传 4.服务器的接受保存 首先第一步,无非就是两种方式 1,拍照 2,相册选择 之前的博客中有现到,不重复,链接: http://blog.csdn.net/w18756901575/article/details/52087242 http://原创 2016-09-06 16:35:00 · 3388 阅读 · 2 评论 -
Android 正则表达式
元字符 含义 . 表示任意一个字符 \s 空格字符(空格键,tab,换行,换页,回车) \S 非空格字符([^\s]) \d 一个数字,(相当于[0-9]) \D 一个非数字的字符,(相当于[^0-9]) \w 一个单词字符(word character) (相当于[a-zA-Z_0-9]) \W 一个非单词的字符,[^\w] ^ 一原创 2016-08-08 14:27:47 · 709 阅读 · 0 评论 -
Android NoHttp基础详解
使用: Android studio用户只需要在build.gradle添加依赖就可以使用了:// 引用最新版compile 'com.yolanda.nohttp:nohttp:+'// 或则引用指定版本compile 'com.yolanda.nohttp:nohttp:1.0.0'我也不知道为什么辣么神奇,这样就直接可以使用了,不用拷贝架包到libs下,也不用添加依赖module就这样原创 2016-05-03 11:56:51 · 9831 阅读 · 0 评论 -
Android 如何对apk文件进行反编译以及重新打包签名
最近在看视频的时候看到有关apk文件如何反编译的,顿时提起了自己的兴趣,记得在刚刚学习Android的时候就对这份面有兴趣,只是当时自己的技术…咳…现在自己…咳咳..咳…注:以下的前提是Java相关环境变量配置完成 我觉得反编译无非就是能够得到其apk的资源文件,以及java代码等 常用的工具有:apktool、jeb、Smali2Java等,下面我会一一介绍这几种工具的用法,展示下自己这两天的原创 2016-05-10 16:00:04 · 12543 阅读 · 0 评论 -
Android attrs文件(自定义)属性详解
在res/values文件夹下新建attrs.xml文件:<!-- declare-styleable表示为自定义的属性--><!-- format表示为可接受的参数类型--><!--integer int型--><!--boolean boolean--><!--color 颜色--><!--dimension 尺寸--><!--enum 枚举--><!--flag 位或运算-->原创 2016-05-13 16:24:57 · 4431 阅读 · 0 评论 -
Android 对用户名密码进行加密操作存储在本地
大家都知道当下大多数app都都有保存用户名密码的操作,仅仅将数据保存到SharedPreferences里面谁都能做的到,但是没有经过处理的数据直接以明文的形式存储,那么很容易就被坏人盗取,那么问题来了,如何对数据进行加密操作呢? 这就要用到加密算法,加密有对称加密,非对称加密。较为常用的有DES,3DES,PBE,AES,MD5等 下面我们所讲的就是其中的3DES 3DES加密算法属于对称加原创 2016-05-11 13:07:59 · 14636 阅读 · 1 评论 -
Android 手势监听之双击监听
超级简单的自定义viewpackage yesun.app7;import android.content.Context;import android.util.AttributeSet;import android.view.GestureDetector;import android.view.MotionEvent;import android.view.View;/** * Cr原创 2016-09-21 16:18:07 · 864 阅读 · 0 评论 -
Android Socket通信
Socket是基于Tcp的链接,适用于长链接 Socke通讯需要客户端和服务器,客户端我们在android上编写,而服务器则选择在eclipse上编写上效果图; eclipse: 我们一共需要4个类,分别是 Server类,继承自Thread,用于建立服务器,并监听Socket的链接 MySocket类,继承自Thread,用于对Socket进行读写操作 SocketManager类,单原创 2016-07-18 17:22:35 · 2251 阅读 · 0 评论 -
Android studio Gradle 进入卡住问题解决
问题: gradle:download https://….. 解决: 在项目的gradle.properties文件结尾加这样两行代码重点内容#systemProp.https.proxyHost=127.0.0.1#systemProp.https.proxyPort=8123问题: Refreshing xxx gradle project 解决: 解决办法手动下载gradle-原创 2016-05-20 16:49:36 · 3324 阅读 · 0 评论 -
Android 调用系统相机
package wkk.app3;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.net.Uri;import android.os.Bundle;imp原创 2016-08-01 17:03:08 · 1239 阅读 · 2 评论 -
Android DrawerLayout 侧滑菜单
在build.gradle中添加appcompat-v7支持 如果是在Android Studio 1.0 RC4上创建的项目,默认添加appcompat-v7支持了,如果不是最新版AS则需要在build.gradle中添加代码: compile 'com.android.support:appcompat-v7:23.4.0'效果如下图需要注意一点: 主内容区的布局代码要放在侧滑菜单布局的前面原创 2016-06-12 15:57:41 · 807 阅读 · 0 评论 -
Android studio关于含有转义字符的字符串无法Log,以及如何去掉转义字符问题
今天在请求网络的时候遇到了点问题 我去网络求情一个字符串,得到这个字符串之后我去打印Log,结果Log却是一片空白,我还以为子的网络出了问题,然后我去用debug去调试,却能看到数据,然后我用远eclipse的Logcat查看日志,却是能够打印出来,令我十分费解,后来我用Debug调式的时候仔细看了一下,发现在字符串的结尾处有两个转义字符:“\r\n” 于是我做了以下测试:原创 2016-05-27 13:57:48 · 4525 阅读 · 0 评论 -
Android ListView,GridView,RecyclerView图片加载错位闪动问题解决办法
问题的根源还是控件的复用以及异步加载所引起的问题 解决思路: 1.使用缓存,从缓存中加载的速度大大少于从网络加载 2.设置默认图片,当一个item设置个图片然后被复用,而当前显示的图片还没有数据,正在从网络获取,这个时候此item就会显示复用前显示的图片,而当前应该显示的图片从网络中获取到之后就会重新加载上去就出现的图片闪动的情况 3.给ImageView设置TAG我封装了一个类来进行网络获原创 2016-04-12 13:43:29 · 2285 阅读 · 0 评论 -
Android 调用系统通讯录
startActivityForResult(new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI), 0); @Override protected void onActivityResult(int requestCode, int resultCode原创 2016-05-25 15:17:53 · 590 阅读 · 0 评论 -
Android adb
本人是做Android开发也有一段时间了,在查资料时一直能看到adb的字眼, 一直不知道是什么东西,去网上找了一下才发现是Android自带的工具,配置好相关环境 就可以使用了,可以通过DDMS来调试Android程序 环境配置: [http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html](http:/原创 2016-04-01 09:41:26 · 412 阅读 · 0 评论 -
Android 获取手机联系人
package wkk.demo3;import android.content.Context;import android.database.Cursor;import android.provider.ContactsContract;import java.util.ArrayList;import java.util.List;/** * Created by wkk on 201原创 2016-05-17 10:17:46 · 342 阅读 · 0 评论 -
Android MyBaseAdapter
package com.example.utils;/** * Created by Think on 2016/2/26. */import java.util.ArrayList;import java.util.Collection;import java.util.List;import android.content.Context;import android.view.Lay原创 2016-03-31 16:59:43 · 1040 阅读 · 1 评论 -
Android As报错:Warning:Gradle version 2.10 is required. Current version is 2.8. If using th....
报错信息如下:Warning:Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in F:\Project\Test\gradle\wrapper\gradle-wrapper.properties to gradl原创 2016-05-24 09:04:54 · 560 阅读 · 0 评论 -
Android 如何快速解析JSON字符串
了解Android的人都知道JSON,JSON是当前最最为通用的两种数据格式之一,对Android有一定了解的人都知道JSON,都知道如何解析JSON无非就是JSONObject和JSONArray两个类的API的使用,但是这样的话在解析较为复杂的JSON字符串的时候会耗费较多的时间,本文就是来讲解如何快速的去解析JSON字符串接下来会向大家介绍两个东西: gson框架和插件GsonFormat原创 2016-05-17 09:07:12 · 4047 阅读 · 0 评论 -
Android 如何使Edittext不弹出软键盘
关于启动一个Activity如果里面有一个Edittext控件会自动弹出键盘问题 在AndroidManifest.xml文件所对应的Activity中添加属性:android:windowSoftInputMode="stateHidden"如果想使Edittext不可获取焦点可设置:android:focusable="false"或者是在代码中设置: EditText.setFocusabl原创 2016-05-18 11:39:09 · 1594 阅读 · 0 评论