Android
文章平均质量分 59
jianguotang
这个作者很懒,什么都没留下…
展开
-
RecycleView的使用--material design风格 列表显示
RecyleView 的使用首先要先导包可以在gradle中直接输入compile'com.android.support:recyclerview-v7:24.2.1'也可进行下面的操作导入包后,我们就可以使用RecycleView了我们先建一个acvtivity_recyclerview.xml原创 2016-11-25 21:08:32 · 2081 阅读 · 0 评论 -
自定义view__封装Dialog-分享功能UI的实现
直接上图看效果 GitHub下载 实现的思路recyclerView–可以方便的添加多个分享,方便增加修改svg–svg可减少使得绘制更快,更流畅materialDialog–简洁大方因为分享功能可能需要增加或修改,所以使用recyclerView来显示看源码 item_share.xml<?xml version="1.0" encoding="utf-8"?><android.s原创 2017-06-10 20:35:51 · 2776 阅读 · 0 评论 -
GreenDao 解决5.0以下报错问题
在greendao使用的时候大家可能都会遇到过版本兼容问题,就是我们在使用GreenDao数据库的时候会发现,在android5.0以上的系统版本,没什么问题,我们可以正常运行,这也没问题,但是在android5.0一下版本就会报错。java.lang.NoClassDefFoundError: org.greenrobot.greendao.database.StandardDatabaseat原创 2017-07-01 19:03:44 · 5516 阅读 · 0 评论 -
Android 实现沉浸式通知栏
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//判断版本,不支持material //实现沉浸式通知栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().ad原创 2017-07-02 09:52:18 · 552 阅读 · 0 评论 -
Android捕捉未捕捉的异常
个人笔记/** * Created by jian on 2017/7/11. */public class CrashHandler implements Thread.UncaughtExceptionHandler { private static CrashHandler instance = null; private Thread.UncaughtExceptionH原创 2017-07-11 23:40:01 · 309 阅读 · 0 评论 -
自定义View之粘性下拉刷新效果
PullView.java/** * Created by jian on 17-8-16. */public class PullView extends View { //圆的画笔 private Paint mCirClePaint; //圆的半径 private float MCirCleRadius = 50; //可拖动的高度 priva原创 2017-08-17 23:16:56 · 645 阅读 · 0 评论 -
django将所有app放到一个apps文件夹中
第一步 新建一个文件夹 apps 第二步将所有的app拖到apps中,会提示勾选Search for references ,把这个勾去掉第三步选中apps文件夹,右键Make Directory As -> Resoure Root第四步 在setting.py 中添加 sys.path.insert(0,os.path.join(BASE_DIR,”apps”)) 这样的话就把apps添加进原创 2017-09-29 23:30:21 · 6819 阅读 · 2 评论 -
最详细GreenDao3.2的基本使用
GreenDao官网说它是最好的数据库框架,我们也当真吧,反真它的更新进度给力,最近都有在更新。也使得我们android程序员使用起来越来越方便。至于为什么使用它这里不做多解析。进入正题。首先我们需要在项目build.gradle中导入包` dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:原创 2017-01-25 14:58:50 · 4569 阅读 · 11 评论 -
HTTP协议面试
http1.0所做的优化带宽:现阶段已经解决延迟:1.浏览器阻塞:浏览器对同一个域名,同时只能有4个连接、延迟:2.DNS查询:浏览器需要知道目标服务器的 IP才能建立连接延迟:建立链接:三次握手http1.0/http1.1的区别1缓存处理不同。 1.0只是用一个头文件的缓存策略,1.1引入了更多 2带宽优化及网络连接的使用(1.0存在浪费带宽,不支持断点续传功能。1.1允许只请求资源原创 2017-11-30 08:27:39 · 3998 阅读 · 0 评论 -
Android 中的 IPC方式
1.Android中的多进程模式:在android中最有特色的进程通讯方式就是Binder了,通过Binder可以轻松的实现进程间通讯,除了Binder,还有Socket,通过Socket也可以实现任意两个进程之间的通讯,当然同一个设备的两个进程通过Socket也是可以通讯的。通过四大组件的addroid:process属性,就可以开启多线程模式,但是却会有很多其他问题,下面会说到。1.1开启多线程原创 2017-11-07 00:11:01 · 1582 阅读 · 0 评论 -
Android 面试基础
1.Service1.1Service和Thread的区别A.定义Service运行在主线程,不能做耗时操作。可以独立运行在后台中。如果需要在Service做耗时操作一定要独立开启个线程来执行Thread作为子线程,activity finish掉的时候其就不存在了。B.实际开发线程一般指定是功能线程,而主线程是ui线程,不能做耗时操作,service运行在ui线程中,无法做耗时操作ser原创 2017-11-26 13:31:25 · 303 阅读 · 0 评论 -
Android新特性介绍,ConstraintLayout完全解析
目录(?)[+]开始基本操作InspectorGuidelines自动添加约束 转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53122387 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。今天给大家带来2017年的第一篇文章,这里先祝大家新年好。本篇文章转载 2017-06-10 13:08:25 · 229 阅读 · 0 评论 -
notifyDataSetChanged无效的解决方法
不知道是否可以解决全部的显示问题,我的问题是这样解决了 jsonProGrams= new ArrayList<JsonProGram>(); jsonProGrams.addAll(proGram); exerciseLibraryAdapter.notifyDataSetChanged();改成Adapter.setJsonProGrams(proGram); exerciseLibr原创 2017-05-22 15:06:29 · 465 阅读 · 0 评论 -
Android Scene transition简单使用和分析
Scene(场景)Scene保存了布局的状态,包括所有的控件和控件的属性。布局可以是一个简单的视图控件或者复杂的视图树和子布局。保存了这个布局状态到Scene后,我们就可以从另一个场景变化到该场景。Android 提供了一个类Scene来代表场景。Transitions(变换)从一个场景到另一个场景的变换中会有动画效果,这些动画信息就保存在Transition对象中。要运行动画,我们要使用Trans原创 2017-03-30 00:02:50 · 2527 阅读 · 0 评论 -
自定义View 实现圆形seekbar (音量旋钮)
自定义圆形seekbar在做一个音频的项目,想在网上找一个圆形aseekbar,但是一直没找到合适的,只好自己动手写了,上网找了一个demo进行了大修改效果如下效果图废话不多说,直接上源码,不懂的可以留言attrs.xml<resources> <declare-styleable name="DutyView"> <attr name="viewType"> <enum nam原创 2017-03-30 09:26:04 · 4520 阅读 · 12 评论 -
Andorid 开发必备之轻松制作发布自己的依赖库。
一直以来我们都是使用别人的开源代码,但是真正的程序员应该把自己的优秀代码共享出来,我们封装的代码,封装的功能,自定义的View等等,制作成Library往往可以使得我们开发更加方便。这里以自定义的View作为例子第一步新建一个Andorid工程。然后新建一个model然后完成自定义View的编码(在本人github中有代码) 这里实现的是一个自定义的CheckBox,用作选择框的 第二步打开An原创 2017-04-11 00:52:39 · 1709 阅读 · 0 评论 -
Android开发必备之Picasso加载图片
Picasso ,Android 开发必备加载图片原创 2017-04-11 10:30:49 · 2864 阅读 · 1 评论 -
自定义material design 风格的Dialog
自定义dialog/*** 这是兼容的 AlertDialog ,最后又贴出源码,不过最好打打哈*/private void showDialog() { /* 这里使用了 android.support.v7.app.AlertDialog.Builder 可以直接在头部写 import android.support.v7.app.AlertDialog 那么下面就可以写原创 2016-12-02 09:41:31 · 1240 阅读 · 0 评论 -
Android 开发必看Gson解析json案例
如果你需要下载Gson(在Android studio中不需要下载加载添加即可)请到 http://download.csdn.net/detail/qq_30034925/9813069中下载,或者在本文末端连接的源码中有。 Gson作为谷歌的亲儿子使用的还是比较广泛,下面将会完成一个利用Gson解析json的案例,因为做为测试用的,所以不做Android studio例子,而是在Ecli原创 2017-04-13 21:53:18 · 2818 阅读 · 0 评论 -
Android 开发必备之json解析Gson篇
概述在了解gson前,你需要了解json。 什么是 JSON ?JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式JSON 独立于语言 *JSON 具有自我描述性,更易理解JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON库原创 2017-04-13 21:29:50 · 1801 阅读 · 0 评论 -
Android studio开发 java.lang.IllegalArgumentException: already added:解决
Android 开发中在as中到如lib的时候报出如下错误。Error:Uncaught translation error: java.lang.IllegalArgumentException: already added: Lorg/apache/xmlbeans/xml/stream/Location;Error:Uncaught translation error: java.lang.原创 2017-04-16 09:45:36 · 2901 阅读 · 0 评论 -
Android开发必备之运行时动态请求权限
从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。此方法可以简化应用安装过程,因为用户在安装或更新应用时不需要授予权限。它还让用户可以对应用的功能进行更多控制;例如,用户可以选择为相机应用提供相机访问权限,而不提供设备位置的访问权限。用户可以随时进入应用的“Settings”界面调用权限。 如果设备运行的是 Android 5.1(AP原创 2017-04-12 13:16:50 · 4092 阅读 · 0 评论 -
Android 性能优化之内存优化
看各大神的博客总结了一下。数据结构优化频繁的字符串怕拼接用StringBuilder ,也就是尽量不要使用String相加 ArrayMap ,SparseArray 替换HashMap内存抖动 再小的class也会消耗0.5k的内存,并不是一味的面向对象就好对象复用复用系统自带的资源ListView/GridView的congteverView复用避免在onDraw方法里面执行对象的原创 2017-05-26 16:00:45 · 252 阅读 · 0 评论 -
Android studio 生成带Kotlin文档简易教程
首先才项目的build.gradle 加入classpath ‘org.jetbrains.dokka:dokka-android-gradle-plugin:0.9.16’ (0.9.16是当前版本) dependencies { classpath 'org.jetbrains.dokka:dokka-android-gradle-plugin:0.9.15' ...原创 2018-03-05 14:04:23 · 3769 阅读 · 0 评论