
安卓
文章平均质量分 73
巨蟹座的爱情
这个作者很懒,什么都没留下…
展开
-
关于android报表的制作
这篇文章是公司的一个报表项目,要求制作统计图,折线图和柱形图,下文只是初级的模版package com.keyi.report;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import com.github.mikephil.charting.charts.Ba原创 2016-07-11 09:49:52 · 830 阅读 · 0 评论 -
Android组件之Content Provider
1.什么是ContentProvider?ContentProvider是安卓的四大组件之一,主要的作用就是和第三方应用共享数据,其他应用也可以通过ContentProvider对指定应用中的数据进行操作。ContentProvider分为系统的和自定义的,系统的如联系人和图片等数据。Google Doc中对ContentProvider的大致概述:内容提供者将一些特定的应用程转载 2016-11-01 14:19:47 · 216 阅读 · 0 评论 -
Android组件之BroadcastReceiver
1.什么是BroadcastReceiver?BroadcastReceiver是安卓的四大组件之一,它的功能是接收系统或应用发送的广播事件。例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度,等原创 2016-11-01 10:51:43 · 195 阅读 · 0 评论 -
安卓design的CoordinatorLayout+TabLayout隐藏Toolbar之踩过的坑
首先XML布局<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_c原创 2016-11-28 18:14:32 · 1725 阅读 · 0 评论 -
安卓屏幕适配学习
1.什么事屏幕适配尺寸、屏幕分辨率、屏幕像素密度?屏幕尺寸是指屏幕对角线的长度。单位是英寸,1英寸=2.54cm屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1像素点,一般是纵向像素横向像素,如1280×720;屏幕的分辨率是指屏幕没英寸的像素点数,单位是dpi,即“dot per inch”的缩写,像素密度和屏幕尺寸和屏幕分辨率有关。2.什么事dp、dip、转载 2016-10-31 16:58:56 · 374 阅读 · 0 评论 -
Android组件之Activity
1.什么是Activity?Activity是安卓的四大组件之一,用户可以用来交互完成某项任务,例如:打电话,照相,锁屏,发邮件等等。通过setContentView()方法设置布局。在我们常用的MVC模式中,Activity主要负责控制层(controller);2.Activity的生命周期?onCreat()-->onStart()-->onRestart-->onR原创 2016-10-31 11:36:41 · 253 阅读 · 0 评论 -
Devik进程、Linux进程和线程
Devik虚拟机是运行在Linux操作系统上的,Linux操作系统并没有纯粹的进程概念,只要两个进程共享一个地址空间,那么就可以认为他们是同一个进程的两个线程。Linux提供了两个fork和clone调用,其中,前者是用来创建进程的,而后者是用来创建线程的。 一般来说虚拟机的进程和线程都是和本地操作系统的进程和线程一一对应的,这样的好处是可以使本地操作系统来调度进程和线程。每原创 2016-11-10 10:50:26 · 1243 阅读 · 0 评论 -
安卓之ANR
ANR是什么?怎么样避免ANR? 安卓中,如果你的应用有一段时间响应不灵敏,系统会向用户显示一个对话框这个对话框称作应用程序无响应(Application not responding)对话框,用户可以选择让程序继续进行,但是,他们在使用你的程序时并不是每次都处理这个对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示ARN给用户。Activity 5 秒原创 2016-11-09 17:42:04 · 340 阅读 · 0 评论 -
安卓异常捕获
public class MyApplication extends Application implements Thread.UncaughtExceptionHandler { @Override public void onCreate() { super.onCreate(); Thread.setDefaultUncaughtExcept原创 2016-11-09 16:34:17 · 260 阅读 · 0 评论 -
安卓的事件分发机制
android中与事件相关的方法有:dispatchTouchEven、onInterceptTouchEvent、onTouchEvent。能够响应这些方法的控件包括:ViewGroup及其子类、Activity。从这张表里可以看出,在ViewGroup和Activity都能进行事件分发dispatchTouchEven,onInterceptTouchEvent只在ViewGrou原创 2016-11-04 17:57:57 · 315 阅读 · 0 评论 -
安卓之recycleview
首先recycleview的使用代码 RecyclerView mRecyclerView= (RecyclerView) view.findViewById(R.id.LV); mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICA原创 2016-11-29 11:33:05 · 441 阅读 · 0 评论 -
Android微信支付爬坑
原创 2016-11-16 ywl5320 前言:微信用户越来越庞大,微信支付已经慢慢成为人们购买东西时,不可缺少的一个环节。本文是由ywl5320授权本公众号独家发布,ywl5320的blog链接:http://blog.youkuaiyun.com/ywl5320/。话不多说,看正文最近在做支付模块,最常用的就是微信支付和支付宝支付,其中最坑的就是微信支付了!!各种问题,官转载 2016-11-22 11:20:00 · 340 阅读 · 0 评论 -
50个安卓开发者应该熟悉的Android Studio技巧和资源
视觉效果1. Android Logcat的Material颜色主题。要改变Android Studio的Logcat你需要这样做:进入Preferences (Windows上是Settings / Linux machines) → Editor → Colors & Fonts → Android Logcat,然后为每种类型的log设置前景颜色(fore转载 2016-11-22 10:59:46 · 1014 阅读 · 0 评论 -
安卓 组件Service知识理解
什么是service?答:service(服务)是一个没有用户界面的长时间的在后台运行应用组件。其他应用组件能够启动Service,并且当用户切换到另外的应用场景,service将持续在后台运行。另外,一个组件能够绑定到一个service与之交互(IPC机制),例如,一个service可能会处理网络操作,播放音乐,操作文件I/O或者与内容提供者(content provider)交互,所有原创 2016-10-29 10:58:24 · 357 阅读 · 0 评论 -
http、https、Tcp/Udp等协议
1.TCP/IP是一个协议组,分为网络层、传输层、应用层在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层有TCP协议和UDP协议在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议2.TCP是传输层协议,主要解决数据如何在网络中如何传输的,TCP是长连接,建立TCP传输有3次握手第一次握手:客户端发送syn包(syn=j)到服务器转载 2016-11-18 17:24:20 · 2736 阅读 · 0 评论 -
安卓之MVP模式
以前写程序都是MVC模式的,其实安卓自带的就是MVC模式,但现在觉得这种写法在后面随着项目越来越大,Activty或者Fragment中代码也会越来越多,导致项目的维护变的越来越复杂。所以需要另外一种架构模式来解决这个问题,发现适合Android开发的架构模式非MVP莫属了。1.什么是MVP模式MVP的M是指模型(model)、V是指视图(view)、P是指主持人(presenter),分原创 2016-11-18 15:18:49 · 1096 阅读 · 0 评论 -
Retrofit与RxJava的结合使用
前面我已经介绍过了RxJava的使用,现在我们来学习Retrofit的简单使用Retrofit是一个当前很流行的网络请求库, 官网的介绍是: "Type-safe HTTP client for Android and Java". 本文介绍Retrofit的使用.先介绍单独使用Retrofit进行网络请求, 后面主要介绍和RxJava结合的请求, 有实例代码.在使用Retrofi原创 2016-11-17 17:39:07 · 674 阅读 · 0 评论 -
安卓控件之ListView
1.如何提高listview的效率?当converview为空时,用setTag方法为每个View绑定一个存放控件的ViewHolder对象,当converview不为空时,重复利用已创建的View时,可以通过getTag方法快速找到ViewHolder,这样避免了对控件的层层查询。代码片段如下: if (convertView == null) { hol原创 2016-11-02 14:18:25 · 356 阅读 · 0 评论 -
安卓之SQLite知识
1.SQLite介绍SQLite是一款轻量级的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等,还有ODBC接口,同样比起转载 2016-11-01 16:52:01 · 370 阅读 · 0 评论 -
Android最佳实践之:StrictMode介绍
最新的Android平台中(Android 2.3起),新增加了一个新的类,叫StrictMode(android.os.StrictMode)。这个类可以用来帮助开发者改进他们编写的应用,并且提供了各种的策略,这些策略能随时检查和报告开发者开发应用中存在的问题,比如可以监视那些本不应该在主线程中完成的工作或者其他的一些不规范和不好的代码。 StrictMode有多种不同的策略,转载 2016-11-09 10:11:58 · 619 阅读 · 0 评论 -
安卓RxJava与Retrofit初级应用
RxJava 的适用场景和使用方式1. 与 Retrofit 的结合Retrofit 是 Square 的一个著名的网络请求库。没有用过 Retrofit 的可以选择跳过这一小节也没关系,我举的每种场景都只是个例子,而且例子之间并无前后关联,只是个抛砖引玉的作用,所以你跳过这里看别的场景也可以的。Retrofit 除了提供了传统的 Callback 形式的 API,转载 2016-11-08 15:11:31 · 328 阅读 · 0 评论 -
ANDROID应用性能调优的技术点
ANDROID应用性能调优的技术点作者:魔法使Kaede链接:https://zhuanlan.zhihu.com/p/20326073来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要点使用异步保持APP的高度响应,不要在UI线程做耗时操作,多使用异步任务使用线程时要做好线程控制;使用队列、线程池谨慎使用糟糕的转载 2016-07-20 11:42:34 · 306 阅读 · 0 评论 -
遍历listview里面全部(可见和不可见)item,从而获取item的信息最简单的方法
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); adapter = new MyAdapter(doneNumb原创 2016-07-16 10:15:28 · 9352 阅读 · 1 评论 -
android onSaveInstanceState的使用方法
package com.saveInstanceDemo.src;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.util.Log;public class saveInstanceDemo extends Activity {转载 2016-06-17 15:34:46 · 280 阅读 · 0 评论 -
OKhttp的封装工具类(可以直接使用)
package com.keyi.keyi_zxing.utils;import android.os.Handler;import android.os.Looper;import java.io.IOException;import java.util.Map;import java.util.concurrent.TimeUnit;import okhttp3.Call;import okh转载 2016-06-17 09:51:47 · 6563 阅读 · 3 评论 -
比SharedPrefereces更强大的缓存工具类
package com.keyi.keyi_zxing.utils;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Pixel转载 2016-06-17 10:36:06 · 405 阅读 · 0 评论 -
安卓APP判断是否是第一次打开
SharedPreferences setting = getSharedPreferences(“SHARE_APP_TAG”, 0); Boolean user_first = setting.getBoolean(“FIRST”, true); if(user_first){//第一次 setting.edit().putBoole转载 2016-06-16 18:30:55 · 643 阅读 · 0 评论 -
ListView里面嵌套spinner和editext
public class Adapter extends BaseAdapter { private ArrayList lines; private List data_list; private String[] checkListName; private List list; private Worker wo原创 2016-07-01 14:38:29 · 3260 阅读 · 1 评论 -
万能listview的adapter
package jay.com.listviewdemo4;import android.content.Context;import android.util.SparseArray;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import androi转载 2016-08-08 09:06:49 · 336 阅读 · 0 评论 -
安卓之Intent
1.Intent传递数据时能传递哪些类型的数据?Intent可以传递的数据类型非常丰富,JAVA的基本数据类型和String和他们的数组形式,还可以传递Serializable和Percalable的接口对象。2.Serializable和Percalable的区别?在使用内存的时候,Percalable比Serializable性能高,所以推荐使用Percalable原创 2016-11-03 10:44:26 · 260 阅读 · 0 评论 -
安卓RxJava第四弹之 应用场景
一.注册的时候所有输入信息(邮箱、密码、电话号码等)合法才点亮注册按钮。Observable _emailChangeObservable = RxTextView.textChanges(_email).skip(1);Observable _passwordChangeObservable = RxTextView.textChanges(_password).skip(1);Ob转载 2016-11-08 15:09:26 · 272 阅读 · 0 评论 -
安卓RxJava学习第一弹
RxJava 到底是什么一个词:异步。RxJava 在 GitHub 主页上的自我介绍是 "a library for composing asynchronous and event-based programs using observable sequences for the Java VM"(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。这就是 R转载 2016-11-07 17:56:30 · 680 阅读 · 0 评论 -
安卓RxJava第二弹之 操作符
1.map用来把一个事件转换为另一个事件。map()操作符就是用于变换Observable对象的,相当于operator,map操作符返回一个Observable对象,这样就可以实现链式调用,在一个Observable对象上多次使用map操作符,最终将最简洁的数据传递给Subscriber对象。特性有两点:它不必返回Observable对象返回的类型,你可以使用map操作符返回一个原创 2016-11-08 10:39:39 · 256 阅读 · 0 评论 -
在安卓工程使用JDK8
在build.gradle中buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'me.tatarka:gradle-retrolambda:3.原创 2016-11-07 17:21:45 · 1169 阅读 · 0 评论 -
安卓开发不得不收集的工具类
只需依赖 compile ‘com.blankj:utilcode:1.2.1’App相关→AppUtils.java获取安装App(支持6.0)的意图 getInstallAppIntent 获取卸载App的意图 getUninstallAppIntent 获取打开App的意图 getOpenAppItent 获取App信息的意图 getAppInfoIntent 获取App信息分享的意转载 2016-09-30 14:03:29 · 366 阅读 · 0 评论 -
安卓的内存泄漏问题总结
安卓的虚拟机是基于寄存器的Dalvik虚拟机,它的最大堆内存大小为16M,有的机器为24M,因此我们利用的内存空间是有限的。如果我们的内存占用超过一定的水平就会出现outofmemory的错误。内存溢出的情况有如下几点:1.释放资源问题 程序代码的问题,如果长期持有Context、Cursor、IO流的引用,资源得不到释放造成内存泄漏2.内存对象过大的问题保存多个耗用原创 2016-11-05 11:20:06 · 368 阅读 · 0 评论 -
安卓之fragment
1.Fragment和Activity之间是如何传值的?当Fragment和Activity绑定好后,在Fragment中可以直接通过getActivity()方法获取到其绑定的Activity对象,这样就可以调用Activity方法了,在Activity中通过如下获取Fragment实例: FragmentManager fragmentManager=getFragmentMana原创 2016-11-03 15:52:49 · 402 阅读 · 0 评论 -
JAVA虚拟机知识整合
Java虚拟机Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。下面我们就来看一下这几部分比较重要的java虚拟机的结构JVM寄存器所有的CPU均包含用于保存系统状态和处理器所需信息的寄存器组。转载 2016-11-03 14:39:48 · 193 阅读 · 0 评论 -
NDK学习第一弹
什么是 Android NDK? Android NDK(Native Development Kit )是一套工具集合,允许你用像C/C++语言那样实现应用程序的一部分。同时,Android NDK对于Android SDK只是个组件,它可以帮我们生成的JNI兼容的共享库可以在大于Android1.5平台的ARM CPU上运行,将生成的共享库拷贝到合适的程序工程路径的位置上,以保证转载 2016-11-24 11:49:15 · 376 阅读 · 0 评论